<?php
/*
////////////////////////////////////////////////////////////////////////////////
// JohnCMS //
// Официальный сайт сайт проекта: http://johncms.com //
// Дополнительный сайт поддержки: http://gazenwagen.com //
////////////////////////////////////////////////////////////////////////////////
// JohnCMS core team: //
// Евгений Рябинин aka john77 john77@johncms.com //
// Олег Касьянов aka AlkatraZ alkatraz@johncms.com //
// //
// Информацию о версиях смотрите в прилагаемом файле version.txt //
////////////////////////////////////////////////////////////////////////////////
*/
defined('_IN_JOHNCMS') or die('Error: restricted access');
$_SESSION['lib'] = rand(1000, 9999);
if (!empty ($_POST['srh'])) {
$srh = trim($_POST['srh']);
}
else {
echo "Вы не ввели условие поиска!<br/><a href='?'>К категориям</a><br/>";
require_once ('../incfiles/end.php');
exit;
}
if (mb_strlen($_POST['srh']) < 2) {
echo "В запросе на поиск должно быть не менее 2-х символов.<br/><a href='?'>К категориям</a><br/>";
require_once ('../incfiles/end.php');
exit;
}
$mod = isset ($_POST['mod']) ? intval($_POST['mod']) : 1;
$psk = mysql_query("select * from `lib` where type='bk' and moder='1';");
$res = array();
while ($array = mysql_fetch_array($psk)) {
switch ($mod) {
case 1 :
if (stristr($array ['name'], $srh)) {
$arrname = htmlentities($array ['name'], ENT_QUOTES, 'UTF-8');
$res[] = '<br/><a href="index.php?id=' . $array ['id'] . '">' . $arrname . '</a><br/>';
}
break;
case 2 :
$pg = mb_strlen($tx);
if (!empty ($_SESSION['symb'])) {
$simvol = $_SESSION['symb'];
}
else {
$simvol = 600;
}
$page = ceil($pg / $simvol);
$tx = $array ['text'];
if (stristr($tx, $srh)) {
$arrname = htmlentities($array ['name'], ENT_QUOTES, 'UTF-8');
$tx = htmlentities($tx, ENT_QUOTES, 'UTF-8');
$a = mb_strpos($tx, $srh);
$page = ceil($a / $simvol) + 1;
if ($a > 100) {
$a1 = $a - 100;
$a2 = 200;
}
else {
$a1 = 0;
$a2 = 100;
}
$tx = mb_substr($tx, $a1, $a2);
$b = mb_strpos($tx, " ");
$b2 = mb_strrpos($tx, " ");
$b1 = mb_strlen($tx);
$tx = mb_substr($tx, $b, $b2 - $b);
$tx = str_replace($srh1, "<b>$srh1</b>", $tx);
$tx = "...$tx...";
$res[] = "<a href='?id=" . $array ['id'] . "&page=" . $page . "'>$arrname</a><br/>$tx<br/>";
}
break;
default :
header("location: index.php");
break;
}
}
$g = count($res);
if ($g == 0) {
echo "<br/>По вашему запросу ничего не найдено<br/>";
}
else {
$srh = htmlentities($srh, ENT_QUOTES, 'UTF-8');
echo "<b>Результаты поиска</b><br/><br/>Условие поиска: <b>$srh</b><br/>Метод поиска: ";
if ($mod == 1) {
echo "по названию<hr/>";
}
else {
echo "по тексту<hr/>";
}
}
if (empty ($_GET['page'])) {
$page = 1;
}
else {
$page = intval($_GET['page']);
}
$start = $page * 10 - 10;
if ($g < $start + 10) {
$end = $g;
}
else {
$end = $start + 10;
}
for ($i = $start; $i < $end; $i++) {
$d = $i / 2;
$d1 = ceil($d);
$d2 = $d1 - $d;
$d3 = ceil($d2);
if ($d3 == 0) {
$div = "<div class='c'>";
}
else {
$div = "<div class='b'>";
}
echo "$div $res[$i]</div>";
}
echo "<hr/>";
if ($g > 10) {
$ba = ceil($g / 10);
echo "Страницы:<br/>";
$asd = $start - 10;
$asd2 = $start + 20;
if ($start != 0) {
echo '<a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . ($page - 1) . '"><<</a> ';
}
if ($asd < $g && $asd > 0) {
echo ' <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=1&">1</a> .. ';
}
$page2 = $ba - $page;
$pa = ceil($page / 2);
$paa = ceil($page / 3);
$pa2 = $page + floor($page2 / 2);
$paa2 = $page + floor($page2 / 3);
$paa3 = $page + (floor($page2 / 3) * 2);
if ($page > 13) {
echo ' <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . $paa . '">' . $paa . '</a> <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . ($paa + 1) . '">' . ($paa +
1) . '</a> .. <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . ($paa * 2) . '">' . ($paa * 2) . '</a> <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . ($paa * 2
+ 1) . '">' . ($paa * 2 + 1) . '</a> .. ';
}
elseif ($page > 7) {
echo ' <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . $pa . '">' . $pa . '</a> <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . ($pa + 1) . '">' . ($pa + 1) .
'</a> .. ';
}
for ($i = $asd; $i < $asd2;) {
if ($i < $g && $i >= 0) {
$ii = floor(1 + $i / 10);
if ($start == $i) {
echo " <b>$ii</b>";
}
else {
echo ' <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . $ii . '">' . $ii . '</a> ';
}
}
$i = $i + 10;
}
if ($page2 > 12) {
echo ' .. <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . $paa2 . '">' . $paa2 . '</a> <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . ($paa2 + 1) . '">' . ($paa2
+ 1) . '</a> .. <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . ($paa3) . '">' . ($paa3) . '</a> <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . ($paa3 + 1) .
'">' . ($paa3 + 1) . '</a> ';
}
elseif ($page2 > 6) {
echo ' .. <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . $pa2 . '">' . $pa2 . '</a> <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . ($pa2 + 1) . '">' . ($pa2
+ 1) . '</a> ';
}
if ($asd2 < $g) {
echo ' .. <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . $ba . '">' . $ba . '</a>';
}
if ($g > $start + 10) {
echo ' <a href="index.php?act=search&mod=' . $mod . '&srh=' . $srh . '&page=' . ($page + 1) . '">>></a>';
}
echo "<form action='index.php'>Перейти к странице:<br/><input type='hidden' name='act' value='search'/><input type='hidden' name='srh' value='" . $srh . "'/><input type='hidden' name='mod' value='" . $mod .
"'/><input type='text' name='page' title='Введите номер страницы'/><br/><input type='submit' title='Нажмите для перехода' value='Go!'/></form>";
}
if ($g != 0) {
echo "<br/>Найдено совпадений: $g";
}
echo '<br/><a href="?">К категориям</a><br/>';
?>