0 ORDER BY cat.name") or die(mysql_error()); $num=0; $t_i1=0; // выделим болдом некоторые разделы $t_i2=0; $t_i3=0; $cnt=mysql_num_rows($r); if ($cnt==0) return; print $TMPL["partstop"]; for ($i=0;$i<$cnt;$i++) { $num++; if ($num==1) print $TMPL["partsdelimtop"]; $template=$TMPL["partsbit"]; $str = mysql_result($r,$i,0); $str = preg_replace("/[0-9]/", "", $str, 3); // выделим болдом некоторые разделы if ($cid==0) { if($t_i1++==2) $str = "".$str.""; if($t_i2++==9) $str = "".$str.""; if($t_i3++==18) $str = "".$str.""; } // выделим болдом некоторые разделы END // убираем цифры из названий разделов, которые нужны для сортировки оных // $template=str_replace("%CTITLE",mysql_result($r,$i,0),$template); $template=str_replace("%CTITLE",$str,$template); // новая строка $template=str_replace("%CID",mysql_result($r,$i,1),$template); $template=str_replace("%CCOUNT",mysql_result($r,$i,2),$template); print $template; if ($num==$cat["rows"]) {print $TMPL["partsdelimbottom"];$num=0;} } print $TMPL["partsbottom"]; } */ // encrypt / decrypt safely: http://stackoverflow.com/questions/15194663/encrypt-and-decrypt-md5 function encryptIt( $q ) { $cryptKey = 'qJB0rGtIn5UB1xG03efyCp'; $qEncoded = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), $q, MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ) ); return( $qEncoded ); } function decryptIt( $q ) { $cryptKey = 'qJB0rGtIn5UB1xG03efyCp'; $q = str_replace(" ", "+", $q); $qDecoded = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), base64_decode( $q ), MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ), "\0"); return( $qDecoded ); } // encrypt / decrypt safely END of Func // Sample: //$encrypted = encryptIt( $input ); //$decrypted = decryptIt( $encrypted ); // encrypt / decrypt safely END of Func function ShowCat($cid,$best=0) { GLOBAL $start,$pp,$o,$sid,$LANG,$TMPL,$sortpsql,$sortpsqlcnt,$link_array; // if ($best==1) $bestsql="AND cat_main.moder_vote=10"; else $bestsql="AND cat_main.moder_vote!=10"; // MIN(catalog2.cat_order) AS catorder -- где "catorder" является алиасом для MIN(catalog2.cat_order) -- сортировка по минимальному значению "cat_order" в каталоге предприятий // добавил cat_main.cat_order для ограниченого вывода абонентских позиций, по-умолчанию 9999 // $order="GROUP BY cat_main.lid ORDER BY catorder ASC, cat_main.title ASC"; // $order="GROUP BY cat_main.lid ORDER BY cat_main.cat_order DESC, cat_main.title ASC"; $order="GROUP BY cat_main.lid ORDER BY cat_main.cat_order DESC, cat_main.gin DESC, cat_main.gout DESC, cat_main.Date ASC"; if ($o==1) $order="ORDER BY cat_main.title DESC"; if ($o==2) $order="ORDER BY cat_main.moder_vote DESC"; // catalog2.Id=cat_main.url AND // if ($cid!=0) -- то это подраздел с позициями // было сортировка по минимальному значению "cat_order" в каталоге предприятий // if ($cid!=0) $Q="SELECT distinct cat_main.cat1,cat_main.lid,cat_main.url,cat_main.title,cat_main.description,cat_main.gin,cat_main.gout,cat_main.moder_vote, MIN(catalog2.cat_order) AS catorder FROM cat_main USE INDEX (cat1) LEFT JOIN catalog2 ON catalog2.Id=cat_firm.cat_id INNER JOIN cat_firm ON cat_firm.cat_lid=cat_main.lid WHERE cat_main.type=1 $bestsql AND (cat_main.cat1=$cid OR cat_main.cat2=$cid OR cat_main.cat3=$cid) $order LIMIT $start,$pp;"; // добавил cat_main.cat_order для ограниченого вывода абонентских позиций, по-умолчанию 9999 // if ($cid!=0) $Q="SELECT distinct cat_main.cat1,cat_main.lid,cat_main.url,cat_main.title,cat_main.description,cat_main.gin,cat_main.gout,cat_main.moder_vote, cat_main.cat_order FROM cat_main USE INDEX (cat1) WHERE cat_main.type=1 $bestsql AND (cat_main.cat1=$cid OR cat_main.cat2=$cid OR cat_main.cat3=$cid) $order LIMIT $start,$pp;"; // если параметр сортировки пришел с формы или по ссылке постраничной if ($cid!=0) { if (isset ($_POST['sortp'])) {$sortp = @$_POST['sortp'];} else {$sortp = @$_GET['sortp'];} $sortp=intval($sortp); $Add = @$_POST['Add']; $Add = preg_replace("/[^-\^\w\x7F-\xFF\s]/", "", $Add); // если фильтр по производителям if ($sortp=="1") { if (isset($Add)) if (count($Add)) { foreach($Add as $k=>$v) if ($v==="on") { if( (!is_numeric($k)) AND (!empty($k)) ) // если не числовое поле { // POST AJAX упорно передает мою строку в UTF-8, игнорируя все попытки указать ему кодировку. А серверные программы настроены принимать только windows-1251 и это вызывает некий конфликт, решение: сначала rawurlencode() кодировать, потом rawurldecode() декодировать $sortpsql .= " OR cat_main.url like '%".rawurldecode($k)."%' "; } if( (is_numeric($k)) AND (!empty($k)) ) // иначе ссылку на каталог { $sortpsql .= " OR cat_main.url = ".$k." "; } } } // если параметр сортировки пришел по ссылке постраничной if (isset($_GET['sort'])) {$sortpsql=decryptIt($_GET['sort']); } if (!empty($k)) {$sortpsql=substr($sortpsql,3);} if (!empty($k)) {$sortpsql= "AND (".$sortpsql.") ";} // массив с отмеченными позициями в $_POST: $araytosql = $sortpsql; $araytosql = str_replace("OR ", "", $araytosql); $araytosql = str_replace("AND ", "", $araytosql); $araytosql = str_replace("( ", "", $araytosql); $araytosql = str_replace(" )", "", $araytosql); $araytosql = str_replace("cat_main.url ", " | ", $araytosql); $araytosql = str_replace("= ", "", $araytosql); $araytosql = str_replace("like ", "", $araytosql); $araytosql = str_replace("'%", "", $araytosql); $araytosql = str_replace("%'", "", $araytosql); $araytosql = preg_replace("/ {2,}/"," ",$araytosql); // echo $araytosql; // проверка выводим строку $araytosql = explode("|", trim($araytosql)); $araytosql = array_filter($araytosql); // убрать пустые значения $araytosql = array_map('trim', $araytosql); // убрать пробелы $araytosql = array_unique($araytosql); // убрать повторяющиеся значения из массива $araytosql = array_flip($araytosql); // перевернем ключи и значения массива //$araytosql = array_fill_keys(array_keys($araytosql), on); //$araytosql = array_fill(0, $araytosql, 'on'); $link_array = array(); foreach($araytosql as $n => $v){ $link_array[rawurlencode($n)] = 'on'; } //echo '
';
//print_r($link_array);
//echo  '
'; // отладка выводим массив // echo $sortpsql; // отладка $Q="SELECT SQL_CALC_FOUND_ROWS distinct cat_main.cat1,cat_main.lid,cat_main.url,cat_main.title,cat_main.description,cat_main.gin,cat_main.gout,cat_main.moder_vote, cat_main.cat_order FROM cat_main USE INDEX (cat1) WHERE cat_main.type=1 $bestsql AND (cat_main.cat1=$cid OR cat_main.cat2=$cid OR cat_main.cat3=$cid) $sortpsql $order LIMIT $start,$pp;"; // echo "

выборка по производителю

"; echo $sortp; echo '
', print_r($_POST, 1), '
'; // отладка выводим массив } else { $Q="SELECT distinct cat_main.cat1,cat_main.lid,cat_main.url,cat_main.title,cat_main.description,cat_main.gin,cat_main.gout,cat_main.moder_vote, cat_main.cat_order FROM cat_main USE INDEX (cat1) WHERE cat_main.type=1 $bestsql AND (cat_main.cat1=$cid OR cat_main.cat2=$cid OR cat_main.cat3=$cid) $order LIMIT $start,$pp;"; } } else { $Q="SELECT cat_main.cat1, cat_main.lid,cat_main.url,cat_main.title,cat_main.description,cat_main.gin,cat_main.gout,cat_main.moder_vote FROM cat_main WHERE cat_main.type=1 $bestsql $order LIMIT $start,$pp;"; } $r=mysql_query($Q) or die(mysql_error()); // echo $cid; // $sortpsqlcnt=mysql_num_rows($r); $_query = "SELECT FOUND_ROWS()"; $_result = mysql_query($_query); $sortpsqlcnt = mysql_result($_result,0); // echo $sortpsqlcnt; // print $Q; // ТЕСТ ЗАПРОСА $cnt=mysql_num_rows($r); // if ($cnt==0 && $best!=1) print "". $LANG["linksnotfound"] .""; while ($ar=mysql_fetch_array($r)) { $admin=""; if (isset($sid)) { $admin.=" [".$LANG["edit"]."] "; } $template=($best==1)?$TMPL["bestlinksbit"]:$TMPL["linksbit"]; //$template=$TMPL["bestlinksbit"];$template=$TMPL["linksbit"]; $template=str_replace("%QTEXT","",$template); // передает запрос по ссылке $template=str_replace("%CCID",$ar["cat1"],$template); // передает № раздела в ссылку $template=str_replace("%ID",$ar["lid"],$template); $template=str_replace("%TITLE",$ar["title"],$template); $template=str_replace("%GIN",$ar["gin"],$template); $template=str_replace("%GOUT",$ar["gout"],$template); $template=str_replace("%MODERVOTE",$ar["moder_vote"],$template); // делаем превью картинок $image = "icon/".$ar["lid"].".jpg"; // надо сделать проверку на наличие изображения! if (file_exists("$image")) { $image_info = getimagesize($image); $image_type = $image_info[2]; $image_size_width = $image_info[0]; $image_size_height = $image_info[1]; if ( ($image_type == 2) AND (($image_size_width>64) AND ($image_size_height>64) ) ) { $imagepr = "".$ar["title"].""; } else { $imagepr = "".$ar["title"].""; } } else {$imagepr = ""; } // вычисляем длину заголовка $title_len = strlen($ar["title"]); // сокращаем описание $note = str_replace("
", "", $ar["description"]); $note = str_replace("\n", "", $note); $note = str_replace("\r"," ",$note); $note = substr($note, 0, 150); $note = wordwrap($note, 140); // в одну строку помещается 48 символов if ($title_len>50) { $note = substr($note, 0, 100); $note = wordwrap($note, 90); } $handle = explode ("\n", $note); $note = $handle[0]; $description_s= ""; echo "
  • ".preg_replace("/[0-9]/", "",$subparent, 3)." ".mysql_result($rr,$ii,6)." ".preg_replace("/[0-9]/", "",mysql_result($rr,$ii,0), 3)." [".mysql_result($rr,$ii,2)."]"; } if (!empty($cntr)) { print " ";} // конец вывода прилинкованных разделов // print "
    "; // путь внизу показываем если это конечная страница с позициями /* if ($total>0) { print "

  • ".$imagepr."

    ".$ar["title"]."

    ".$note."...

    "; $template=str_replace("%DESC",$description_s,$template); // конец превью картинок // было $template=str_replace("%DESC",$ar["description"],$template); // $template=str_replace("%URL",$ar["url"],$template); require "_reg.php"; // подключаем массив регионов // $template=str_replace("%REG",$_Region[$ar["Region"]],$template); if(!is_numeric($ar["url"])) // если не числовое поле { // $template=str_replace("%URL",preg_replace("/^[0-9]{3}/","",$ar["url"], 3),$template); // выводим название $uurl=str_replace("г.", " ",$ar["url"]); $uurl=str_replace("quot;", " ",$uurl); $uurl=str_replace("\t", " ",$uurl); $uurl = preg_replace("/[^-\^\w\x7F-\xFF\s]/", " ", $uurl); $uurl = trim($uurl); $uurl=preg_replace("/\s+/"," ",$uurl); // убрать лишние пробелы $uurl = urlencode($uurl); // снять активность с производителя // $template=str_replace("%URL","".preg_replace("/^[0-9]{3}/","",$ar["url"], 3)."",$template); // выводим название $template=str_replace("%URL","".preg_replace("/^[0-9]{3}/","",$ar["url"], 3)."",$template); // выводим название } else // иначе ссылку на каталог { // $url_tmp=($ar["url"]); // $template=str_replace("%URL","".mysql_result(mysql_query("SELECT catalog2.Firm FROM catalog2 WHERE catalog2.Id=$url_tmp LIMIT 1"),0,0)." ",$template); // снять активность с производителя // $template=str_replace("%URL","".mysql_result(mysql_query("SELECT brands2.title FROM brands2 WHERE brands2.id=".$ar["url"]." LIMIT 1"),0,0)."",$template); $template=str_replace("%URL","".mysql_result(mysql_query("SELECT brands2.title FROM brands2 WHERE brands2.id=".$ar["url"]." LIMIT 1"),0,0)."",$template); } $template=str_replace("%BEST","",$template); $template=str_replace("%BOROKENTEXT",$LANG["broken"],$template); $template=str_replace("%ADMINIFACE",$admin,$template); print $template; } if ($best!=1)return(mysql_result(mysql_query("SELECT count(*) FROM cat_main WHERE type=1 $bestsql AND (cat1=$cid OR cat2=$cid OR cat3=$cid);"),0,0)); } $c = preg_replace("/[^-\^\w\x7F-\xFF\s]/", "", $c); $c=intval($c); $start=intval($start); if ((!isset($start)) OR ($start<0)) $start=0; settype($start,"integer"); $pp=14; $cid=$c;$l=""; do { $r=mysql_query("SELECT parent,name,cid FROM cat WHERE cid='$cid' LIMIT 1;") or die(mysql_error()); // echo mysql_num_rows($r); // пустые и удаленные разделы не показываем // echo mysql_num_rows($r); if ((mysql_num_rows($r)<1) AND ($c>1)) { header("Refresh:0; url=/?part_id=123"); header("HTTP/1.0 404 Not Found"); exit; } if (mysql_num_rows($r)==1) { $id=mysql_result($r,0,2); $title=mysql_result($r,0,1); // $parent=mysql_result($r,0,0); // убираем цифры из назв. разделов $title = preg_replace("/[0-9]/","",$title, 3); $title = trim($title); if ($cid==$c) // { $l=mysql_result($r,0,1).$l; $l = preg_replace("/[0-9]/", "", $l); } { $l0=preg_replace("/[0-9]/","", mysql_result($r,0,1).$l, 3); $ll=preg_replace("/[0-9]/","", mysql_result($r,0,1).$ll, 3); } else { $l="".$title."  »  ".trim($l); $ll="".$title."  »  ".trim($ll); } $cid=mysql_result($r,0,0); $banner_cid=mysql_result($r,0,2); // верхнй раздел дерева для вызова банера } else $cid=0; } while ($cid!=0); // setlocale(LC_CTYPE , 'ru_RU.CP1251'); // echo mysql_result(mysql_query("SELECT count(*) FROM cat_main WHERE type=1 AND (cat1=$c OR cat2=$c OR cat3=$c);"),0,0); // echo mysql_result(mysql_query("SELECT name, parent FROM cat WHERE cid=$c;"),0,1); // если конечный раздел с позициями - отдать в титл предыдущую подрубрику //if (mysql_result(mysql_query("SELECT count(*) FROM cat_main WHERE type=1 AND (cat1=$c OR cat2=$c OR cat3=$c);"),0,0) != 0) { $parent = ucfirst(mysql_result(mysql_query("SELECT name, parent FROM cat WHERE cid=$c LIMIT 1;"),0,1)); $title22=ucfirst(preg_replace("/[0-9]/","",mysql_result(mysql_query("SELECT name, parent FROM cat WHERE cid=$parent LIMIT 1;"),0,0), 3)); } if ($c!=0) { $parent = mysql_result(mysql_query("SELECT parent FROM cat WHERE cid=$c LIMIT 1;"),0,0); $title22=ucfirst(preg_replace("/[0-9]/","",@mysql_result(mysql_query("SELECT name, parent FROM cat WHERE cid=$parent LIMIT 1;"),0,0), 3)); } // $child = mysql_result(mysql_query("SELECT cid FROM cat WHERE parent='$c' LIMIT 1;"),0,0); // можно так отловить конечную страницу с позициями $r=mysql_query("SELECT name, title, description, keywords, text, text_l FROM cat WHERE cid='$c' LIMIT 1;") or die(mysql_error()); // начало условия if (mysql_num_rows($r)!=0) { $title11=ucfirst(trim(preg_replace("/[0-9]/","",mysql_result($r,0,0), 3))); //echo $parent; $title33 = " | Выбор модели, марки, бренда и фирмы-продавца в каталоге оборудования | Сравнить цены продавцов, заказать и купить, посмотреть отзывы"; // подсчет количества предложений каталога в помощник и title if ($c>0) { $totalvibor=@mysql_result(@mysql_query("SELECT cat.count FROM cat WHERE cat.cid=$c LIMIT 1"),0,0); } // echo $totalvibor; // if ($totalvibor>4) $title33 = " - ".$totalvibor." предложений на Oborud.info | Сравнить цены продавцов, заказать и купить, посмотреть отзывы"; // подсчет количества предложений каталога в помощник и title END if ($totalvibor>4) $title33 = " | Сравнить цены продавцов, заказать и купить, посмотреть отзывы"; if ($parent<1) { $title = "".ucfirst(trim($title11)).$title33;} if ($parent>0) { // ищем в строке число $numtitle = preg_replace("/[^0-9]/", "", $title11); // если есть ставим такой вторым // считаем количество слов $title11array=explode (" ", $title11); $title11result = count($title11array); // print_r ($title11array); // проверка - выводим массив // echo $title11result; // проверка - выводим количество элементов массива // если только одно ставим вторым // или если есть число в строке if ($numtitle > 0) { // ранее считал длину строки // if (($numtitle > 0) OR (($title11result == 1) AND (strlen($title22) < 42 ) )) $rubrika_title = ucfirst(trim($title22))." ".strtolower(trim($title11)); $rubrika_title=explode (" ", $rubrika_title); // разбиваем на слова $rubrika_title=array_unique ($rubrika_title); // убираем повторяющиеся слова $rubrika_title=implode (" ", $rubrika_title); // соединяем слова $title = "".$rubrika_title.$title33; $title2 = $rubrika_title; } else { $title = "".ucfirst(trim($title11)).$title33; $title2 = ucfirst(trim($title11)); } } } // конец условия // if (mysql_num_rows($r)!=0) $title=mysql_result($r,0,0)." | ".$CATNAME."| OBORUD.INFO - портал оборудования"; // else $title=$CATNAME . " | торговое, холодильное, пищевое оборудование"; // на главной странице else $title=" Каталог оборудования | Производители и Поставщики пищевого оборудования | OBORUD.INFO - портал оборудования"; // убираем цифры из назв. разделов //$title = preg_replace("/[0-9]/","",$title, 3); //setlocale(LC_CTYPE , 'ru_RU.CP1251'); //$title = ucfirst($title); // if ($c!=0) $title = strtoupper( substr( $title , 0 , 2 ) ).strtolower( substr( $title , 2 ) ); if ($c!=0) $title = ucfirst(trim($title)); @$title_h=mysql_result($r,0,1); // $title2=mysql_result($r,0,0); // $title2 = preg_replace("/[0-9]/","",$title2, 3); // $title2 = trim($title2); $title_h = str_replace("| продажа","| Продажа", $title_h); // $title2 = ucfirst($title2); @$description_h=mysql_result($r,0,2); @$keywords_h=mysql_result($r,0,3); @$text_h=mysql_result($r,0,4); @$text_l=mysql_result($r,0,5); $text_h = str_replace(":",",",$text_h); $text_h = strtolower($text_h); $text_l=str_replace("F1F1F1","F5F5F5",$text_l); //$description = str_replace(" | ",", ",$title).". "; if ($totalvibor<4) $detail_keywords = str_replace(" | ",", ",$title).", Сравнить цены, подобрать параметры, прочитать отзывы пользователей, заказать и купить"; if ($totalvibor>4) $detail_keywords = str_replace(" | ",", ",$title)." "; //$description = str_replace(""","",$description); $detail_keywords = str_replace(""","",$detail_keywords); $detail_keywords = str_replace('"',"",$detail_keywords); $keywords_h = str_replace('"',"",$keywords_h); $description_h = str_replace('"',"",$description_h); $description = str_replace(""","",$description); $description = str_replace('"',"",$description); $text_h = str_replace(""","",$text_h); $text_h = str_replace('"',"",$text_h); if (strlen($title_h)>3) { $title11 = ucfirst(trim($title_h)); } $description=$title11.". Выбор модели, марки, бренда и фирмы-продавца в каталоге оборудования. Торговая площадка: Сравнить цены продавцов, заказать и купить, посмотреть отзывы"; // ручное редактирование титлов и метатегов разделов if (strlen($title_h)>3) { $title = ucfirst(trim($title_h)).$title33; } if (strlen($description_h)>3) { $description = $description_h; } if (strlen($title_h)>3) { $detail_keywords = $description; } if (strlen($text_h)>3) { $detail_keywords = $text_h; } if (strlen($keywords_h)>3) { $detail_keywords = $keywords_h; } // ротация растяжки в зависимости от рубрики /* $rubs_top0 = @mysql_result(@mysql_query("SELECT cat_banners_top.banners FROM cat_banners_top WHERE cat_banners_top.rubs=$banner_cid LIMIT 1"),0,0); if (strlen($rubs_top0)>30) { $rubs_top = $rubs_top0; } else {$rubs_top = @mysql_result(@mysql_query("SELECT cat_banners_top.banners FROM cat_banners_top WHERE cat_banners_top.rubs=0 LIMIT 1"),0,0); } $rubs_top = str_replace("adclick.php","a.php", $rubs_top); $rubs_top = str_replace("bannerid=","b=", $rubs_top); $rubs_top = str_replace("zoneid=","z=", $rubs_top); $rubs_top = str_replace("source=","s=", $rubs_top); $rubs_top = str_replace("dest=","d=", $rubs_top); $rubs_top = str_replace("ads.oborud.info","img.oborud.info", $rubs_top); $rubs_top = str_replace("adjs.php","as.php", $rubs_top); include "_top_b.php"; */ // вывод банера растяжки $rb=mysql_query("SELECT rubs,banners,switch FROM part2_banners WHERE rubs='1' LIMIT 1;") or die(mysql_error()); // $rubs=mysql_result($rb,0,0); $bannertop=mysql_result($rb,0,1); $switch=mysql_result($rb,0,2); if ($switch=='1') { $bannertop = "
    ".$bannertop."
    "; } else {$bannertop="";} // статистика для шапки: // выбираем значения из сохраненной статистики $r123=mysql_query("Select * FROM count2 WHERE 1") or die(mysql_error()); // предприятий в справочнике: $cnt1=mysql_result($r123,0,1); // каталог оборудования $cnt3=mysql_result($r123,0,3); // $counter = "".$cnt1." предприятий | ".$cnt3." товаров "; $counter = "".$cnt1." предприятий | ".$cnt3." товаров "; $template=$TMPL["bmenu"]; $template=str_replace("%MODERATORSTEXT",$LANG["moderators"],$template); $template=str_replace("%ADDLINKTEXT",$LANG["addlink"],$template); $template=str_replace("%MAINTEXT",$LANG["main"],$template); print $template; // $template=$TMPL["brokenscript"]; $template=str_replace("%YESTEXT",$LANG["yes"],$template); $template=str_replace("%NOTEXT",$LANG["no"],$template); $template=str_replace("%BROKENSURETEXT",$LANG["brokensure"],$template); print $template; //$id=intval($id); // где $id массив № разделов выше текущего // print_r($id); // var_dump($massiv); //$massiv = implode(",",$id); //$rubs0 = @mysql_result(@mysql_query("SELECT cat_banners.banners FROM cat_banners WHERE cat_banners.rubs in ($massiv)"),0,0); // вывод баннеров // $c2 = @mysql_result(@mysql_query("SELECT parent FROM cat WHERE cid='$c' LIMIT 1;"),0,0); // $rubs0 = @mysql_result(@mysql_query("SELECT cat_banners.banners FROM cat_banners WHERE cat_banners.rubs=$c OR cat_banners.rubs=$c2 LIMIT 1"),0,0); // echo $banner_cid; // верхнй раздел дерева для вызова банера $rubs0 = @mysql_result(@mysql_query("SELECT cat_banners.banners FROM cat_banners WHERE cat_banners.rubs=$banner_cid LIMIT 1"),0,0); if (strlen($rubs0)>30) $rubs = $rubs0; $rubs = str_replace("adclick.php","a.php", $rubs); $rubs = str_replace("bannerid=","b=", $rubs); $rubs = str_replace("zoneid=","z=", $rubs); $rubs = str_replace("source=","s=", $rubs); $rubs = str_replace("dest=","d=", $rubs); $rubs = str_replace("ads.oborud.info","img.oborud.info", $rubs); $rubs = str_replace("adjs.php","as.php", $rubs); // баннер агропродмаш на всех незанятых разделах //if (empty($rubs)) { //$rubs = " //
    \"«АГРОПРОДМАШ

    //"; //} $sform=$TMPL["searchform"]; $sform=""; print $sform; if ($c<1) { $CATNAME = ""; $l = "  »  каталог "; } $template=$TMPL["catname"]; // $template=str_replace("%MAINTEXT",$CATNAME,$template); $MAINTEXT=$CATNAME; //$TEXTH=$texth; // сокращаем путь если длина строки более 200 символов //echo strlen($l.$l0); // echo $l.$l0; // if (strlen($l.$l0) > 365) { $l = "..... » ".$l.""; } // $template=str_replace("%OTHERTEXT",$l.$l0,$template); $OTHERTEXT .= $l.$l0; //if ($c<1) { $template=str_replace(" » "," ",$template); } // if (strlen($text_h)>3) { $texth = "


    ".$text_h."

    "; } if (strlen($title2)<3) { @$title2=mysql_result($r,0,0); $title2 = preg_replace("/[0-9]/","",$title2, 3); $title2 = trim($title2); } // ручное редактирование титлов и метатегов разделов: if (isset($sid)) { $texth_admin=" [".$LANG["edit"]."]"; } if (strlen($title_h)>3) { $title2 = trim($title_h); } if ($c>0) { $texth = "

    ".ucfirst($title2)."

    "; } else $texth = "

    Каталог оборудования

    "; $top_path = "

    главная  »  ".$MAINTEXT."  »  ".$OTHERTEXT."

    "; if ($c<1) { $top_path=str_replace(" » "," ",$top_path); } $canonical="\r\n"; if ($c<1) { $canonical="\r\n"; } include "_top.php"; $template=str_replace("%TEXTH",$texth.$texth_admin,$template); print $template; // верхний баннер на главной стр. // if ($c<1) $rubs = "
    \"«АГРОПРОДМАШ
    "; // вывод баннера главные страницы-рубрикаторы справочник/каталог // если главная страница - выводим баннер if ($c<1) { $rbt=mysql_query("SELECT rubs,banners,switch FROM part2_banners WHERE rubs='5' LIMIT 1;") or die(mysql_error()); $rubs=mysql_result($rbt,0,0); $rubs=mysql_result($rbt,0,1); $switch=mysql_result($rbt,0,2); if ($switch=='1') { $rubs = "
    ".$rubs."
    "; echo $rubs; } else {$rubs="";} } // конец условия "если главная страница - выводим баннер" $b1=$TMPL["b1"]; // если НЕ главная страница - выводим баннер if ($c>1) { $rubs = str_replace("","

    ",$rubs); $rubs = str_replace("


    ","

    ",$rubs); if (strlen($rubs0)>30) { $rubs = "
    ".$rubs."
    "; } } // конец условия "если НЕ главная страница - выводим баннер" $b1=str_replace("%BANNERS",$rubs,$b1); // вывод баннеров if (strlen($rubs0)>30) { echo "
    ".$b1."
    ";} // выводим рубрики // if ($parent<1) { ShowParts($c); } $cid = $c; // ф-я подсчета function ChgCountR($cid) { global $rescat_all; $count_start=mysql_result(mysql_query("SELECT count(cat_main.lid) FROM cat_main WHERE cat_main.cat1='$cid' AND cat_main.type=1"),0,0); if ($count_start != 0) { $count = $count_start; } // начало первого условия if ($rescount == 0) { $r=mysql_query("SELECT cid FROM cat WHERE parent='$cid' ") or die(mysql_error()); // if (mysql_num_rows($r)!=0) $cid=mysql_result($r,0,0); $cnt=mysql_num_rows($r); // начало цикла for ($i=0;$i<$cnt;$i++) { $rescat = mysql_result($r,$i,0); // print_r ($rescat); $rescat_all.=$rescat." "; $rescount_ris = ChgCountR($rescat,$pid); //print_r ($rescount_ris); if ($rescount_ris != 0) { $count = "res"; $rrr=mysql_query("SELECT parent,cid FROM cat WHERE cid IN ($rescat) LIMIT 1;") or die(mysql_error()); if (mysql_num_rows($rrr)>0) { // echo mysql_result($rrr,0,0); $count = "9999"; } } // elseif (mysql_result(mysql_query("SELECT cid FROM cat WHERE parent IN ($rescat) LIMIT 1"),0,0)) { $count = "res"; } } // конец цикла } // конец первого условия if (!isset ($count)) $count = "nul"; return $count; // возвращаем значение ф-ии } // конец ф-ии подсчета // выбираем все дерево в массив $query = "SELECT cat.cid, cat.parent, cat.name, cat.count FROM cat WHERE cat.count > 0 ORDER by cat.name"; $res = mysql_query ($query); while($row = mysql_fetch_assoc($res)){ $tree[$row['parent']][$row['cid']] = $row['name']; } // print_r($tree); // проверяем что в массиве function ShowTree($tree, $cid){ GLOBAL $sum; echo "
      "; foreach($tree as $id=>$root){ if($cid!=$id)continue; if(count($root)){ foreach($root as $key => $name){ $rescount = ChgCountR($key,$cid); // вызываем ф-ю подсчета $sum += $rescount; $cntr= "[". $rescount . "]"; // рисуем счетчик $str= trim(preg_replace("/[0-9]/","",$name, 3)); // делаем ссылку с счетчиком, убираем цифры из наименования разделов if ((is_numeric($rescount)) AND ($rescount=="9999")) echo "
    • " .$str . ""; elseif ((is_numeric($rescount)) AND ($rescount!=0)) echo "
    • " .$str. " " . $cntr . ""; else echo "

      -

      "; // заменяет лишние ветви на невидимый абзац // Именно во втором цикле надо вызывать рекурсию, для чего сначала проверим, а есть ли потомки с таким родителем if(count($tree[$key]))ShowTree($tree,$key); } } } echo "
    "; } // выводим дерево function ShowTreeUp($tree, $cid){ GLOBAL $rescat_rub; echo "
      "; foreach($tree as $id=>$root){ if($cid!=$id)continue; if(count($root)){ foreach($root as $key => $name){ $rescount = ChgCountR($key,$cid); // вызываем ф-ю подсчета if ($rescount=='9999') { $rescount = mysql_result(mysql_query("SELECT count FROM cat WHERE cid =".$key." LIMIT 1"),0,0); $class = "class=dropdown"; } $cntr= "[". $rescount . "]"; // рисуем счетчик $str= trim(preg_replace("/[0-9]/","",$name, 3)); // выделим болдом некоторые разделы if ($cid==0) { if($t_i1++==2) $str = "".$str.""; if($t_i2++==9) $str = "".$str.""; if($t_i3++==18) $str = "".$str.""; } // выделим болдом некоторые разделы END // делаем ссылку с счетчиком, убираем цифры из наименования разделов // echo $key. " "; // проверка - вывод ID рубрик без подразделов // если это не главная страница каталога $cy = @$_GET['c']; // echo $cy; // проверка if ($cy>0) { $rescat_rub .= $rescat_rub." ".$key; } if ((is_numeric($rescount)) AND ($rescount==0)) { echo "
    • " .$str. ""; } elseif ((is_numeric($rescount)) AND ($rescount!=0) AND (count($tree[$key])==0)) { echo "
    • " .$str. " " . $cntr . ""; } elseif ((is_numeric($rescount)) AND ($rescount!=0)) { echo "
    • " .$str. " " . $cntr . ""; } else echo "

      -

      "; // заменяет лишние ветви на невидимый абзац // Именно во втором цикле надо вызывать рекурсию, для чего сначала проверим, а есть ли потомки с таким родителем if(count($tree[$key]))ShowTree($tree,$key); } } } echo "
    "; } // выводим выпадающее дерево if ($parent>0) { echo "
    "; // генерим дерево ShowTree ($tree, $cid); // отбиваем echo "
    "; } // тут вызов функции с выпадающим деревом if ($parent<1) { echo "
    "; // генерим дерево ShowTreeUp ($tree, $cid); // отбиваем echo "
    "; } if (intval($c)==0 && $cat["shownew"]==1) { if ($o==0) $sortbypop="".$LANG["popuarity"].""; else $sortbypop="".$LANG["popuarity"].""; if ($o==1) $sortbytitle="".$LANG["title"].""; else $sortbytitle="".$LANG["title"].""; if ($o==2) $sortbymoder="".$LANG["modervote"].""; else $sortbymoder="".$LANG["modervote"].""; $template=$TMPL["sortby"]; $template=str_replace("%SORTBYPOP",$sortbypop,$template); $template=str_replace("%SORTBYTITLE",$sortbytitle,$template); $template=str_replace("%SORTBYMODER",$sortbymoder,$template); $template=str_replace("%SORTBYTEXT",$LANG["sortby"],$template); print $template; $newlinkstop=$TMPL["newlinkstop"]; $newlinkstop=str_replace("%NEWLINKSTEXT",$LANG["newlinks"],$newlinkstop); print $newlinkstop; $r=mysql_query("SELECT lid,title,description FROM cat_main WHERE type=1 ORDER by lid DESC LIMIT ".$cat["shownewcount"].";"); while ($ar=mysql_fetch_array($r)) { if (strlen($ar["description"])>75) $ar["description75"]=substr($ar["description"],0,75)."..."; else $ar["description75"]=$ar["description"]; $template=$TMPL["newlinkstbit"]; $template=str_replace("%ID",$ar["lid"],$template); $template=str_replace("%TITLE",$ar["title"],$template); $template=str_replace("%GIN",$ar["gin"],$template); $template=str_replace("%GOUT",$ar["gout"],$template); $template=str_replace("%MODERVOTE",$ar["moder_vote"],$template); $template=str_replace("%DESC75",$ar["description75"],$template); $template=str_replace("%DESC",$ar["description"],$template); $template=str_replace("%URL",$ar["url"],$template); print $template; } print $TMPL["newlinkstbottom"]; } if ($cat["linksatmain"]==1 || $c!=0) { print $TMPL["linkstop"]; // ShowCat($c,1); $total=ShowCat($c); print str_replace("%NUM",(1+$start),$TMPL["linksmiddle"]); // print "
    ".$text_l."
    "; // $total=ShowCat($c); print $TMPL["linksbottom"]; if (($total>0) AND (isset($sid))) print "
      ".$LANG["linkcount"].": $total".$LANG["linkdesc"]."
    "; else print " "; } // если фильтр по производителям if (strlen($sortpsql)>3) { $total = $sortpsqlcnt; //echo $sortpsqlcnt; // запрос $sortpsql зашифровать и передать на постраничный вывод $sortpsqlencrypted= encryptIt( $sortpsql ); $sortpsqlpages="&sortp=1&sort=".$sortpsqlencrypted; //echo $sortpsqlpages; //echo "
    "; //echo decryptIt( $sortpsqlencrypted ); } if ($total>$pp) { $hache="&hache=".$_GET['hache']."#".$_GET['hache']; // #sortp print "
    "; if ($start!=0) print "стр. «« | "; else print "стр. « | "; $sstart=$start-($pp*6); if ($sstart<0) $sstart=0; $send=$start+($pp*6);if ($send>$total) $send=$total; for ($i=$sstart;$i<$send;$i+=$pp) { if ($start==$i) print "".(($i/$pp)+1).""; else print "".(($i/$pp)+1).""; print " | "; } if ($start==$i-$pp) print "»»"; else print "»»"; print "
    "; } // вывод прилинкованных через parent разделов $rr=@mysql_query("SELECT cat.name,cat.cid,cat.count, cat_parent.rubs, cat_parent.parent, cat_parent.subparent, cat_parent.text, cat_parent.ordering FROM cat,cat_parent WHERE cat_parent.rubs=$cid AND cat.cid=cat_parent.parent ORDER BY cat_parent.ordering ASC"); $cntr=@mysql_num_rows($rr); if (!empty($cntr)) { print "
    также смотреть в других разделах:
      "; } for ($ii=0;$ii<$cntr;$ii++) { $subparent = @mysql_result(@mysql_query("SELECT cat.name,cat.cid, cat_parent.subparent, cat_parent.text FROM cat,cat_parent WHERE cat.cid=".mysql_result($rr,$ii,5)." LIMIT 1;"),0,0); // print "
     ".preg_replace("/[0-9]/", "",$subparent, 3)." ".mysql_result($rr,$ii,6)." ".preg_replace("/[0-9]/", "",mysql_result($rr,$ii,0), 3)." [".mysql_result($rr,$ii,2)."]
    $CATNAME

    главная страница  »  ".$CATNAME."  »  ".$l."

    "; } */ // список оборудования BEGIN // если это не главная страница каталога и не страница с позициями if (($c>0) and ($total<1)) { if (empty($rescat_all)) { ChgCountR($cid); } // получаем ID подрубрик // echo $rescat_all; $rescat_all = explode(" ",$rescat_all); $rescat_all = array_filter ($rescat_all); // убрать пустые и нулевые значения из массива $rescat_all = array_unique($rescat_all); // убрать повторяющиеся значения из массива $rescat_all = array_values($rescat_all); // переназначение ключей массива // print_r ($rescat_all); // проверка $rescat_all=implode(", ",$rescat_all); // смотреть модели, похожие // получаем ID рубрик // echo $rescat_rub; $rescat_rub = explode(" ",$rescat_rub); $rescat_rub = array_filter ($rescat_rub); // убрать пустые и нулевые значения из массива $rescat_rub = array_unique($rescat_rub); // убрать повторяющиеся значения из массива $rescat_rub = array_values($rescat_rub); // переназначение ключей массива // print_r ($rescat_rub); // проверка $rescat_rub=implode(", ",$rescat_rub); // соединяем два значения рубрики и подрубрики $rescat_all = $rescat_all.", ".$rescat_rub; $rescat_all = explode(", ",$rescat_all); $rescat_all = array_filter ($rescat_all); // убрать пустые и нулевые значения из массива $rescat_all = array_unique($rescat_all); // убрать повторяющиеся значения из массива $rescat_all = array_values($rescat_all); // переназначение ключей массива // print_r ($rescat_all); // проверка $rescat_all=implode(", ",$rescat_all); $start=intval($start); if ((!isset($start)) OR ($start<0)) $start=0; settype($start,"integer"); $pp=8; // проверка нумерации страниц $check = $start / 8; // см. значение $pp // если число дробное if (is_float($check)) {header("HTTP/1.0 404 Not Found"); header("Refresh:0; url=/?part_id=123"); exit;} // проверка нумерации страниц END // $total=$sum; // если параметр сортировки пришел с формы или по ссылке постраничной if (isset ($_POST['sortp'])) {$sortp = @$_POST['sortp'];} else {$sortp = @$_GET['sortp'];} $sortp=intval($sortp); $Add = @$_POST['Add']; $Add = preg_replace("/[^-\^\w\x7F-\xFF\s]/", "", $Add); // если фильтр по производителям if ($sortp=="1") { if (isset($Add)) if (count($Add)) { foreach($Add as $k=>$v) if ($v==="on") { if( (!is_numeric($k)) AND (!empty($k)) ) // если не числовое поле { // POST AJAX упорно передает мою строку в UTF-8, игнорируя все попытки указать ему кодировку. А серверные программы настроены принимать только windows-1251 и это вызывает некий конфликт, решение: сначала rawurlencode() кодировать, потом rawurldecode() декодировать $sortpsql .= " OR cat_main.url like '%".rawurldecode($k)."%' "; } if( (is_numeric($k)) AND (!empty($k)) ) // иначе ссылку на каталог { $sortpsql .= " OR cat_main.url = ".$k." "; } } } // если параметр сортировки пришел по ссылке постраничной if (isset($_GET['sort'])) {$sortpsql=decryptIt($_GET['sort']); } if (!empty($k)) {$sortpsql=substr($sortpsql,3);} if (!empty($k)) {$sortpsql= "AND (".$sortpsql.") ";} // массив с отмеченными позициями в $_POST: $araytosql = $sortpsql; $araytosql = str_replace("OR ", "", $araytosql); $araytosql = str_replace("AND ", "", $araytosql); $araytosql = str_replace("( ", "", $araytosql); $araytosql = str_replace(" )", "", $araytosql); $araytosql = str_replace("cat_main.url ", " | ", $araytosql); $araytosql = str_replace("= ", "", $araytosql); $araytosql = str_replace("like ", "", $araytosql); $araytosql = str_replace("'%", "", $araytosql); $araytosql = str_replace("%'", "", $araytosql); $araytosql = preg_replace("/ {2,}/"," ",$araytosql); // echo $araytosql; // проверка выводим строку $araytosql = explode("|", trim($araytosql)); $araytosql = array_filter($araytosql); // убрать пустые значения $araytosql = array_map('trim', $araytosql); // убрать пробелы $araytosql = array_unique($araytosql); // убрать повторяющиеся значения из массива $araytosql = array_flip($araytosql); // перевернем ключи и значения массива //$araytosql = array_fill_keys(array_keys($araytosql), on); //$araytosql = array_fill(0, $araytosql, 'on'); $link_array = array(); foreach($araytosql as $n => $v){ $link_array[rawurlencode($n)] = 'on'; } // $post_array = array("Add" => $link_array); //echo '
    ';
    //print_r($link_array);
    //echo  '
    '; // отладка выводим массив //echo '
    ';
    //print_r($_POST);
    //echo  '
    '; // отладка выводим массив // echo $sortpsql; // отладка $r=mysql_query("SELECT distinct SQL_CALC_FOUND_ROWS cat_main.cat1,cat_main.lid,cat_main.title,cat_main.description,cat_main.icon,cat_main.moder_vote,cat_main.url FROM cat_main WHERE cat_main.type=1 AND cat_main.cat1 IN ($rescat_all) $sortpsql ORDER BY cat_main.cat_order DESC, cat_main.gin DESC, cat_main.gout DESC, cat_main.Date ASC LIMIT $start,$pp;"); // echo "

    выборка по производителю

    "; echo $sortp; echo '
    ', print_r($_POST, 1), '
    '; // отладка выводим массив } else { // echo "
    вывод участвующих в выборке подрубрик:
    "; // echo $rescat_all; // TEST ПРОВЕРКА - вывод участвующих в выборке рубрик: $r=mysql_query("SELECT distinct SQL_CALC_FOUND_ROWS cat_main.cat1,cat_main.lid,cat_main.title,cat_main.description,cat_main.icon,cat_main.moder_vote,cat_main.url FROM cat_main WHERE cat_main.type=1 AND cat_main.cat1 IN ($rescat_all) ORDER BY cat_main.cat_order DESC, cat_main.gin DESC, cat_main.gout DESC, cat_main.Date ASC LIMIT $start,$pp;"); } $_query = "SELECT FOUND_ROWS()"; $_result = mysql_query($_query); $total2 = mysql_result($_result,0); $sortpsqlcnt= mysql_result($_result,0); $cntp=mysql_num_rows($r); // echo $cntp; // усли не найдено позиций- вероятно ссылка с неправильным лимитом страниц /* if ($cntp<1) { header("Refresh:0; url=/?part_id=123"); header("HTTP/1.0 404 Not Found"); exit; } */ for ($i=0;$i<$cntp;$i++) { $note = str_replace("
    ", "", mysql_result($r,$i,3)); $note = str_replace("\n", "", $note); $note = str_replace("\r"," ",$note); //$note = substr($note, 0, 202); //$note = wordwrap($note, 192); //$handle = explode ("\n", $note); //$note = $handle[0]; $note = substr($note, 0, 142 - strlen(mysql_result($r,$i,2))); $note = wordwrap($note, 132 - strlen(mysql_result($r,$i,2))); $handle = explode ("\n", $note); $note = $handle[0]."..."; $image = mysql_result($r,$i,4); $proizv = mysql_result($r,$i,6); if(is_numeric($proizv)) // если числовое поле { // снять активность с производителя // $proizv = "".mysql_result(mysql_query("SELECT brands2.title FROM brands2 WHERE brands2.id='".$proizv."' LIMIT 1"),0,0).""; $proizv = mysql_result(mysql_query("SELECT brands2.title FROM brands2 WHERE brands2.id='".$proizv."' LIMIT 1"),0,0); } // else { $proizv = preg_replace("/^[0-9]{3}/","",$proizv, 3); } else { $uurl=str_replace("г.", " ",$proizv); $uurl=str_replace("quot;", " ",$uurl); $uurl=str_replace("\t", " ",$uurl); $uurl = preg_replace("/[^-\^\w\x7F-\xFF\s]/", " ", $uurl); $uurl = trim($uurl); $uurl=preg_replace("/\s+/"," ",$uurl); // убрать лишние пробелы $uurl = urlencode($uurl); // снять активность с производителя // $proizv = "".preg_replace("/^[0-9]{3}/","",$proizv, 3).""; // выводим название $proizv = preg_replace("/^[0-9]{3}/","",$proizv, 3); } // надо сделать проверку на наличие изображения! if (file_exists("$image")) { // $size = getimagesize("$image"); // $height = $size[1]/7; // $width = $size[0]/7; // $imagepr = "".mysql_result($r,$i,2).""; $image_info = getimagesize($image); $image_type = $image_info[2]; $image_size_width = $image_info[0]; $image_size_height = $image_info[1]; if ( ($image_type == 2) AND (($image_size_width>64) AND ($image_size_height>64) ) ) { $imagepr = "".mysql_result($r,$i,2).""; } else { $imagepr = "".mysql_result($r,$i,2).""; } } else {$imagepr = ""; } // $cntprr .= "
    ".$imagepr."".mysql_result($r,$i,2)."

    ".$note."...

    "; // название рубрики расположения $ar_cat = mysql_result($r,$i,0); $ar_cat2 = mysql_result(mysql_query("SELECT cat.name FROM cat WHERE cat.cid='$ar_cat' LIMIT 1"),0,0); $ar_cat2 = preg_replace("/^[0-9]{3}/","",$ar_cat2, 3); $rubrika_title = trim($ar_cat2); $rubrika="
    рубрика: ".$rubrika_title."
    "; $cntprr .= "
    ".$imagepr."

    ".mysql_result($r,$i,2)."

    ".$note."

    производитель: ".$proizv."".$rubrika."
    "; } // echo $cntpr; $cntpr="
    $cntprr
    "; echo $cntpr; // $total=$sum; // если фильтр по производителям if (strlen($sortpsql)>3) { $total2 = $sortpsqlcnt; // echo $sortpsqlcnt; // запрос $sortpsql зашифровать и передать на постраничный вывод $sortpsqlencrypted= encryptIt( $sortpsql ); $sortpsqlpages="&sortp=1&sort=".$sortpsqlencrypted; //echo $sortpsqlpages; //echo "
    "; //echo decryptIt( $sortpsqlencrypted ); } if ($total2>$pp) { $hache="&hache=".$_GET['hache']."#".$_GET['hache']; // #sortp $cntp_r .= "
    "; if ($start!=0) $cntp_r .= "стр. «« | "; else $cntp_r .= "стр. « | "; $sstart=$start-($pp*6); if ($sstart<0) $sstart=0; $send=$start+($pp*6);if ($send>$total2) $send=$total2; for ($i=$sstart;$i<$send;$i+=$pp) { if ($start==$i) $cntp_r .= "".(($i/$pp)+1).""; else $cntp_r .= "".(($i/$pp)+1).""; $cntp_r .= " | "; } if ($start==$i-$pp) $cntp_r .= "»»"; else $cntp_r .= "»»"; $cntp_r .= "
    "; } echo $cntp_r; } // список оборудования END // правый блок производители BEGIN echo " "; // если с подрубриками if (($c>0) and ($total<1)) { // DISTINCT не дает верной сортировки без указания в выборке поля приоритета: cat_main.cat_order $rp=mysql_query("SELECT DISTINCT cat_main.url, cat_main.cat_order FROM cat_main WHERE cat_main.type=1 AND cat_main.cat1 IN ($rescat_all) ORDER BY cat_main.cat_order DESC, cat_main.gin DESC, cat_main.gout DESC, cat_main.Date ASC "); $cntpp=mysql_num_rows($rp); $result_array=array(); for ($i=0;$i<$cntpp;$i++) { $proizvp = mysql_result($rp,$i,0); array_push($result_array, mysql_result($rp,$i,0)); } // echo $proizvpall; //echo "массив с повторами"; //echo "
    ";
    //print_r ($result_array);
    //echo "
    "; $result_array = array_unique($result_array); //echo "массив без повторов"; //echo "
    ";
    //print_r ($result_array);
    //echo "
    "; foreach($result_array as $proizvp) { // echo $proizvp. "
    "; //print_r($link_array); if(is_numeric($proizvp)) // если числовое поле { // $proizvp = "
  • ".mysql_result(mysql_query("SELECT brands2.title FROM brands2 WHERE brands2.id='".$proizvp."' LIMIT 1"),0,0)."
  • "; // if (array_key_exists($proizvp, $Add)) { $checked=" checked=\"checked\" "; } // if (array_key_exists($proizvp, $link_array)) { $checked=" checked=\"checked\" "; } // отладка if ( (array_key_exists($proizvp, $Add)) OR (array_key_exists($proizvp, $link_array)) ) { $checked=" checked=\"checked\" "; } else { $checked=""; } $proizvp = "
    "; $checked=""; } // else { $proizvp = preg_replace("/^[0-9]{3}/","",$proizvp, 3); } else { $uurlp=str_replace("г.", " ",$proizvp); $uurlp=str_replace("quot;", " ",$uurlp); $uurlp=str_replace("\t", " ",$uurlp); $uurlp = preg_replace("/[^-\^\w\x7F-\xFF\s]/", " ", $uurlp); $uurlp = trim($uurlp); $uurlp=preg_replace("/\s+/"," ",$uurlp); // убрать лишние пробелы $uurlp = urlencode($uurlp); // ссылка на производителя // $proizvp = "
  • ".preg_replace("/^[0-9]{3}/","",$proizvp, 3)."
  • "; // выводим название //echo $proizvp; //print_r($Add); // кодировать не состоящих в брендах //if (array_key_exists(rawurlencode($proizvp), $Add)) { $checked=" checked=\"checked\" "; } if ( (array_key_exists(rawurlencode($proizvp), $Add)) OR (array_key_exists(rawurlencode($proizvp), $link_array)) ) { $checked=" checked=\"checked\" "; } else { $checked=""; } // POST AJAX упорно передает мою строку в UTF-8, игнорируя все попытки указать ему кодировку. А серверные программы настроены принимать только windows-1251 и это вызывает некий конфликт, решение: сначала rawurlencode() кодировать, потом rawurldecode() декодировать $proizvp = " "; // выводим название $checked=""; $t_i=$t_i-1; } // echo $proizvp; //$t_i=0; if($t_i++==4) { $proizvp=$proizvp."
    показать сбросить
    "; } $proizvpall .= $proizvp." "; } } // если конечная рубрика if (($c>0) and ($total>0)) { // DISTINCT не дает верной сортировки без указания в выборке поля приоритета: cat_main.cat_order - GROUP BY cat_main.cat_order ? $rp=mysql_query("SELECT DISTINCT cat_main.url, cat_main.cat_order FROM cat_main WHERE cat_main.type=1 AND cat_main.cat1=$cid ORDER BY cat_main.cat_order DESC, cat_main.gin DESC, cat_main.gout DESC, cat_main.Date ASC "); $cntpp=mysql_num_rows($rp); $result_array=array(); for ($i=0;$i<$cntpp;$i++) { $proizvp= mysql_result($rp,$i,0); array_push($result_array, mysql_result($rp,$i,0)); } // echo $proizvpall; //echo "массив с повторами"; //echo "
    ";
    //print_r ($result_array);
    //echo "
    "; $result_array = array_unique($result_array); //echo "массив без повторов"; //echo "
    ";
    //print_r ($result_array);
    //echo "
    "; foreach($result_array as $proizvp) { // echo $proizvp. "
    "; // print_r($Add); // print_r ($proizvp); //print_r($link_array); if(is_numeric($proizvp)) // если числовое поле { // $proizvp = "
  • ".mysql_result(mysql_query("SELECT brands2.title FROM brands2 WHERE brands2.id='".$proizvp."' LIMIT 1"),0,0)."
  • "; //echo $proizvp; //print_r($Add); //print_r($link_array); // if (array_key_exists($proizvp, $Add)) { $checked=" checked=\"checked\" "; } if ( (array_key_exists($proizvp, $Add)) OR (array_key_exists($proizvp, $link_array)) ) { $checked=" checked=\"checked\" "; } else { $checked=""; } $proizvp = "
    "; $checked=""; } // else { $proizvp = preg_replace("/^[0-9]{3}/","",$proizvp, 3); } else { $uurlp=str_replace("г.", " ",$proizvp); $uurlp=str_replace("quot;", " ",$uurlp); $uurlp=str_replace("\t", " ",$uurlp); $uurlp = preg_replace("/[^-\^\w\x7F-\xFF\s]/", " ", $uurlp); $uurlp = trim($uurlp); $uurlp=preg_replace("/\s+/"," ",$uurlp); // убрать лишние пробелы $uurlp = urlencode($uurlp); // ссылка на производителя // $proizvp = "
  • ".preg_replace("/^[0-9]{3}/","",$proizvp, 3)."
  • "; // выводим название //echo $proizvp; //print_r($Add); // кодировать не состоящих в брендах // if (array_key_exists(rawurlencode($proizvp), $Add)) { $checked=" checked=\"checked\" "; } if ( (array_key_exists(rawurlencode($proizvp), $Add)) OR (array_key_exists(rawurlencode($proizvp), $link_array)) ) { $checked=" checked=\"checked\" "; } else { $checked=""; } // POST AJAX упорно передает мою строку в UTF-8, игнорируя все попытки указать ему кодировку. А серверные программы настроены принимать только windows-1251 и это вызывает некий конфликт, решение: сначала rawurlencode() кодировать, потом rawurldecode() декодировать $proizvp = " "; // выводим название $checked=""; $t_i=$t_i-1; } // echo $proizvp; //$t_i=0; if($t_i++==4) { $proizvp=$proizvp."
    "; } $proizvpall .= $proizvp." "; } } // если не главная стр. if ($c>0) { $stat_right="

    выбрать производителя:

    ".$proizvpall."
    "; } // правый блок производители END // вывод баннеров 2 //$c22 = @mysql_result(@mysql_query("SELECT parent FROM cat WHERE cid='$c' LIMIT 1;"),0,0); // $rubs00 = @mysql_result(@mysql_query("SELECT cat_banners2.banners FROM cat_banners2 WHERE cat_banners2.rubs=$c OR cat_banners2.rubs=$c22 LIMIT 1"),0,0); $rubs00 = @mysql_result(@mysql_query("SELECT cat_banners2.banners FROM cat_banners2 WHERE cat_banners2.rubs=$banner_cid LIMIT 1"),0,0); // вывод баннеров 2 if (empty($rubs00)) { $rubs00 = " "; } if ($c<1) { $rubs00 = " "; } // if (empty($rubs00)) { // $rubs00 = " //
    \"16-я

    // "; // } elseif ($c>0) { $rubs00 .= ""; } $sbottom=$TMPL["partsbottom2"]; // считаем общее количество размещенный позиций $r22=mysql_query("SELECT count(cat_main.lid) FROM cat_main WHERE cat_main.type=1") or die(mysql_error()); $cnt22=mysql_result($r22,0,0); // конец обсчета кол-ва $sbottom=str_replace("%ALLCOUNT",$cnt22,$sbottom); $sbottom=str_replace("%BANNERSS",$rubs00,$sbottom); // вывод баннеров 2 $sbottom=str_replace("%SEARCHTEXT",$LANG["search"],$sbottom); $sbottom=str_replace("%QUERYTEXT",$q,$sbottom); /* // полный путь названия рубрики в помощнике \/ $ll = strip_tags($ll); // выделить в каталоге в помощнике последнее значение после запятой $ll=str_replace("  »  ","|",$ll); // если заполнено поле описания: if (strlen($text_h)>3) { $ll= $text_h; // в варианте ручного редактирования описания $ll=str_replace(",","|",$ll); $llll=explode ("|", $ll); // разбиваем на слова $llll1=array_pop($llll); $resllll = count($llll); if ($resllll > 0) {$lllll=implode (", ", $llll).", ".$llll1."";} // соединяем слова else {$lllll=implode (", ", $llll)." ".$llll1."";} } if (strlen($text_h)<3) { $llll=explode ("|", $ll); // разбиваем на слова $llll1=array_pop($llll); $resllll = count($llll); if ($resllll > 0) {$lllll=implode (", ", $llll).", ".$llll1."";} // соединяем слова else {$lllll=implode (", ", $llll)." ".$llll1."";} } */ // $lll = strtolower($title11); $lll = ucfirst($title2); // $lll = strtolower($title2); $lllstrtolow = strtolower($title2); // echo $total; // подсчет количества предложений каталога в помощник - рубрика с конечными позициями // echo $total2; // подсчет количества предложений каталога в помощник - рубрика с деревом позиций // $totalvibor = intval($total) + intval($total2); //echo $totalvibor; // подсчет количества предложений каталога в помощник if ($totalvibor>1) { $vibor= "".$totalvibor." предложений на Oborud.info"; } // полный путь названия рубрики в помощнике /\ //if ($c>0) { $sbottom=str_replace("

    "," $lllll ".$vibor."

    ",$sbottom); } // только конечная рубрика в помощнике \/ if ($c>0) { $sbottom=str_replace("

    "," ".$lll." - ".$vibor.". В данной категории представлена продукция от различных торговых компаний и магазинов, отечественного и импортного производства

    ",$sbottom); } else {$sbottom=str_replace("

    "," Торговая площадка Oborud.info - Производители и Поставщики пищевого оборудования.

    Основная тематика каталога: оборудование для предприятий торговли (магазины, склады); предприятий общественного питания (рестораны, фаст фуд, столовые, пищеблоки); пищевой промышленности и для пищевых производств малых предприятий.

    ",$sbottom); } // if ($total>0) { $sbottom=str_replace("","

    Для того, чтобы выбрать и купить $ll, в карточке товара нажмите кнопку «Запрос цены и наличия» и заполните форму. Фирмы-продавцы получат Ваш запрос, сформируют свое ценовое предложение и отправят Вам на рассмотрение.

    ",$sbottom); } if ($c>0) { $sbottom=str_replace("","

    Для того, чтобы купить ".$lllstrtolow." - необходимо в карточке товара воспользоваться кнопкой «запрос цены и наличия». Фирмы-продавцы получают запрос, формируют свои предложения с ценой, с условиями доставки, наличием или сроками поставки и отправляют на рассмотрение Покупателю.

    Данный сервис удобен тем, что на начальной стадии поиска наилучших ценовых условий, если позиция представлена сразу несколькими поставщиками, то «в один клик» запрос получают все фирмы-продавцы и Покупатель экономит время и ресурсы на их индивидуальный обход и персональный сбор информации от каждого магазина.


    ",$sbottom); } if ($c>0) { $sbottom=str_replace("Оборудование в каталоге разделено по различным группам товаров. Отбирая необходимые ветви, Вы сможете ознакомиться с характеристиками, выбрать необходимые параметры, узнать цены и контактные данные фирм производителей и поставщиков оборудования, прочитать отзывы пользователей, оставить свой отзыв.","Выбирая необходимое оборудование Покупатель сможет ознакомиться с характеристиками продукции, подобрать параметры, сравнить цены, узнать контактные данные торговых компаний и магазинов, задать им свои вопросы, уточнить условия поставки и заказать доставку. А также, прочитать отзывы пользователей, или оставить свой отзыв.",$sbottom); // if ($total>0) { $sbottom=str_replace("Оборудование в каталоге разделено по различным группам товаров. Отбирая необходимые ветви, Вы сможете ознакомиться с характеристиками, выбрать необходимые параметры, узнать цены и контактные данные фирм поставщиков, ознакомиться с отзывами пользователей, оставить свой отзыв.","По ссылкам из представленной группы товаров Вы сможете ознакомиться с характеристиками, выбрать необходимые параметры, узнать цены и контактные данные фирм поставщиков, ознакомиться с отзывами пользователей, оставить свой отзыв.",$sbottom); $ll1 = "

    Добавить новую позицию оборудования

    "; } // если позиций в разделе $total > 0 то выводим добавить новую позицию оборудования if ($total<1) { $ll1 = "

    Карта каталога оборудования

    "; } if ($c>0) { // название верхнего раздела и ссылка на него $id2 = mysql_result(mysql_query("SELECT name, parent FROM cat WHERE cid=$c LIMIT 1;"),0,1); $tt2=trim(preg_replace("/[0-9]/","",mysql_result(mysql_query("SELECT name, parent FROM cat WHERE cid=$id2 LIMIT 1;"),0,0), 3)); if ($id2>0) { $ll1 = "

    Добавить новую позицию оборудования

    "; } if ($id2>0) { $subrub = "

    В рубрику «".$tt2."»

    "; } if ($id2<1) { $ll1ll1 = "

    Добавить новую позицию оборудования

    "; } $sbottom=str_replace("

    ","\n ".$subrub." \n $ll1 $ll1ll1",$sbottom); } // если это главная страница каталога if ($c<1) { $sbottom=str_replace("

    ","

    Общий список всех позиций [".$cnt22."]

    \n \n

    Карта каталога оборудования

    Добавить новую позицию оборудования

    ",$sbottom); $sbottom=str_replace("Торговая площадка Oborud.info, каталог оборудования, рубрика:","Торговая площадка Oborud.info, каталог оборудования: основной рубрикатор",$sbottom); // $sbottom=str_replace("
    ","
    ",$sbottom); // $sbottom=str_replace("
    ","
    ",$sbottom); // $sbottom=str_replace("
    ","
    ",$sbottom); // $sbottom=str_replace("
    ","
    ",$sbottom); } // выводим помощник echo $sbottom; // нижний баннер на главной стр. if ($c<1) print "
    "; $template=$TMPL["bmenu"]; $template=str_replace("%MODERATORSTEXT",$LANG["moderators"],$template); $template=str_replace("%ADDLINKTEXT",$LANG["addlink"],$template); $template=str_replace("%MAINTEXT",$LANG["main"],$template); print $template; print $COPY; // if ($c>0) { // include "_bottomk.php"; // } // else // { // include "_bottom.php"; // } if ($c>0) {include "_bottomk.php";} else {include "_bottomi.php";} if ( (!isset($sid)) AND ($sortp<1) AND (strlen($hache)<9) ) { // echo "cache write"; // функция кеширования START // Получаем содержимое буфера $fp = fopen('cashfolder/'.$REQUEST, 'w'); // Сохранение кэш-файла с контентом fwrite($fp, ob_get_contents()); fclose($fp); // Останов буферирования и вывод буфера ob_end_flush(); // функция кеширования END } /* // временно вернул кешировать все, это закоментировал // кешируем только страницы с позициями, но не с разделами if (isset($sid)) exit(); if ($total!=0) { $buffer = ob_get_contents(); // Останов буферирования и вывод буфера ob_end_flush(); // Сохранение кэш-файла с контентом $fp = fopen('cashfolder/'.$REQUEST, 'w'); fwrite($fp, $buffer); fclose($fp); } */ // функция кеширования END ?>