plugin/search.inc.phpで、デフォルトの検索対象をbaseではなく全ページに。paraedit

  • ページ: Develop/Modification1
  • 投稿者: ぃぉぃぉ
  • 優先順位: 低
  • 状態: 完了
  • カテゴリー: プラグイン
  • 投稿日: 2010-05-06 (木) 00:08:21
  • バージョン: 0.0.16

メッセージparaedit

plugin/search.inc.phpで、デフォルトの検索対象をbaseではなく全ページにする。検索後の表示では、検索前に選択されたものに。

複数のbasepageがある場合どうなるか未確認。

@@ -31,6 +31,7 @@
 {
 	global $post, $vars, $_title_result, $_title_search, $_msg_searching;
 
+	$fromall = FALSE;
 	if (PLUGIN_SEARCH_DISABLE_GET_ACCESS) {
 		$s_word = isset($post['word']) ? htmlspecialchars($post['word']) : '';
 	} else {
@@ -55,16 +56,17 @@
 		unset($vars['word']); // Stop using $_msg_word at lib/html.php
 		$msg  = $_title_search;
 		$body = '<br />' . "\n" . $_msg_searching . "\n";
+		$fromall = TRUE;
 	}
 
 	// Show search form
 	$bases = ($base === '') ? array() : array($base);
-	$body .= plugin_search_search_form($s_word, $type, $bases);
+	$body .= plugin_search_search_form($s_word, $type, $bases, $fromall);
 
 	return array('msg'=>$msg, 'body'=>$body);
 }
 
-function plugin_search_search_form($s_word = '', $type = '', $bases = array())
+function plugin_search_search_form($s_word = '', $type = '', $bases = array(), $fromall = FALSE)
 {
 	global $_btn_and, $_btn_or, $_btn_search;
 	global $_search_pages, $_search_all;
@@ -80,7 +82,6 @@
 
 	$base_option = '';
 	$base = '';
-	$check = ' checked="checked"';
 	$base_msg = '';
 	$s_base = htmlspecialchars(array_shift($bases));
 	$base_label = str_replace('$1', '', $_search_pages);
@@ -89,6 +90,13 @@
 		$size = 20;
 	}
 	// set basepage as default search base.
+	if(!empty($s_base) & (!$fromall)) {
+		$check = ' checked="checked"';
+		$checkfromall = '';
+	} else {
+		$check = '';
+		$checkfromall = ' checked="checked"';
+	}
 	$base_msg .=<<<EOD
  <div>
   <input type="radio" name="base" id="_p_search_base_id_text" value="_basetext_" $check />
@@ -97,9 +105,6 @@
  </div>
 EOD;
 	// clear radiobutton checked message if checked.
-	if(!empty($s_base)) {
-		$check = '';
-	}
 
 	// show basepages if there are.
 	$_num = 0;
@@ -112,16 +117,15 @@
 		$base_label = str_replace('$1', $base_str, $_search_pages);
 		$base_msg  .=<<<EOD
  <div>
-  <input type="radio" name="base" id="$label_id" value="$s_base" $check />
+  <input type="radio" name="base" id="$label_id" value="$s_base" />
   <label for="$label_id">$base_label</label>
  </div>
 EOD;
-		$check = '';
 	}
 
 	//show search from all message
 	$base_msg .=<<<EOD
-  <input type="radio" name="base" id="_p_search_base_id_all" value="" $check />
+  <input type="radio" name="base" id="_p_search_base_id_all" value="" $checkfromall />
   <label for="_p_search_base_id_all">$_search_all</label>
 EOD;
 	$base_option = '<div class="small">' . $base_msg . '</div>';



トップ 編集凍結差分バックアップ添付複製名前変更リロード 新規一覧 単語検索 最終更新  ヘルプ  最終更新のRSS
Last-modified: 2010-06-28 (月) 20:51:02 (3454d)