#calendarで、FrontPageで次の月へ行けない。get_pkwk_params()のバグ paraedit

  • ページ: Develop/BugTrack1
  • 投稿者: ぃぉぃぉ
  • 優先順位: 普通
  • 状態: 完了
  • カテゴリー: 本体バグ
  • 投稿日: 2008-05-27 (火) 17:25:18
  • バージョン: 0.0.8->0.0.11->0.0.13

メッセージ paraedit

pageを省略した場合に、get_pkwk_paramsでページ情報が失われる。

対策 paraedit

lib/func.php

 function get_pkwk_params()
 {
 	global $vars;
 	static $params;
 
 	if(isset($params)) {
 		return $params;
 	}
 
 	foreach($vars as $key => $value) {
 		$params[$key] = $value;
 	}
 	unset($params['plugin']);	// unite to 'cmd'
 	if($params['cmd'] === DEFAULT_CMD) {
 		unset($params['cmd']);
 		if(isset($params['page'])) {
 			unset($params['page']);
 		}
+ 		if(isset($vars['page']) && !isset($params[$vars['page']])) {
+ 			array_unshift($params, array($vars['page'] => ''));
+ 		}
 	}
 	return $params;
 }

  • 上記対策だと駄目な場合がある。なんでだろ。再度修正。 -- 2008-12-11 (木) 18:32:46
     function get_pkwk_params()
     {
     	global $vars;
     	static $params;
     
     	if(isset($params)) {
     		return $params;
     	}
     
     	foreach($vars as $key => $value) {
     		$params[$key] = $value;
     	}
     	unset($params['plugin']);	// unite to 'cmd'
     	if($params['cmd'] === DEFAULT_CMD) {
     		unset($params['cmd']);
     		if(isset($params['page'])) {
     			unset($params['page']);
     		}
    + 		if(isset($vars['page']) && !isset($params[$vars['page']])) {
    + 			array_unshift($params, $vars['page']));
    + 		}
     	}
     	return $params;
     }

  • 更に修正(2009-02-24) (->Ver. 0.0.13)
    • Develop/Modification1/30の対応必要。
      function get_pkwk_params()
      {
      	global $vars;
      	static $params;
       
      	if(isset($params)) {
      		return $params;
      	}
       
      	foreach($vars as $key => $value) {
      		$params[$key] = $value;
      	}
      	unset($params['plugin']);	// unite to 'cmd'
      	if($params['cmd'] === DEFAULT_CMD) {
      		unset($params['cmd']);
      		if(isset($params['page'])) {
      			unset($params['page']);
      		}
      +		/* check page related variables. */
      +		if(isset($vars['currentpage'])) {
      +			$page = $vars['currentpage'];
      +		} else if(isset($vars['page'])) {
      +			$page = $vars['page'];
      +		}
      +		/* in case the page is '' ($defaultpage is going to be shown) */
      - 		if(isset($vars['page']) && !isset($params[$vars['page']])) {
      - 			array_unshift($params, $vars['page']));
      + 		if(isset($page) && !isset($params[$page])) {
      + 			array_unshift($params, $page);
       		}
      	}
      	return $params;
      }


トップ 編集凍結差分バックアップ添付複製名前変更リロード 新規一覧 単語検索 最終更新  ヘルプ  最終更新のRSS
Last-modified: 2009-02-27 (金) 07:36:13 (3886d)