[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт Sphinx-поиска
gd_hn
Здравствуйте!
Поиск работает по 1 ключевому слову. Необходимо дополнить полями: автор, название, издательство, год, isbn.
В админке редактируется шаблон поиска, но не работает с новыми полями.
Поиск Sphinx, непонятные способы передачи параметров.
Кто мог бы разобраться? Тестовый сайт предоставляется. Вознаграждение.

Код файла search.php
<?php
if(!$r && intval($_GET["search"]["gc_id"])>0){
while(list($k,$v)=each($_GET["search"])){if($v && $k!="gc_id"){$s=true; break;}}reset($_GET);
if(!$s){header("Location: /category/".intval($_GET["search"]["gc_id"])); exit;}
unset($k);
unset($v);
}
elseif(!$r && intval($_GET["search"]["vid"])>0){
while(list($k,$v)=each($_GET["search"])){if($v && $k!="vid"){$s=true; break;}}reset($_GET);
if(!$s){header("Location: /vendor.php?vid=".intval($_GET["search"]["vid"])); exit;}
unset($k);
unset($v);
}
require_once("config/define_shop_name.php");
require_once("phrases/main.php");
require_once("config/main.php");
require_once($config["includes_dir"].'config.php');
require_once("config/".$config["shop_name"]."/blocks_search.php");
require_once($config["includes_dir"].'sell_buy_functions.php');
require_once($config["includes_dir"].'shared_functions.php');
require_once('sphinxapi.php');
$config["this_chapter"]["name"]='search';

if(!function_exists("print_search_fields")){
require_once($config["includes_dir"]."search_functions.php");
}

function sphinxQuery($text, $max, $from, $only_new) {
global $sphinxClient, $db_con, $config;

$text = str_replace("-", " ", $text);

if (strlen(trim($text)) == 0) {
return array("results_idx" => array(), "results_array" => array(), "count" => 0);
}

if (!isset($sphinxClient)) {
// Create the client, tell it where the server
// is and how long to wait for a response.

$sphinxClient = new SphinxClient();
$sphinxClient->SetServer( 'localhost', 9312 );
$sphinxClient->SetConnectTimeout( 1 );
}

// This gives the title more weight than the
// body text for searches.

$sphinxClient->SetFieldWeights(array('item' => 2, 'field5' => 2));

// Use the exteneded v2 match type
$sphinxClient->SetMatchMode( SPH_MATCH_EXTENDED2 );

// Set the maximum number of search results to return
$sphinxClient->SetLimits( $from, $max, 1000 );

// Set how to rank the weighted values
$sphinxClient->SetRankingMode( SPH_RANK_PROXIMITY_BM25 );

if ($only_new) {
$sphinxClient->SetFilter( 'new', array(1) );
}

$searchQuery = iconv("UTF-8", "WINDOWS-1251", $text);
$searchResults = $sphinxClient->Query( $searchQuery );

// Get the results
$results_idx = array();
$results_array = array();

if (!empty($searchResults['matches'])) {
$results_idx = array_keys($searchResults['matches']);

$q = "SELECT * FROM ".$config["mysql_tables"]["goods_items"]." WHERE g_id IN ( ".implode($results_idx,',')." )";
$mys=mysql_query($q, $db_con);

$results_array = array();
while ($row = mysql_fetch_assoc($mys)) {
$results_array[$row["g_id"]] = $row;
}

$results_idx = array_keys($results_array);
}

return array("results_idx" => $results_idx, "results_array" => $results_array, "count" => $searchResults['total']);
}

function process_search_values($s){
if($s && is_array($s) && sizeof($s)){
while(list($k,$v)=each($s)){
if(is_array($v) && sizeof($v)){
$s[$k]["from"]=trim(ereg_replace("'","\'",ereg_replace('"','"',$v["from"])));
$s[$k]["to"]=trim(ereg_replace("'","\'",ereg_replace('"','"',$v["to"])));
}
else{$s[$k]=trim(ereg_replace("'","\'",ereg_replace('"','"',$v)));}
}
}

return $s;
}

function view_nov_items($s) {
global $category_info, $cid, $db_con, $config, $sid, $v;

$query_result = sphinxQuery($s["txt"], 20, 0, true);
$results_idx = $query_result["results_idx"];
$results_array = $query_result["results_array"];

if(count($results_idx) > 0) {
$ret = "<table width='100%'><tbody>";
$ret .= "<tr valign='middle' align='center' height='100'><td colspan=2><span><b>Новинки в поиске</b></span><br/></td></tr>";
for ($i=0;$i<count($results_idx);$i++) {
$rows = $results_array[$results_idx[$i]];
$ret .= "<tr>";
if($rows["preview_ext"]){
$rows["preview_pic_url"]=find_url_for_gd_img_pic($rows["preview_id"], $rows["preview_ext"]);
$image_prev = '<img src="'.$rows["preview_pic_url"].'" height="107" width="70" border="0" alt="'.htmlspecialchars($rows["item"]).
'" title="'.htmlspecialchars($rows["item"]).'" align=left style="margin-left: 0" hspace=10 >';
}
else {
$image_prev = '<img src="'.$config["no_preview"].'" height="107" width="70" border="1" alt="'.htmlspecialchars($rows["item"]).
'" title="'.htmlspecialchars($rows["item"]).'" align=left style="margin-left: 0" hspace=10>';
}
$ret .= "<td valign='top'><a href='/item/".intval($rows["g_id"])."' >".$image_prev."</td>";
if ( !empty( $rows["field5"] ) ) {$author = "<b>".$rows["field5"]."</b><br>";} else {$author = "";}
$ret .= '<td valign="top"><div align="left" class="ref_items_main" style="font-size: 10pt;">'.$author.'<a href="/item/'.intval($rows["g_id"]).'">'.$rows["item"].'</a></div>';
$ret .= '</td>';
$price = show_price($rows["price"]*$sid["currency"]["rate"],
$config["currency"]["cut_null_cents"], $sid["currency"]["sign_place"]);
$ret .= '</tr><tr height="30">';
$ret .= '<td><form action="#" method="post" name="blockrefitems72_itemform_'.intval($rows["g_id"]).'" id="blockrefitems72-itemform-'.intval($rows["g_id"]).'"><input type="hidden" value="'.intval($rows["g_id"]).'" name="iid"><input type="hidden" id="mode-blockrefitems72-itemform-'.intval($rows["g_id"]).'" value="add_to_order" name="mode"></form></td>';
$ret .= "<td valign=bottom align=left>";
$ret .= '<span style="font-size: 9pt;">'.$price.'</span><span class="ref_items_currency"></span><br>';
$ret .= '<span style="font-size: 8pt;" id="blockrefitems72-itemmessage-'.intval($rows["g_id"]).'"></span><span style="font-size: 10pt;"><noindex><a id="addnovitems-'.intval($rows["g_id"]).'" href="javascript: document.getElementById(\'addnovitems-'.intval($rows["g_id"]).'\').style.display=\'none\'; add_to_cart(\'blockrefitems72-itemmessage-'.intval($rows["g_id"]).'\', \'blockrefitems72-itemform-'.intval($rows["g_id"]).'\', 0, \'nov-errorinblock\');" rel="nofollow">В КОРЗИНУ</a></noindex></span>';

#$ret .= '<span class="ref_items_add_to_basket">$a["add_to_cart_link"];</span>';
$ret .= "</td></tr><tr valign='top' height='25'></tr>";
}
$ret .= "</tbody></table>";
} else {$ret = '';}
return $ret;

}

function insert_search_log($results=0,$from=0){
global $config, $_SERVER, $_POST, $v, $db_con;
$sv=$_SERVER;
$sv["ip"]=get_user_ip();
$mys=mysql_query("INSERT INTO ".$config["mysql_tables"]["search_logs"]."
(dt, uri, ref, ip, host, results, f, word) VALUES
(NOW(), '"
.mysql_escape_string(trim($sv["REQUEST_URI"]))."',
'"
.mysql_escape_string(trim($sv["HTTP_REFERER"]))."',
'"
.mysql_escape_string(trim($sv["ip"]))."',
'"
.mysql_escape_string(trim(gethostbyaddr($sv["ip"])))."',
'"
.mysql_escape_string(trim($results))."', '".mysql_escape_string(trim($from))."',
'"
.mysql_escape_string(trim($_POST["word"]))."')", $db_con);
return true;
}

function find_search_result($text="",$word="",$del="\n",$ord=0){
$a["text"]=trim(preg_replace("/^.*([^\.\n,;]*)(".preg_quote($word, "/").")([^\.\n,;]*).*$/si",
"\\1<b>\\2</b>\\3", $a["text"]));
return $ret;
}

function do_words_array($word=''){
$words=split(' ',$word);
for($i=0; $i<sizeof($words); $i++){
if(!$words[$i]){array_splice($words,$i,1);}
}

return $words;
}

function sort_position_array($pos){

}


function do_position_array($words, $text=''){
$ret=array();
for($i=0; $i<sizeof($words); $i++){
$p=strpos($text,$words[$i]);
if($p>0 || $p===0){$ret=array_merge($ret,array($p=>$words[$i]));}
}

ksort($ret);
return $ret;
}

function print_number_search_links($count, $max_count, $url_query_str){
global $config, $f, $_SERVER, $db_con, $number_links_header;

$ret='';

for ($i=0; $i<ceil($count/$max_count); $i++){
$rt=($max_count*$i+1).'-';
if ($i==ceil($count/$max_count)-1){$rt.=$count;}
else{$rt.=$max_count*(1+$i);}
if ($max_count*$i+1==$f){$rt='<SPAN CLASS="numberlinkon">'.$rt.'</SPAN>';}
else {
$rt1='/search'.$url_query_str.'/list/'.($max_count*$i+1);
$rt='<A HREF="'.$rt1.'" CLASS="numberlink">'.$rt.'</A>';
}
$ret.=' <NOBR>'.$rt.'</NOBR>';
}
if ($ret>''){$ret='<hr><p class="numberlink">'.$number_links_header.':'.$ret.'</p>';}

return array("str"=>$ret,"count"=>$count);
}

function print_object($a, $url_query_str, $from){
global $config, $sid, $_GET, $err_str, $items_add_fields, $this_page, $_SERVER, $set_td, $set_server_message;
#unset($a["description_big"]);

$a["itemform_id"]=$this_page["_blockid"]."-itemform-".intval($a["g_id"]);
$a["itemform_name"]=$this_page["_blockid"]."_itemform_".intval($a["g_id"]);
$a["message_div"]=$this_page["_blockid"]."-itemmessage-".intval($a["g_id"]);

if($_GET["mode"]=="add_item" && $_GET["id"]==$a["g_id"] && $err_str){$error_message=$err_str;}
else{$error_message=""; }
$a["message"]=$error_message;
$a["server_message"]="<span id=\"".$a["message_div"]."\">".trim($a["message"])."</span>";

if(!$this_page["columns_count"]){$this_page["columns_count"]=2;}

if($config["option"]["dont_show_prices"]=="0" || ($a["price"]>0 && $config["option"]["dont_show_prices"]=="1")
||
$sid["customer_categories"]["show_price_over_settings"]=='1'){
if($config["option"]["set_subprices"]!="1"){
$a["_price"]=show_price($a["price"]*$sid["currency"]["rate"],
$config["currency"]["cut_null_cents"], $sid["currency"]["sign_place"]);
$a["price_only"]=show_price($a["price"]*$sid["currency"]["rate"],
$config["currency"]["cut_null_cents"], "none");
}
elseif($config["option"]["set_subprices"]=="1" && intval($config["option"]["subprices_show"])>0){
$tmp=show_min_max_price($a);
if($tmp && is_array($tmp) && sizeof($tmp)>0){$a=array_merge($a, $tmp);}
unset($tmp);
}
}

else{$a["_price"]="";}
if($a["price_info"]){$a["price_info"]='<br />'.$a["price_info"];}

if($this_page["max_pic_w"]>0 && $a["preview_w"]>$this_page["max_pic_w"]){
$a["preview_h"]=round($a["preview_h"]*$this_page["max_pic_w"]/$a["preview_w"]);
$a["preview_w"]=$this_page["max_pic_w"];
}
if($this_page["max_pic_h"]>0 && $a["preview_h"]>$this_page["max_pic_h"]){
$a["preview_w"]=round($a["preview_w"]*$this_page["max_pic_h"]/$a["preview_h"]);
$a["preview_h"]=$this_page["max_pic_h"];
}
if($a["preview_ext"]){
$a["_preview_pic_url"]=find_url_for_gd_img_pic($a["preview_id"], $a["preview_ext"]);
$a["_preview_pic"]='<img src="'.$a["_preview_pic_url"].'" width='.$a["preview_w"].' height='.
$a["preview_h"].' border="'.intval($img_border).'" alt="'.htmlspecialchars($a["item"]).
'" title="'.htmlspecialchars($a["item"]).'" align=left style="margin-left: 0" hspace=10>';
}
else {
$a["_preview_pic"]='<img src="'.$config["no_preview"].'" width="125" height="191" border="1" alt="'.htmlspecialchars($a["item"]).
'" title="'.htmlspecialchars($a["item"]).'" align=left style="margin-left: 0" hspace=10>';
}
if($a["pic_ext"]){
$a["_big_pic_url"]=find_url_for_gd_img_pic($a["pic_id"],$a["pic_ext"]);
$a["_big_pic_link"]='javascript:screenshot5('.$a["pic_id"].','.$a["pic_w"].','.$a["pic_h"].');';
$a["_big_pic"]="<img src=\"".$a["_big_pic_url"]."\" width=".$a["pic_w"]." height=".$a["pic_h"].
" border=".intval($img_border)." alt=\"".htmlspecialchars($a["item"])."\" title=\"".
htmlspecialchars($a["item"])."\">";
}
if($a["description"]){
$a["description"]=trim($a["description"]);
if($a["description_auto_br"]=="2"){
$a["description"]=preg_replace("/\n/s", "<br /><br />", $a["description"]);
}
elseif($a["description_auto_br"]=="1"){$a["description"]=nl2br($a["description"]);}
}

if($a["text"]){$a["text"]=nl2br(trim($a["text"]));}
if(intval($this_page["item_exists_setting"])>0){
if(intval($a["item_exists"])==1){$a["item_exist_value"]=$this_page["item_exists_yes"];}
else{$a["item_exist_value"]=$this_page["item_not_exists"];}
$a["item_exists_header"]=$this_page["item_exists"];
$a["item_exists_string"]=((intval($this_page["item_exists_setting"])==1 && $a["item_exists_header"])?
"<span style=\"font-weight: bold\">".$a["item_exists_header"]."</span> ":"").$a["item_exist_value"];
if(!$set_item_exists && trim($a["item_exists_string"])){
$a["text"]=$a["item_exists_string"];
$a["description"]=$a["item_exists_string"].$a["description"];
}
}


$wordc = 190;
if($a["description_big"]) {
$a["description_big"] = split_hjms_chars($a["description_big"],$wordc);
}

$a["_view_url"]="/item/".$a["g_id"];
$a["view_word"]=$config["phrase"]["view"];
$a["view_link"]="<a href=\"".$a["_view_url"]."\">".$a["view_word"]."</a>";
$a["_view_link"]="<a href=\"".$a["_view_url"]."\" class=\"txtlink\">".$a["view_word"]."</a>";

if($this_page["own_template"] && $items_add_fields["r"] && is_array($items_add_fields["r"])
&&
sizeof($items_add_fields["r"])>0
&& !ereg("\{\{add_to_cart_form(1|2|3|_fields)\}\}", $this_page["own_template"])){
$tmp=false; unset($tmp);
}
elseif(intval($config["option"]["shop_window"])!=3 && intval($config["option"]["set_subprices"])!=1){
if(intval($this_page["dont_show_buy_link"])!=1){
$a["_buy_url"]="javascript: add_to_cart_and_buy('".$a["itemform_id"]."');";
$a["buy_word"]=$config["phrase"]["buy"];
$a["buy_link"]='<noindex><a rel="nofollow" href="'.$a["_buy_url"].'">'.$a["buy_word"].'</a></noindex>';
$a["_buy_link"]='<noindex><a rel="nofollow" href="'.$a["_buy_url"].'" class="txtlink">'.$a["buy_word"].
'</a></noindex>';
}
$a["add_to_cart_word"]=($config["option"]["wholesale_retail"]=="wholesale")?
$config["phrase"]["add_lots_to_basket"]:$config["phrase"]["to_basket"];
$a["_add_to_cart_url"]="javascript: document.getElementById('addtocartinlist-".$a['inner_id']."').style.visibility='hidden'; document.getElementById('categorycartblock-".$a['inner_id']."').style.height = '125px'; document.getElementById('categorycartblock-".$a['inner_id']."').style.backgroundImage = 'url(/css/1016/marka-175x125.png)'; add_to_cart('".$a["message_div"]."', '".$a["itemform_id"].
"', ".intval($config["option"]["add_item_variant"]).", 'errorinblock');";
$a["add_to_cart_link"]="<a href=\"".$a["add_to_cart_url"]."\">".$a["add_to_cart_word"]."</a>";
$a["_add_to_cart_link"]='<noindex><a rel="nofollow" href="'.$a["_add_to_cart_url"].'" class="txtlink">'.
$a["add_to_cart_word"].'</a></noindex>';
$a["add_to_cart_field"]='<br /><input type="text" class="formfield" name="item['.intval($a["g_id"]).
']" size=4 maxlength=4 value="'.doubleval($this_page["link_add_to_cart_count"]).
'" style="text-align: right">';
$a["add_to_cart_field2"]='<br /><select class="formfield" name="item['.intval($a["g_id"]).']">';
for($j6=0; $j6<=10; $j6++){
$a["add_to_cart_field2"].='<option value="'.$j6.'"';
if($j6==$this_page["link_add_to_cart_count"]){$a["add_to_cart_field2"].=' selected';}
$a["add_to_cart_field2"].='>'.$j6.'</option>';
}
$a["add_to_cart_field2"].='</select>';
$a["add_to_cart_field3"]='<input type="hidden" name="item['.intval($a["g_id"]).
']" value="'.doubleval($this_page["link_add_to_cart_count"]).'">';

$a["add_to_cart_submit_word"]=($a["add_to_cart_word"])?$a["add_to_cart_word"]:"В корзину";
$a["add_to_cart_form_button"]='<input type="submit" class="formbutton" value="'.
htmlspecialchars($a["add_to_cart_submit_word"]).'" onclick="'.$a["_add_to_cart_url"].' return false;">';

if(!$f){$f=1;}
$a["add_to_cart_form_action"]="search.php";
if($items_add_fields["r"] && is_array($items_add_fields["r"]) && sizeof($items_add_fields["r"])>0){
$a["add_to_cart_form_add_fields"].=print_item_add_fields_in_list($items_add_fields["r"], $a);
}
$a["add_to_cart_form1"]=$a["add_to_cart_form_begin"].$a["add_to_cart_form_add_fields"].
$a["add_to_cart_field"].$a["add_to_cart_form_button"].$a["add_to_cart_form_end"];
$a["add_to_cart_form2"]=$a["add_to_cart_form_begin"].$a["add_to_cart_form_add_fields"].
$a["add_to_cart_field2"].$a["add_to_cart_form_button"].$a["add_to_cart_form_end"];
$a["add_to_cart_form3"]=$a["add_to_cart_form_begin"].$a["add_to_cart_form_add_fields"].
$a["add_to_cart_field3"].$a["add_to_cart_form_button"].$a["add_to_cart_form_end"];
$a["add_to_cart_form4"]=$a["add_to_cart_form_begin"].$a["add_to_cart_form_add_fields"].
$a["add_to_cart_field3"].$a["add_to_cart_form_end"];
}
$a["category_url"]="/category/".$a["gc_id"];
$a["category_link"]="<a href=\"".$a["category_url"]."\">".$a["category"]."</a>";
$a["vendor_url"]="/vendor.php?cid=".$a["vendor_id"];
$a["vendor_link"]="<a href=\"".$a["vendor_url"]."\">".$a["manufacturer"]."</a>";

$local_form_begin="<form id=\"".$a["itemform_id"]."\" name=\"".$a["itemform_name"]."\" method=\"post\" action=\"".
$a["add_to_cart_form_action"]."\"><input type=\"hidden\" name=\"iid\" value=".intval($a["g_id"]).
"><input type=\"hidden\" name=\"mode\" value=\"add_to_order\" id=\"mode-".$a["itemform_id"]."\">";
?>
<?php
echo "<td width=\"".floor(100/$this_page["columns_count"])."%\" class=\"productlisttd\" valign=\"".
((
$this_page["item_td_valign"])?$this_page["item_td_valign"]:"top")."\">";
echo $local_form_begin; ?>
<table width=100%>
<
tbody>
<
tr>
<
td width=85% valign=top>
<
a href="<?php echo $a["_view_url"]; ?>"><?php echo $a["_preview_pic"]; ?></a>
<
p class="authorinlist"><?php echo $a["field5"]; ?></p>
<
a href="<?php echo $a["_view_url"]; ?>" class="iteminlist"><?php echo $a["item"]; ?></a>
<
p><?php echo $a["description_big"]; ?></p>
<
td width=15% align=right valign=top>
<
div id="categorycartblock-<? echo $a['inner_id']; ?>" class="categorycartblock">
<
p class="priceblockinlist"><?php
if (doubleval($a["old_price"])>0) {
echo '<span style="color: #505050; text-decoration: line-through; font-size: 14pt;">'.floor($a["old_price"]).'</span> ';
}
?><span class="priceinlist"><?php echo $a["price_only"]; ?></span><span class="currencyinlist"> руб.</span></p>
<
p class="itemexistsinlist"><?php echo nl2br(trim($a["text"])); ?></p>
<?php echo $a["server_message_place"]; ?>
<?php
echo $a["server_message"]; ?><a href="<?php echo $a["_add_to_cart_url"]; ?>" id="addtocartinlist-<?php echo $a['inner_id']; ?>" class="addtocartinlist">В КОРЗИНУ</p>
</
div>
</
td>
</
tr>
</
tbody>
</
table>
<?php echo "</form>";
echo "</td>" ?>
<?php

// Вариант с выводом шаблона
/*if(!$this_page["own_template"]){
if($config["option"]["shop_window"]!="3" && $config["option"]["set_subprices"]!="1"){
switch($this_page["link_add_to_cart_type"]){
case 3: $a["add_to_cart_content"]=$a["add_to_cart_form2"]; break;
case 4: $a["add_to_cart_content"]=$a["add_to_cart_link"].$a["add_to_cart_form4" ]; break;
case 5: $a["add_to_cart_content"]=false; break;
default: $a["add_to_cart_content"]=$a["add_to_cart_form1"];
}
}
echo "<td width=\"".floor(100/$this_page["columns_count"])."%\" class=\"productlisttd\" valign=\"".
(($this_page["item_td_valign"])?$this_page["item_td_valign"]:"top").&qu ot;\">";
echo $local_form_begin;
echo call_user_func("print_page_search_tpl".$this_page["template"], $a);
echo "</form>";
echo "</td>";
}
else{
if(!$set_td){
echo "<td width=\"".floor(100/$this_page["columns_count"])."%\" class=\"productlisttd\" valign=\"".
(($this_page["item_td_valign"])?$this_page["item_td_valign"]:"top").&qu ot;\">";
}
echo $local_form_begin;
preg_match("/^@@@@(.*?)@@@@/s", $this_page["own_template"], $mmm);
echo $config["blocks_dir"].$config["shop_name"]."/".$mmm[1];
if($mmm[1]){include($config["blocks_dir"].$config["shop_name"]."/".$mmm [1]);}
unset($mmm);
echo "</form>";
if(!$set_td){echo "</td>";}
}*/

return true;
}

function get_search_list($echo=false, $s, $echo_images=false, $cat_id=1, $max=0, $from=0) {
global $v, $config, $_SERVER, $db_con, $phrase, $this_page;

$query_result = sphinxQuery($s["txt"], $max, $from, false);
$results_idx = $query_result["results_idx"];
$results_array = $query_result["results_array"];

$url_query_str=(($url_query_str)?"&":"")."/".urlencode($s["txt"]); //Friendly URL
$v["temp"]=print_number_search_links($query_result["count"], $max, $url_query_str);

echo '<table width="100%" cellpadding=0 cellspacing=7 border=0><tr><td class="txt">
<!--<b>'
.$phrase["Search string:"].' <span class="error">'.$v["word"].'</span></b><br>-->
<b>'
.(($this_page["matched_results_word"])?
ereg_replace("\{\{number\}\}", "<span class=error>".$v["temp"]["count"]."</span>",
$this_page["matched_results_word"]):
"Найдено результатов: <span class=error>".$v["temp"]["count"]."</span>").'</b>
</td></tr></table>'
;

if ($query_result["count"] == 0)
return true;

$v["number_links"]='<table cellpadding=0 cellspacing=7 border=0 width="100%">
<tr><td class="txt">'
.$v["temp"]["str"].'</td></tr></table>';

unset($v["temp"]);

if(!$this_page["own_template"] && ($this_page["template"]==9 || $this_page["template"]==10)){
$this_page["columns_count"]=1;
echo '<table width="100%" border=0 style="border-collapse: collapse" cellspacing=0 cellpadding='.
((
isset($this_page["table_cellpadding"]))?intval($this_page["table_cellpadding"]):"3").'>';
}
else{
echo '<table width="100%" border=0 '.
((
isset($this_page["table_cellspacing"]) && intval($this_page["table_cellspacing"])<=0)?
' style="border-collapse: collapse" ':'').' cellpadding='.
((
isset($this_page["table_cellpadding"]))?intval($this_page["table_cellpadding"]):"3").
' cellspacing='.
((
isset($this_page["table_cellspacing"]))?intval($this_page["table_cellspacing"]):"3").'>';
}


if($this_page["own_template"] && ereg("\{\{server_message\}\}",$this_page["own_template"])){
$set_server_message=true;
}
if($this_page["own_template"] && ereg("^<td", $this_page["own_template"])){$set_td=true;}

for ($i=0; $i<count($results_idx); $i++){
$a = $results_array[$results_idx[$i]];

if($i/$this_page["columns_count"] == round($i/$this_page["columns_count"])){
if($i!=0){$ret.="</tr>";}
$ret.='<tr>';
}

echo $ret;
unset($ret);
print_object($a, $url_query_str, $from);
}

echo '</tr></table>';
echo $v["number_links"];

return true;
}

$v["cid"]=intval(define_value(0,'cid',$cid));
$v["sell_buy"]=define_value('','sell_buy',$sell_buy);
$f=intval(define_value(1,'f',$f));
$config["this_chapter"]["max_publications_in_list"]=10;

$search=process_search_values(define_value('','search',$search));
include($config["includes_dir"].'body.php');

if(file_exists($config["blocks_dir"].$config["shop_name"]."/block_item_in_search1.php")){
require_once($config["blocks_dir"].$config["shop_name"]."/block_item_in_search1.php");
$this_block["_blockfile"]="block_item_in_search1.php";
$this_block["_blockid"]=preg_replace("/(\.php|[^\w\d]|_)/s", "", "block_item_in_search1.php");
$this_page=$this_block;
$this_page["_blockid"]="search";
$this_page["_blockfile"]="search.php";
unset($this_block);
}
$config["columns"]=get_middle_columns();

if(!$this_page["own_template"]){
if(intval($this_page["template"])<=0){$this_page["template"]=1;}
include($config["special_inc_files"]."page_search_tpl".$this_page["template"].".php");
}

include($config["includes_dir"].'header.php');
echo $config["site"]["mainpart_pre"];
?>
<table width="100%" cellpadding=0 cellspacing=<?php echo ((isset($config["site"]["cellspacing"]))?intval($config["site"]["cellspacing"]):3); ?> border=0>
<
tr>
<?php
echo $config["site"]["mainpart_left_pre"];
if($config["columns"]["left"]){include($config["includes_dir"]."left_column.php");}
echo $config["site"]["mainpart_left_after"];
?>
<td valign="top" width="<?php echo ($config["columns"]["main_width_pixels"])?
$config["columns"]["main_width_pixels"]:$config["columns"]["main_width_percents"]."%"; ?>" class="centralcolumn">
<?php
echo $config["site"]["central_pre"];
if($blocks["main_before"]["file"] && is_array($blocks["main_before"]["file"])
&&
sizeof($blocks["main_before"]["file"])){
while(list($k,$v)=each($blocks["main_before"]["file"])){
$v2=ereg_replace("^(.*)_[[:digit:]]+(\.[^\.]+)$", "\\1\\2", $v);
if(file_exists($config["blocks_dir"].$config["shop_name"]."/".$v)){
unset($this_block["template"]);
include($config["blocks_dir"].$config["shop_name"]."/".$v);
if(file_exists($config["blocks_dir"].$v2)){include($config["blocks_dir"].$v2);}
elseif(file_exists($config["blocks_dir"].$v)){include($config["blocks_dir"].$v);}
}
}

unset($this_block);
}
echo $config["site"]["main_content_pre"];
?>
<table width="100%" cellpadding=2 cellspacing=1 class="pgcontenttable" border=0>
<
tr><td width="83%" valign="top" class="pgcontenttd">
<?php
if($this_page["own_template_header"]){
preg_match("/^@@@@(.*?)@@@@/s", $this_page["own_template_header"], $mmm);
if($mmm[1]){include($config["blocks_dir"].$config["shop_name"]."/".$mmm[1]);}
unset($mmm);
}
else{echo '<h4 class="chapterheader">'.(($this_page["header"])?
$this_page["header"]:"Поиск").'</h4>';
}
?>
<span class="txt">
<!--
onSubmit="searchscript(1);return false;"-->
<
form name="sform2" onSubmit="searchscript(1);return false;" action="<?php if ($_SERVER["PHP_SELF"] == "/search.php") echo "search/"; ?>">
<?php
if(!$this_page["own_template_form"]){$this_page["own_template_form"]=$this_page["form_own_template"];}
if($this_page["own_template_form"]){
preg_match("/^@@@@(.*?)@@@@/s", $this_page["own_template_form"], $mmm);
if($mmm[1]){include($config["blocks_dir"].$config["shop_name"]."/".$mmm[1]);}
unset($mmm);
}
else{
?>
<table cellpadding=0 cellspacing=7 border=0><tr>
<
td valign="bottom" class="txt"><?php echo print_search_fields_for_block($this_page, 1); ?></td>
<
td valign="bottom" class="txt"><input type="submit" class="formbutton" value="<?php echo ($this_page["submit_word"])?$this_page["submit_word"]:"Поиск"; ?>">
</
td></tr></table>
<?php } ?>
</form>
<
script type="text/javascript" language="javascript" encoding="windows-1251">
function searchscript() {
var q = document.getElementById("blocksearch2inputtext2_1").value;
window.location = "/search/" + encodeURI(q);
}
</script>
<
p align="justify"><?php

$number_links_header=($this_page["number_links_title"])?
$this_page["number_links_title"]:$phrase["Results"];
if(!$this_page["columns_count"]){$this_page["columns_count"]=2;}

get_search_list(true, $search,
$config["this_chapter"]["print_images_in_list"],
$config["this_chapter"]["pub_category_id"],
((
$this_page["max_items_count"])?$this_page["max_items_count"]:20), ($f-1));
$novi_items = view_nov_items($search);?></p>

</
span>
</
td><?php if ( $novi_items != '' ) echo '<td width="17%" style="padding-top: 40px;" valign="top">'.$novi_items.'</td></tr>'; ?></tr>
</
table>

<?php echo $config["site"]["main_content_post"]; ?>

<table width="100%" cellpadding=0 cellspacing=2 border=0>
<
tr><td width="100%"><img src="/images/1.gif" width=1 height=3 border=0></td></tr>
</
table>
<?php if($blocks["main_after"]["file"] && is_array($blocks["main_after"]["file"])
&&
sizeof($blocks["main_after"]["file"])){
while(list($k,$v)=each($blocks["main_after"]["file"])){
$v2=ereg_replace("^(.*)_[[:digit:]]+(\.[^\.]+)$", "\\1\\2", $v);
if(file_exists($config["blocks_dir"].$config["shop_name"]."/".$v)){
unset($this_block["template"]);
include($config["blocks_dir"].$config["shop_name"]."/".$v);
if(file_exists($config["blocks_dir"].$v2)){include($config["blocks_dir"].$v2);}
elseif(file_exists($config["blocks_dir"].$v)){include($config["blocks_dir"].$v);}
}
}

unset($this_block);
}
echo $config["site"]["central_after"];
?>
</td>
<?php
echo $config["site"]["mainpart_central_after"];
if($config["columns"]["right"]){include($config["includes_dir"]."right_column.php");}
echo $config["site"]["mainpart_right_after"];
?>
</tr>
</
table>
<?php
echo $config["site"]["mainpart_after"];
include($config["includes_dir"].'footer.php');
?>




Спустя 3 минуты, 29 секунд (31.08.2012 - 14:50) Игорь_Vasinsky написал(а):
по старше ни чё не находил?
intval($_GET["search"]["vid"])>0)

Спустя 5 минут, 4 секунды (31.08.2012 - 14:56) johniek_comp написал(а):
мало кода, не понятно ничего biggrin.gif biggrin.gif biggrin.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.