|
if (!isset($ivr)) $ivr='2';
$y=intval($y);
$r=intval($r);
// сортировочка
$t=time()-$ZTime*60;
// echo $_year; // текущий год
$yy2 = mktime(0,0,0,1,1,($_year-2));
$yy3 = mktime(0,0,0,1,1,($_year-3));
$yy4 = mktime(0,0,0,1,1,($_year-4));
$yy5 = mktime(0,0,0,1,1,($_year-5));
$yy6 = mktime(0,0,0,1,1,($_year-6));
$yy7 = mktime(0,0,0,1,1,($_year-7));
$yy8 = mktime(0,0,0,1,1,($_year-8));
$yy9 = mktime(0,0,0,1,1,($_year-9));
$yy10 = mktime(0,0,0,1,1,($_year-10));
$yy11 = mktime(0,0,0,1,1,($_year-11));
$yy12 = mktime(0,0,0,1,1,($_year-12));
$yy13 = mktime(0,0,0,1,1,($_year-13));
$yy14 = mktime(0,0,0,1,1,($_year-14));
$yy15 = mktime(0,0,0,1,1,($_year-15));
$yy16 = mktime(0,0,0,1,1,($_year-16));
// $_year = год YYYY
// $_year_old = прошлый год YYYY
if ($y<='0') { $y2 = " Date_end>$t "; }
if ($y==$_year) { $y2 = " Date_end<$t AND Date>$year"; $y3 = $_year; } // прошедшие этого года — дата окончания меньше текущей и дата начала больше конца года
if ($y==$_year-1) { $y2 = " Date_end<$year AND Date>$year_old"; $y3 = $_year_old; } // прошедшие прошлого года — дата окончания меньше конца текущего года и начало больше прошлого
if ($y==$_year-2) { $y2 = " Date_end<$year_old AND Date>$yy2"; $y3 = $_year_old-1; } // архив выставок — все ранее прошлого года 2011
if ($y==$_year-3) { $y2 = " Date_end<$yy2 AND Date>$yy3"; $y3 = $_year_old-2; } // архив выставок 2010
if ($y==$_year-4) { $y2 = " Date_end<$yy3 AND Date>$yy4"; $y3 = $_year_old-3; } // архив выставок 2009
if ($y==$_year-5) { $y2 = " Date_end<$yy4 AND Date>$yy5"; $y3 = $_year_old-4; } // архив выставок 2008
if ($y==$_year-6) { $y2 = " Date_end<$yy5 AND Date>$yy6"; $y3 = $_year_old-5; } // архив выставок 2007
if ($y==$_year-7) { $y2 = " Date_end<$yy6 AND Date>$yy7"; $y3 = $_year_old-6; } // архив выставок 2006
if ($y==$_year-8) { $y2 = " Date_end<$yy7 AND Date>$yy8"; $y3 = $_year_old-7; } // архив выставок 2005
if ($y==$_year-9) { $y2 = " Date_end<$yy8 AND Date>$yy9"; $y3 = $_year_old-8; } // архив выставок 2004
if ($y==$_year-10) { $y2 = " Date_end<$yy9 AND Date>$yy10"; $y3 = $_year_old-9; } // архив выставок 2003
if ($y==$_year-11) { $y2 = " Date_end<$yy10 AND Date>$yy11"; $y3 = $_year_old-10; } // архив выставок 2002
if ($y==$_year-12) { $y2 = " Date_end<$yy11 AND Date>$yy12"; $y3 = $_year_old-11; } // архив выставок 2001
if ($y==$_year-13) { $y2 = " Date_end<$yy12 AND Date>$yy13"; $y3 = $_year_old-12; } // архив выставок 1999
if ($y==$_year-14) { $y2 = " Date_end<$yy13 AND Date>$yy14"; $y3 = $_year_old-13; } // архив выставок 1998
if ($y==$_year-15) { $y2 = " Date_end<$yy14 AND Date>$yy15"; $y3 = $_year_old-14; } // архив выставок 1997
if ($y==$_year-16) { $y2 = " Date_end<$yy15 AND Date>$yy16"; $y3 = $_year_old-15; } // архив выставок 1996
// echo $y2; // TEST
// echo $y3; // TEST
// echo mktime(0,0,0,1,1,($_year-3)); // TEST
// echo $y; // TEST
$_YY=array("0"=>"предстоящие выставки",
$_year=>$_year,
$_year-1=>$_year-1,
$_year-2=>$_year-2,
$_year-3=>$_year-3,
$_year-4=>$_year-4,
$_year-5=>$_year-5,
$_year-6=>$_year-6,
$_year-7=>$_year-7,
$_year-8=>$_year-8,
$_year-9=>$_year-9,
$_year-10=>$_year-10,
$_year-11=>$_year-11,
$_year-12=>$_year-12,
$_year-13=>$_year-13,
$_year-14=>$_year-14,
$_year-15=>$_year-15,
$_year-16=>$_year-16,
);
if (!isset($r)) $r=0;
if ($y<='0') $y="";
if ($y>'0') { $y_h=" » ".strtolower($_YY[$y])."";
$_YY[0] = "предстоящие выставки"; }
// при первом заходе показываем все будущие
// деление по регионам и выборка из базы в зависимости от даты
// выводим только рубрики и разделы с существующими в них записями
// $sql="SELECT DISTINCT Region FROM $zarplata where $y2 ";
$sql="SELECT DISTINCT Region FROM $zarplata where 1 ";
$q=$db->query($sql);
while ($db->next_record())
{$G[0] = "0"; $G[]=$db->Record["Region"];
}
$e2b="";
if (!isset($v)) { $e2b=$e2b." ",$note);
$note = preg_replace("!О(.*?)!si","",$note);
//$note = preg_replace("/\[(.*?)\]\s*(.*?)\s*\[\/(.*?)\]/", "[$1]$2[/$3]", html_entity_decode($note));
$note = str_replace(" "," ", $note);
$note = str_replace(" "," ", $note);
$note = str_replace("vspace='1'","vspace='8'", $note);
$note = str_replace("vspace='2'","vspace='8'", $note);
$note = str_replace("vspace=2>","vspace='8'>", $note);
$note = str_replace("vspace='3'","vspace='8'", $note);
$note = str_replace("vspace='4'","vspace='8'", $note);
$note = str_replace("vspace='5'","vspace='8'", $note);
$note = str_replace("vspace='6'","vspace='8'", $note);
$note = str_replace("vspace='7'","vspace='8'", $note);
$note = str_replace("vspace='8'","vspace='8'", $note);
$note = str_replace("vspace='9'","vspace='8'", $note);
$note = str_replace("vspace='10'","vspace='8'", $note);
$note = str_replace("vspace=10","vspace='8'", $note);
$note = str_replace("vspace='11'","vspace='8'", $note);
$note = str_replace("vspace='12'","vspace='8'", $note);
$note = str_replace("vspace=12","vspace='8'", $note);
$note = str_replace("vspace='12'","vspace='8'", $note);
$note = str_replace("vspace='14'","vspace='8'", $note);
$note = str_replace("vspace='15'","vspace='8'", $note);
$note = str_replace("vspace='16'","vspace='8'", $note);
$note = str_replace("vspace=16","vspace='8'", $note);
$note = str_replace("vspace='17'","vspace='8'", $note);
$note = str_replace("vspace='18'","vspace='8'", $note);
$note = str_replace("vspace=18","vspace='8'", $note);
$note = str_replace("vspace='19'","vspace='8'", $note);
$note = str_replace("vspace='20'","vspace='8'", $note);
$note = str_replace("vspace='21'","vspace='8'", $note);
$note = str_replace("vspace='22'","vspace='8'", $note);
$note = str_replace("vspace=22","vspace='8'", $note);
$note = str_replace("vspace='23'","vspace='8'", $note);
$note = str_replace("vspace='26'","vspace='8'", $note);
$note = str_replace("vspace=26","vspace='8'", $note);
$note = str_replace("vspace='28'","vspace='8'", $note);
$note = str_replace("vspace=28","vspace='8'", $note);
$note = str_replace("vspace='24'","vspace='8'", $note);
$note = str_replace("vspace='30'","vspace='8'", $note);
$note = str_replace("vspace=30","vspace='8'", $note);
$note = str_replace("vspace='32'","vspace='8'", $note);
$note = str_replace("vspace=32","vspace='8'", $note);
$note = str_replace("vspace='38'","vspace='8'", $note);
$note = str_replace("vspace=38","vspace='8'", $note);
$note = str_replace("vspace='40'","vspace='8'", $note);
$note = str_replace("vspace=42","vspace='8'", $note);
$note = str_replace("vspace='42'","vspace='8'", $note);
$note = str_replace("vspace=44","vspace='8'", $note);
$note = str_replace("vspace='44'","vspace='8'", $note);
$note = str_replace("vspace=46","vspace='8'", $note);
$note = str_replace("vspace='46'","vspace='8'", $note);
$note = str_replace("vspace=48","vspace='8'", $note);
$note = str_replace("vspace='48'","vspace='8'", $note);
$note = str_replace("vspace=50","vspace='8'", $note);
$note = str_replace("vspace='50'","vspace='8'", $note);
$note = str_replace("vspace=52","vspace='8'", $note);
$note = str_replace("vspace='52'","vspace='8'", $note);
$note = str_replace("vspace=54","vspace='8'", $note);
$note = str_replace("vspace='54'","vspace='8'", $note);
$note = str_replace("vspace=56","vspace='8'", $note);
$note = str_replace("vspace='56'","vspace='8'", $note);
$note = str_replace("vspace='58'","vspace='8'", $note);
$note = str_replace("vspace='62'","vspace='8'", $note);
$note = str_replace("vspace=62","vspace='8'", $note);
$note = str_replace("vspace='64'","vspace='8'", $note);
$note = str_replace("vspace=64","vspace='8'", $note);
$note = str_replace("vspace='72'","vspace='8'", $note);
$note = str_replace("vspace=72","vspace='8'", $note);
$note = str_replace("vspace='82'","vspace='8'", $note);
$note = str_replace("vspace=82","vspace='8'", $note);
$note = str_replace("vspace=8","vspace='8'", $note);
$note = str_replace("vspace=0","vspace='8'", $note);
$note = str_replace("vspace='0'","vspace='8'", $note);
// баннер флеш
$note = str_replace("Календарь выставок ".ucfirst($_Region[$r])." ".strtolower($_YY[$y]).""; } else { $v = htmlspecialchars($v); // Теперь каленым железом выжжем все "ненормальные" символы. $v2 = preg_replace("/[^-\^\w\x7F-\xFF\s]/", " ", $v); $v2 = trim($v2); //trim whitespace from the stored variable // Первым делом надо порезать ручками строку. $v2 = substr($v2, 0, 54); function sw2 (&$item1, $key) { if (strlen($item1)<3) $item1=""; } // разбиваем на слова, убираем слова, короче 3х букв $v2=explode (" ", $v2); // вот и функция пригодилась... array_walk ($v2, 'sw2'); // убираем повторяющиеся слова $v2=array_unique ($v2); // извлечение корня из слова. //require "stemmer.php"; //foreach ($trimmed as $value) { //$stemmer = new Lingua_Stem_Ru(); //$trimmed_stemmer[] = $stemmer->stem_word($value); // } // соединяем слова //if (strlen($var)>5) { $trimmed=implode (" ", $trimmed_stemmer); } //else $trimmed=implode (" ", $trimmed); $v2=implode (" ", $v2); // По идее, нельзя давать пользователю возможности искать по слишком коротким словам // кроме всего прочего, это сильно загружает сервер. Итак, разрешим искать только // по словам, которые длиннее двух букв (если ограничение больше, надо заменить // "{1,2}" на "{1, кол-во символов}"). $v2 = trim(ereg_replace("/\s(\S{1,2})\s/", " ", ereg_replace(" +", " "," $v2 "))); // А после замены плохих слов - надо сжать двойные пробелы (они были сделаны // специально для корректного поиска коротких слов). $v2 = ereg_replace(" +", " ", $v2); $v2 = strtolower($v2); // убираем заглавные буквы { if (strlen($v2)<4) $v2=""; } // если слово меньше 4 символов то игнорируем $word = explode(" ", $v2); while (list($k, $vv) = each($word)) { if (strlen($vv)>=3) $stat[]=" • $vv [". mysql_num_rows(mysql_query("SELECT * from $zarplata where Moderate=1 AND Type=$ivr AND (Note like '%". str_replace(" ", "%' AND Note LIKE '%", $vv). "%' OR Firm like '%". str_replace(" ", "%' OR Firm LIKE '%", $vv). "%' OR Pricetxt like '%". str_replace(" ", "%' OR Pricetxt LIKE '%", $vv). "%') "))."]"; else $stat[]=" • $v: [0] "; }; if (count($word) >'1') { $word_stats = " По отдельным словам запроса найдено: ". implode("", $stat). ""; } unset($stat); $all=mysql_num_rows(mysql_query("SELECT * from $zarplata where Moderate=1 AND Type=$ivr AND (Note like '%". str_replace(" ", "%' AND Note LIKE '%", $v). "%' OR Firm like '%". str_replace(" ", "%' AND Firm LIKE '%", $v). "%' OR Pricetxt like '%". str_replace(" ", "%' AND Pricetxt LIKE '%", $v). "%') ")); // было if ($all <> x) if (count($word) == '0') {$word_stats = " Ничего не нашли? Подсказка!Не делайте слишком сложный запрос, начните с одного или двух ключевых слов. Заполнить форму"; } if (($all == '0') AND (count($word) > 0)) {$word_stats = $word_stats."Ничего не нашли? Подсказка!Не делайте слишком сложный запрос, начните с одного или двух ключевых слов. Заполнить форму"; } if (isset($v) AND strlen($v)<3 ) { $all='0'; $v=''; $word_stats="Ничего не нашли? Подсказка!Не делайте слишком сложный запрос, начните с одного или двух ключевых слов. Поиск в календаре выставокВы искали: «".strtolower(trim($v))."», найдено совпадений: ".$all." "; } if (count($word) < 1) { $e2b=$e2b." Поиск в календаре выставокВы искали: «".strtolower(trim($v))."», найдено совпадений: ".$all." "; } } // в зависимости от выборки меняем порядок сортировки if ($y<='0') $ord2 = "Date, Date_end ASC"; if ($y>'0') $ord2 = "Date_end DESC"; $QRegion=""; if ($r) { if ($r>0) $QRegion=" AND Region=$r "; else $QRegion=" AND Region=0 "; } $pattern= array("","one_resume.htm","one_vacancy.htm"); $SSI=2; // отрубаем шаблоны // $title= array("","Предприятия","Оборудование"); # вывод результата запроса Предприятия порциями по $portion штук MyRead($pattern[$ivr]); //шаблон одного Предприятия $tpl=$Template; //запоминаем шаблон $resume=""; $portion='12'; # формируем SQL if (!isset($i0)) $i0=0; settype($i0,"integer"); // $i1=$i0+$portion; $i1=$portion; // если вызван поиск BEGIN if (isset($v)) { $var = @$_GET['v']; // Теперь каленым железом выжжем все "ненормальные" символы. $var = preg_replace("/[^-\^\w\x7F-\xFF\s]/", " ", $var); $trimmed = trim($var); //trim whitespace from the stored variable // Первым делом надо порезать ручками строку. $trimmed = substr($trimmed, 0, 54); function sw (&$item1, $key) { if (strlen($item1)<3) $item1=""; } // разбиваем на слова, убираем слова, короче 3х букв $trimmed=explode (" ", $trimmed); // вот и функция пригодилась... array_walk ($trimmed, 'sw'); // убираем повторяющиеся слова $trimmed=array_unique ($trimmed); // извлечение корня из слова. //require "stemmer.php"; //foreach ($trimmed as $value) { //$stemmer = new Lingua_Stem_Ru(); //$trimmed_stemmer[] = $stemmer->stem_word($value); // } // соединяем слова //if (strlen($var)>5) { $trimmed=implode (" ", $trimmed_stemmer); } //else $trimmed=implode (" ", $trimmed); $trimmed=implode (" ", $trimmed); // По идее, нельзя давать пользователю возможности искать по слишком коротким словам // кроме всего прочего, это сильно загружает сервер. Итак, разрешим искать только // по словам, которые длиннее двух букв (если ограничение больше, надо заменить // "{1,2}" на "{1, кол-во символов}"). $trimmed = trim(ereg_replace("/\s(\S{1,2})\s/", " ", ereg_replace(" +", " "," $trimmed "))); // А после замены плохих слов - надо сжать двойные пробелы (они были сделаны // специально для корректного поиска коротких слов). $trimmed = ereg_replace(" +", " ", $trimmed); $trimmed = strtolower($trimmed); // убираем заглавные буквы { if (strlen($trimmed)<4) $trimmed=""; } // если слово меньше 4 символов то игнорируем $rubs_zapros2=" AND (Note like '%". str_replace(" ", "%' AND Note LIKE '%", $trimmed). "%' OR Firm like '%". str_replace(" ", "%' AND Firm LIKE '%", $trimmed). "%' OR Pricetxt like '%". str_replace(" ", "%' AND Pricetxt LIKE '%", $trimmed). "%')"; $y2 = " Date>0 "; $ord2 = "Date DESC"; } // если вызван поиск END $sql="SELECT SQL_CALC_FOUND_ROWS * from $zarplata where $y2 $QRegion AND Moderate=1 AND Type=$ivr $rubs_zapros2 order by $ord2 LIMIT $i0, $i1 "; $q=$db->query($sql); // считаем кол-во найденных всего $_query = "SELECT FOUND_ROWS()"; $_result = mysql_query($_query); $numrows = mysql_result($_result,0); # Помощник посетителя $help=$help." Помощник посетителя"; $help=$help."
!si","\\2 !si","
",$note);
$note = preg_replace("!!si","
";
SetParamOut("Banner1",$banner1);
$note = preg_replace("!", "", $note); $note = str_replace("\n", "", $note); $note = str_replace("\r"," ",$note); //добавляем к тексту пробел в конце, т.к. по пробелам будет делиться текст, без этого последнее слово будет обрезаться if (strlen($note)>464) { $desc=$note." "; //2 - на сколько делим, 0.02 - сглаживание (%) $l=intval(strlen($desc)/2+strlen($desc)*0.02); //убираем переводы строк $desc=ereg_replace("[\r\n]"," ",$desc); //делим текст preg_match_all("/(.{1,$l})[ \n\r\t]+/",$desc,$descArray); $note = $descArray[1][0]." »»"; } if (strlen($note)<170) $note = $note." "; $note = str_replace("","", $note); $note = str_replace("","", $note); SetParamOut("Note",$note); if ($url_firm>"0") { SetParamOut("Firm",$firm_url); } else { SetParamOut("Firm",$db->Record['Firm']); } if ($url_firm>"0") { //$Div_color="#fcfcfc;"; $Div_color="#ffffff;"; } else { $Div_color="#ffffff"; } SetParamOut("DIV_COLOR",$Div_color); $D1 = $db->Record['Date']; $D2 = $db->Record['Date_end']; if ($D1 < $t AND $D2 > $t) { $d_color="red"; } else { $d_color="#808080"; } SetParamOut("D_COLOR",$d_color); // если нет расширенного описания - то выводим ссылку на сайт выставки (если есть) if ($firm_no>"0") { $empty=""; SetParamOut("URL",$empty); } else { SetParamOut("URL",$db->Record['URL']); } // SetParamOut("Pricetxt",$db->Record['Pricetxt']); SetParamOut("Pricetxt",$price); $Zarplata=intval($db->Record['Zarplata']); if ($Zarplata) $Zarplata=' '; SetParamOut("Zarplata",$Zarplata); // partner.yandex.ru_BEGIN if($t_i++==2) { $resume=$resume." |
|
||||
";
SetParamOut("Banner1",$banner1);
$note = preg_replace("!