[ Index ]
 

Code source de e107 0.7.8

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/ -> search.php (source)

   1  <?php
   2  /*
   3  + ----------------------------------------------------------------------------+
   4  |     e107 website system
   5  |
   6  |     ©Steve Dunstan 2001-2002
   7  |     http://e107.org
   8  |     jalist@e107.org
   9  |
  10  |     Released under the terms and conditions of the
  11  |     GNU General Public License (http://gnu.org).
  12  |
  13  |     $Source: /cvsroot/e107/e107_0.7/search.php,v $
  14  |     $Revision: 1.56 $
  15  |     $Date: 2007/02/04 18:58:44 $
  16  |     $Author: e107steved $
  17  +----------------------------------------------------------------------------+
  18  */
  19  
  20  require_once ('class2.php');
  21  
  22  if (!check_class($pref['search_restrict'])) {
  23      require_once(HEADERF);
  24      $ns -> tablerender(LAN_SEARCH_20, "<div style='text-align: center'>".LAN_SEARCH_21."</div>");
  25      require_once(FOOTERF);
  26      exit;
  27  }
  28  
  29  if($_GET['t'] == '0'){$_GET['t'] = 'news';}
  30  if($_GET['t'] == 1){$_GET['t'] = 'comments';}
  31  if($_GET['t'] == 2){$_GET['t'] = 'users';}
  32  if($_GET['t'] == 3){$_GET['t'] = 'downloads';}
  33  if($_GET['t'] == 4){$_GET['t'] = 'pages';}
  34  
  35  $search_prefs = $sysprefs -> getArray('search_prefs');
  36  
  37  // load search routines
  38  $search_info = array();
  39  $auto_order = 1000;
  40  function search_info($id, $type, $plug_require, $info='') {
  41      global $tp, $search_prefs, $auto_order;
  42      if (check_class($search_prefs[$type.'_handlers'][$id]['class'])) {
  43          if ($plug_require) {
  44              require_once($plug_require);
  45              $ret = $search_info[0];
  46          } else {
  47              $ret = $info;
  48          }
  49          $ret['chars'] = $search_prefs[$type.'_handlers'][$id]['chars'];
  50          $ret['results'] = $search_prefs[$type.'_handlers'][$id]['results'];
  51          $ret['pre_title'] = $search_prefs[$type.'_handlers'][$id]['pre_title'];
  52          $ret['pre_title_alt'] = $tp -> toHtml($search_prefs[$type.'_handlers'][$id]['pre_title_alt']);
  53          $ret['order'] = (isset($search_prefs[$type.'_handlers'][$id]['order']) && $search_prefs[$type.'_handlers'][$id]['order']) ? $search_prefs[$type.'_handlers'][$id]['order'] : $auto_order;
  54          $auto_order++;
  55          return $ret;
  56      } else {
  57          return false;
  58      }
  59  }
  60  
  61  //core search routines
  62  
  63  if ($search_info['news'] = search_info('news', 'core', false, array('sfile' => e_HANDLER.'search/search_news.php', 'qtype' => LAN_98, 'refpage' => 'news.php', 'advanced' => e_HANDLER.'search/advanced_news.php', 'id' => 'news'))) {
  64     //    $search_id++;
  65  } else {
  66      unset($search_info['news']);
  67  }
  68  
  69  if ($search_info['comments'] = search_info('comments', 'core', false, array('sfile' => e_HANDLER.'search/search_comment.php', 'qtype' => LAN_99, 'refpage' => 'comment.php', 'advanced' => e_HANDLER.'search/advanced_comment.php', 'id' => 'comment'))) {
  70     //    $search_id++;
  71  } else {
  72      unset($search_info['comments']);
  73  }
  74  
  75  if ($search_info['users'] = search_info('users', 'core', false, array('sfile' => e_HANDLER.'search/search_user.php', 'qtype' => LAN_140, 'refpage' => 'user.php', 'advanced' => e_HANDLER.'search/advanced_user.php', 'id' => 'user'))) {
  76      //    $search_id++;
  77  } else {
  78      unset($search_info['users']);
  79  }
  80  
  81  if ($search_info['downloads'] = search_info('downloads', 'core', false, array('sfile' => e_HANDLER.'search/search_download.php', 'qtype' => LAN_197, 'refpage' => 'download.php', 'advanced' => e_HANDLER.'search/advanced_download.php', 'id' => 'download'))) {
  82      //    $search_id++;
  83  } else {
  84      unset($search_info['downloads']);
  85  }
  86  
  87  if ($search_info['pages'] = search_info('pages', 'core', false, array('sfile' => e_HANDLER.'search/search_pages.php', 'qtype' => LAN_418, 'refpage' => 'page.php', 'advanced' => e_HANDLER.'search/advanced_pages.php', 'id' => 'pages'))) {
  88     //    $search_id++;
  89  } else {
  90      unset($search_info['pages']);
  91  }
  92  
  93  //plugin search routines    // plugin folder is used as the search key. ie. $_GET['t'] = 'chatbox';
  94  foreach ($search_prefs['plug_handlers'] as $plug_dir => $active) {
  95      if (is_readable(e_PLUGIN.$plug_dir."/e_search.php")) {
  96          if ($search_info[$plug_dir] = search_info($plug_dir, 'plug', e_PLUGIN.$plug_dir."/e_search.php")) {
  97            //    $search_id++;
  98          } else {
  99              unset($search_info[$plug_dir]);
 100          }
 101      }
 102  }
 103  
 104  
 105  // order search routines
 106  function array_sort($array, $column, $order = SORT_DESC) {
 107      $i = 0;
 108      foreach($array as $info) {
 109          $sortarr[] = $info[$column];
 110          $i++;
 111      }
 112       array_multisort($sortarr, $order, $array, $order);
 113      return($array);
 114  }
 115  
 116   $search_info = array_sort($search_info, 'order', SORT_ASC);
 117  
 118  // validate search query
 119  $perform_search = true;
 120  
 121  function magic_search($data) {
 122      foreach ($data as $key => $value) {
 123          if (is_array($value)) {
 124              $data[$key] = magic_search($value);
 125          } else {
 126              $data[$key] = stripslashes($value);
 127          }
 128      }
 129      return $data;
 130  }
 131  
 132  if (!e_QUERY) {
 133      $enhanced = true;
 134  }
 135  
 136  if (isset($_GET['q']) || isset($_GET['in']) || isset($_GET['ex']) || isset($_GET['ep']) || isset($_GET['beg'])) {
 137      if (MAGIC_QUOTES_GPC == true) {
 138          $_GET = magic_search($_GET);
 139      }
 140      $full_query = $_GET['q'];
 141      if ($_GET['in']) {
 142          $en_in = explode(' ', $_GET['in']);
 143          foreach ($en_in as $en_in_key) {
 144              $full_query .= " +".$en_in_key;
 145          }
 146          $enhanced = true;
 147      }
 148      if ($_GET['ex']) {
 149          $en_ex = explode(' ', $_GET['ex']);
 150          foreach ($en_ex as $en_ex_key) {
 151              $full_query .= " -".$en_ex_key;
 152          }
 153          $enhanced = true;
 154      }
 155      if ($_GET['ep']) {
 156          $full_query .= " \"".$_GET['ep']."\"";
 157          $enhanced = true;
 158      }
 159      if ($_GET['be']) {
 160          $en_be = explode(' ', $_GET['be']);
 161          foreach ($en_be as $en_be_key) {
 162              $full_query .= " ".$en_be_key."*";
 163          }
 164          $enhanced = true;
 165      }
 166  
 167      if (isset($_GET['r']) && !is_numeric($_GET['r'])) {
 168          $perform_search = false;
 169          $SEARCH_MESSAGE = LAN_201;
 170          $result_flag = 0;
 171      } else if (strlen($full_query) == 0) {
 172          $perform_search = false;
 173          $SEARCH_MESSAGE = LAN_201;
 174      } else if (strlen($full_query) < 3) {
 175          $perform_search = false;
 176          $SEARCH_MESSAGE = LAN_417;
 177      } else if ($search_prefs['time_restrict']) {
 178          $time = time() - $search_prefs['time_secs'];
 179          $query_check = $tp -> toDB($full_query);
 180          $ip = getip();
 181          if ($sql -> db_Select("tmp", "tmp_ip, tmp_time, tmp_info", "tmp_info LIKE 'type_search%' AND tmp_ip='".$ip."'")) {
 182              $row = $sql -> db_Fetch();
 183              if (($row['tmp_time'] > $time) && ($row['tmp_info'] != 'type_search '.$query_check)) {
 184                  $perform_search = false;
 185                  $SEARCH_MESSAGE = LAN_SEARCH_17.$search_prefs['time_secs'].LAN_SEARCH_18;
 186              } else {
 187                  $sql -> db_Update("tmp", "tmp_time='".time()."', tmp_info='type_search ".$query_check."' WHERE tmp_info LIKE 'type_search%' AND tmp_ip='".$ip."'");
 188              }
 189          } else {
 190              $sql -> db_Insert("tmp", "'".$ip."', '".time()."', 'type_search ".$query_check."'");
 191          }
 192      }
 193      if ($perform_search) {
 194          $result_flag = $_GET['r'];
 195      }
 196      $query = trim($full_query);
 197  }
 198  
 199  // forward user if searching in google
 200  $search_count = count($search_info);
 201  $google_id = $search_count + 1;
 202  if ($perform_search)
 203  {
 204    if ($search_prefs['selector'] == 1) 
 205    {  // Care needed - with alpha strings on search of single area $_GET['t'][$google_id] returns a character on page > 1
 206      if (isset($_GET['t'][$google_id]) && ($_GET['t']==$google_id) && $_GET['t'][$google_id]) 
 207      {
 208  //    echo "We think google should be used using checkboxes<br />";
 209          header("location:http://www.google.com/search?q=".stripslashes(str_replace(" ", "+", $query)));
 210          exit;
 211      }
 212    } 
 213    else 
 214    { 
 215      if (isset($_GET['t']) && $_GET['t'] == $google_id) 
 216      {
 217          header("location:http://www.google.com/search?q=".stripslashes(str_replace(" ", "+", $query)));
 218          exit;
 219      }
 220    }
 221  }
 222  
 223  // determine areas being searched
 224  if (!$search_prefs['user_select'] && $_GET['r'] < 1) {
 225      foreach($search_info as $key => $value) {
 226          $searchtype[$key] = true;
 227      }
 228  } else {
 229      if (isset($_GET['t'])) {
 230          if (is_array($_GET['t'])) {
 231              $searchtype = $_GET['t'];
 232          } else {
 233              $searchtype[$_GET['t']] = true;
 234          }
 235      } else {
 236          if (isset($_GET['ref'])) {
 237              foreach($search_info as $key => $value) {
 238                  if ($value['id'] == $_GET['ref']) {
 239                      $searchtype[$key] = true;
 240                      $_GET['t'] = $key;
 241                  }
 242              }
 243          } else if (e_QUERY) {
 244              if (isset($_SERVER['HTTP_REFERER'])) {
 245                  if (!$refpage = substr($_SERVER['HTTP_REFERER'], (strrpos($_SERVER['HTTP_REFERER'], "/")+1))) {
 246                      $refpage = "index.php";
 247                  }
 248              } else {
 249                  $refpage = "";
 250              }
 251  
 252              foreach($search_info as $key => $value) {
 253                  if ($value['refpage']) {
 254                      if (strpos($refpage, $value['refpage']) !== FALSE) {
 255                          $searchtype[$key] = true;
 256                          $_GET['t'] = $key;
 257                      }
 258                  }
 259              }
 260          }
 261  
 262          if (!isset($searchtype) && isset($query)) {
 263              if ($search_prefs['multisearch']) {
 264                  $searchtype['all'] = true;
 265              } else {
 266                  $searchtype[0] = true;
 267              }
 268          }
 269      }
 270  }
 271  
 272  // standard search config
 273  if ($search_prefs['selector'] == 2) {
 274      $SEARCH_DROPDOWN = "<select name='t' id='t' class='tbox' onchange=\"ab()\">";
 275      if ($search_prefs['multisearch']) {
 276          $SEARCH_DROPDOWN .= "<option value='all'>".LAN_SEARCH_22."</option>";
 277      }
 278  } else {
 279      $SEARCH_MAIN_CHECKBOXES = '';
 280  }
 281  
 282  foreach($search_info as $key => $value) {
 283      if ($search_prefs['selector'] == 2) {
 284          $sel = (isset($searchtype[$key]) && $searchtype[$key]) ? " selected='selected'" : "";
 285      } else {
 286          $sel = (isset($searchtype[$key]) && $searchtype[$key]) ? " checked='checked'" : "";
 287      }
 288      $google_js = check_class($search_prefs['google']) ? "onclick=\"uncheckG();\" " : "";
 289      if ($search_prefs['selector'] == 2) {
 290          $SEARCH_DROPDOWN .= "<option value='".$key."' ".$sel.">".$value['qtype']."</option>";
 291      } else if ($search_prefs['selector'] == 1) {
 292          $SEARCH_MAIN_CHECKBOXES .= $PRE_CHECKBOXES."<input ".$google_js." type='checkbox' name='t[".$key."]' ".$sel." />".$value['qtype'].$POST_CHECKBOXES;
 293      } else {
 294          $SEARCH_MAIN_CHECKBOXES .= $PRE_CHECKBOXES."<input type='radio' name='t' value='".$key."' ".$sel." />".$value['qtype'].$POST_CHECKBOXES;
 295      }
 296  }
 297  
 298  if (check_class($search_prefs['google'])) {
 299      if ($search_prefs['selector'] == 2) {
 300          $SEARCH_DROPDOWN .= "<option value='".$google_id."'>Google</option>";
 301      } else if ($search_prefs['selector'] == 1) {
 302          $SEARCH_MAIN_CHECKBOXES .= $PRE_CHECKBOXES."<input id='google' type='checkbox' name='t[".$google_id."]' onclick='uncheckAll(this)' />Google".$POST_CHECKBOXES;
 303      } else {
 304          $SEARCH_MAIN_CHECKBOXES .= $PRE_CHECKBOXES."<input id='google' type='radio' name='t' value='".$google_id."' />Google".$POST_CHECKBOXES;
 305      }
 306  }
 307  
 308  if ($search_prefs['selector'] == 2) {
 309      $SEARCH_DROPDOWN .= "</select>";
 310  }
 311  
 312  $value = isset($_GET['q']) ? $tp -> post_toForm($_GET['q']) : "";
 313  $SEARCH_MAIN_SEARCHFIELD = "<input class='tbox m_search' type='text' id='q' name='q' size='35' value='".$value."' maxlength='50' />";
 314  if ($search_prefs['selector'] == 1) {
 315      $SEARCH_MAIN_CHECKALL = "<input class='button' type='button' name='CheckAll' value='".LAN_SEARCH_1."' onclick='checkAll(this);' />";
 316      $SEARCH_MAIN_UNCHECKALL = "<input class='button' type='button' name='UnCheckAll' value='".LAN_SEARCH_2."' onclick='uncheckAll(this); uncheckG();' />";
 317  }
 318  
 319  $SEARCH_MAIN_SUBMIT = "<input type='hidden' name='r' value='0' /><input class='button' type='submit' name='s' value='".LAN_180."' />";
 320  
 321  $ENHANCED_ICON = "<img src='".e_IMAGE."generic/".IMODE."/search_enhanced.png' style='width: 16px; height: 16px; vertical-align: top'
 322  alt='".LAN_SEARCH_23."' title='".LAN_SEARCH_23."' onclick=\"expandit('en_in'); expandit('en_ex'); expandit('en_ep'); expandit('en_be')\"/>";
 323  
 324  $enhanced_types['in'] = LAN_SEARCH_24.':';
 325  $enhanced_types['ex'] = LAN_SEARCH_25.':';
 326  $enhanced_types['ep'] = LAN_SEARCH_26.':';
 327  $enhanced_types['be'] = LAN_SEARCH_27.':';
 328  
 329  $ENHANCED_DISPLAY = $enhanced ? "" : "style='display: none'";
 330  
 331  // advanced search config
 332  if (!$_GET['adv'] || $_GET['t'] == 'all') {
 333      foreach ($_GET as $gk => $gv) {
 334          if ($gk != 't' && $gk != 'q' && $gk != 'r' && $gk != 'in' && $gk != 'ex' && $gk != 'ep' && $gk != 'be' && $gk != 'adv') {
 335              unset($_GET[$gk]);
 336          }
 337      }
 338  }
 339  
 340  $SEARCH_TYPE_SEL = "<input type='radio' name='adv' value='0' ".($_GET['adv'] ? "" : "checked='checked'")." /> ".LAN_SEARCH_29."&nbsp;
 341  <input type='radio' name='adv' value='1' ".($_GET['adv'] ? "checked='checked'" : "" )." /> ".LAN_SEARCH_30;
 342  
 343  foreach ($search_info as $key => $value) {
 344      if (!isset($search_info[$key]['advanced'])) {
 345          $js_adv .= " && abid != ".$key;
 346      }
 347  }
 348  
 349  if (isset($search_info[$_GET['t']]['advanced'])) {
 350      $SEARCH_TYPE_DISPLAY = "";
 351  } else {
 352      $SEARCH_TYPE_DISPLAY = "style='display: none'";
 353  }
 354  
 355  if (check_class($search_prefs['google'])) {
 356      $js_adv .= " && abid != ".$google_id;
 357  }
 358  
 359  if ($perform_search) {
 360      $con = new convert;
 361      e107_require(e_HANDLER.'search_class.php');
 362      $sch = new e_search;
 363  
 364      // omitted words message
 365      $stop_count = count($sch -> stop_keys);
 366      if ($stop_count) {
 367          if ($stop_count > 1) {
 368              $SEARCH_MESSAGE = LAN_SEARCH_32.": ";
 369          } else {
 370              $SEARCH_MESSAGE = LAN_SEARCH_33.": ";
 371          }
 372          $i = 1;
 373          foreach ($sch -> stop_keys as $stop_key) {
 374              $SEARCH_MESSAGE .= $stop_key;
 375              if ($i != $stop_count) {
 376                  $SEARCH_MESSAGE .= ', ';
 377              }
 378              $i++;
 379          }
 380      }
 381  }
 382  
 383  require_once(HEADERF);
 384  
 385  // render search config
 386  
 387  if (!isset($SEARCH_TOP_TABLE)) {
 388      if (file_exists(THEME."search_template.php")) {
 389          require(THEME."search_template.php");
 390      } else {
 391          require(e_BASE.$THEMES_DIRECTORY."templates/search_template.php");
 392      }
 393  }
 394  
 395  $text = preg_replace("/\{(.*?)\}/e", '$\1', $SEARCH_TOP_TABLE);
 396  foreach ($enhanced_types as $en_id => $ENHANCED_TEXT) {
 397      $ENHANCED_DISPLAY_ID = "en_".$en_id;
 398      $ENHANCED_FIELD = "<input class='tbox' type='text' id='".$en_id."' name='".$en_id."' size='35' value='".$tp->post_toForm($_GET[$en_id])."' maxlength='50' />";
 399      $text .= preg_replace("/\{(.*?)\}/e", '$\1', $SEARCH_ENHANCED);
 400  }
 401  if ($search_prefs['user_select']) {
 402      $text .= preg_replace("/\{(.*?)\}/e", '$\1', $SEARCH_CATS);
 403  }
 404  
 405  $text .= preg_replace("/\{(.*?)\}/e", '$\1', $SEARCH_TYPE);
 406  
 407  if ($_GET['adv']) {
 408      if (isset($search_info[$_GET['t']]['advanced'])) {
 409          @require_once($search_info[$_GET['t']]['advanced']);
 410          foreach ($advanced as $adv_key => $adv_value) {
 411              if ($adv_value['type'] == 'single') {
 412                  $SEARCH_ADV_TEXT = $adv_value['text'];
 413                  $text .= preg_replace("/\{(.*?)\}/e", '$\1', $SEARCH_ADV_COMBO);
 414              } else {
 415                  if ($adv_value['type'] == 'dropdown') {
 416                      $SEARCH_ADV_A = $adv_value['text'];
 417                      $SEARCH_ADV_B = "<select name='".$adv_key."' class='tbox'>";
 418                      foreach ($adv_value['list'] as $list_item) {
 419                          $SEARCH_ADV_B .= "<option value='".$list_item['id']."' ".($_GET[$adv_key] == $list_item['id'] ? "selected='selected'" : "").">".$list_item['title']."</option>";
 420                      }
 421                      $SEARCH_ADV_B .= "</select>";
 422                  } else if ($adv_value['type'] == 'date') {
 423                      $SEARCH_ADV_A = $adv_value['text'];
 424                      $SEARCH_ADV_B = "<select id='on' name='on' class='tbox'>
 425                      <option value='new' ".($_GET['on'] == 'new' ? "selected='selected'" : "").">".LAN_SEARCH_34."</option>
 426                      <option value='old' ".($_GET['on'] == 'old' ? "selected='selected'" : "").">".LAN_SEARCH_35."</option>
 427                      </select>&nbsp;<select id='time' name='time' class='tbox'>";
 428                      $time = array(LAN_SEARCH_36 => 'any', LAN_SEARCH_37 => 86400, LAN_SEARCH_38 => 172800, LAN_SEARCH_39 => 259200, LAN_SEARCH_40 => 604800, LAN_SEARCH_41 => 1209600, LAN_SEARCH_42 => 1814400, LAN_SEARCH_43 => 2628000, LAN_SEARCH_44 => 5256000, LAN_SEARCH_45 => 7884000, LAN_SEARCH_46 => 15768000, LAN_SEARCH_47 => 31536000, LAN_SEARCH_48 => 63072000, LAN_SEARCH_49 => 94608000);
 429                      foreach ($time as $time_title => $time_secs) {
 430                          $SEARCH_ADV_B .= "<option value='".$time_secs."' ".($_GET['time'] == $time_secs ? "selected='selected'" : "").">".$time_title."</option>";
 431                      }
 432                      $SEARCH_ADV_B .= "</select>";
 433                  } else if ($adv_value['type'] == 'author') {
 434                      require_once(e_HANDLER.'user_select_class.php');
 435                      $us = new user_select;
 436                      $SEARCH_ADV_A = $adv_value['text'];
 437                      $SEARCH_ADV_B = $us -> select_form('popup', $adv_key, $_GET[$adv_key]);
 438                  } else if ($adv_value['type'] == 'dual') {
 439                      $SEARCH_ADV_A = $adv_value['adv_a'];
 440                      $SEARCH_ADV_B = $adv_value['adv_b'];
 441                  }
 442                  $text .= preg_replace("/\{(.*?)\}/e", '$\1', $SEARCH_ADV);
 443              }
 444          }
 445      } else {
 446          $_GET['adv'] = 0;
 447      }
 448  }
 449  
 450  $text .= $SEARCH_MESSAGE ? preg_replace("/\{(.*?)\}/e", '$\1', $SEARCH_TABLE_MSG) : "";
 451  $text .= preg_replace("/\{(.*?)\}/e", '$\1', $SEARCH_BOT_TABLE);
 452  
 453  $ns -> tablerender(PAGE_NAME." ".SITENAME, $text);
 454  
 455  // parse search
 456  if ($perform_search) {
 457      foreach ($search_info as $key => $a) {
 458          if (isset($searchtype[$key]) || isset($searchtype['all'])) {
 459              unset($text);
 460              if (file_exists($search_info[$key]['sfile'])) {
 461                  $pre_title = ($search_info[$key]['pre_title'] == 2) ? $search_info[$key]['pre_title_alt'] : $search_info[$key]['pre_title'];
 462                  $search_chars = $search_info[$key]['chars'];
 463                  $search_res = $search_info[$key]['results'];
 464                  @require_once($search_info[$key]['sfile']);
 465                  $parms = $results.",".$search_res.",".$_GET['r'].",".e_SELF."?q=".$_GET['q']."&t=".$key."&r=[FROM]";
 466                  $core_parms = array('r' => '', 'q' => '', 't' => '', 's' => '');
 467                  foreach ($_GET as $pparm_key => $pparm_value) {
 468                      if (!isset($core_parms[$pparm_key])) {
 469                          $parms .= "&".$pparm_key."=".$_GET[$pparm_key];
 470                      }
 471                  }
 472                  if ($results > $search_res) {
 473                      $nextprev = ($results > $search_res) ? $tp -> parseTemplate("{NEXTPREV={$parms}}") : "";
 474                      $text .= "<div class='nextprev' style='text-align: center'>".$nextprev."</div>";
 475                  }
 476                  if ($results > 0) {
 477                      $res_from = $_GET['r'] + 1;
 478                      $res_to = ($_GET['r'] + $search_res) > $results ? $results : ($_GET['r'] + $search_res);
 479                      $res_display = $res_from." - ".$res_to." ".LAN_SEARCH_12." ".$results;
 480                  } else {
 481                      $res_display = "";
 482                  }
 483                  $ns->tablerender(LAN_SEARCH_11." ".$res_display." ".LAN_SEARCH_13." ".(isset($_GET[$advanced_caption['id']]) ? $advanced_caption['title'][$_GET[$advanced_caption['id']]] : $search_info[$key]['qtype']), $text);
 484              }
 485          }
 486      }
 487  }
 488  
 489  // old 6xx search parser for reverse compatability
 490  function parsesearch($text, $match) {
 491      $text = strip_tags($text);
 492      $temp = stristr($text, $match);
 493      $pos = strlen($text) - strlen($temp);
 494      $matchedText = substr($text,$pos,strlen($match));
 495      if ($pos < 70) {
 496          $text = "...".substr($text, 0, 100)."...";
 497      } else {
 498          $text = "...".substr($text, ($pos-50), $pos+30)."...";
 499      }
 500      $text = preg_replace("/".$match."/i", "<span class='searchhighlight'>".$matchedText."</span>", $text);
 501      return($text);
 502  }
 503  
 504  function headerjs() {
 505      global $search_count, $google_id, $search_prefs, $js_adv, $search_info;
 506      if ($search_prefs['selector'] == 1) {
 507          
 508          $types = array_keys($search_info);
 509          $types = implode("', '", $types);
 510          
 511          $script = "<script type='text/javascript'>
 512          <!--
 513          var i;
 514          var stypes = new Array('".$types."');
 515          
 516  		function checkAll(allbox) {
 517              for (var i in stypes)
 518              document.getElementById('searchform')[\"t[\" + stypes[i] + \"]\"].checked = true ;
 519              uncheckG();
 520          }
 521  
 522  		function uncheckAll(allbox) {
 523              for (var i in stypes)
 524              document.getElementById('searchform')[\"t[\" + stypes[i] + \"]\"].checked = false ;
 525          }\n";
 526  
 527          if (check_class($search_prefs['google'])) {
 528          $script .= "
 529  		function uncheckG() {
 530              document.getElementById('searchform')[\"t[".$google_id."]\"].checked = false ;
 531          }\n";
 532          }
 533  
 534          $script .= "// -->
 535          </script>";
 536  
 537      }
 538  
 539      $script .= "<script type='text/javascript'>
 540      <!--
 541      function ab() {
 542          abid = document.getElementById('t').value;
 543          if (abid != 'all'".$js_adv.") {
 544              document.getElementById('advanced_type').style.display = '';
 545          } else {
 546              document.getElementById('advanced_type').style.display = 'none';
 547          }
 548      }
 549      //-->
 550      </script>";
 551  
 552      return $script;
 553  }
 554  
 555  require_once(FOOTERF);
 556  
 557  ?>


Généré le : Sun Apr 1 01:23:32 2007 par Balluche grâce à PHPXref 0.7