\1', $text); $text = preg_replace('#\[i\](.*?)\[/i\]#si', '\1', $text); $text = preg_replace('#\[u\](.*?)\[/u\]#si', '\1', $text); $text = preg_replace('#\[s\](.*?)\[/s\]#si', '\1', $text); $text = preg_replace('#\[red\](.*?)\[/red\]#si', '\1', $text); $text = preg_replace('#\[green\](.*?)\[/green\]#si', '\1', $text); $text = preg_replace('#\[blue\](.*?)\[/blue\]#si', '\1', $text); $text = preg_replace_callback('~\\[url=(https?://.+?)\\](.+?)\\[/url\\]|(https?://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&_=/%-:#]*)~', 'url_replace', $text); return $text; } // Преобразование числа в ip function int2ip($i) { $d[0]=(int)($i/256/256/256); $d[1]=(int)(($i-$d[0]*256*256*256)/256/256); $d[2]=(int)(($i-$d[0]*256*256*256-$d[1]*256*256)/256); $d[3]=$i-$d[0]*256*256*256-$d[1]*256*256-$d[2]*256; return "$d[0].$d[1].$d[2].$d[3]"; } // Преобразование ip в число function ip2int($ip) { $a=explode(".",$ip); return $a[0]*256*256*256+$a[1]*256*256+$a[2]*256+$a[3]; } // Получаем реальный ip-адрес пользователя function getip() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip=htmlspecialchars($_SERVER['HTTP_X_FORWARDED_FOR']); } else { $ip=$_SERVER['REMOTE_ADDR']; } return $ip; } $res1 = mysql_fetch_array(mysql_query("SELECT * FROM `set` WHERE id = '1' LIMIT 1")); function browser() { if (isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])) {$browsus = htmlspecialchars(stripslashes($_SERVER['HTTP_X_OPERAMINI_PHONE_UA']));} elseif(isset($_SERVER['HTTP_USER_AGENT'])) {$browsus=htmlspecialchars(stripslashes($_SERVER['HTTP_USER_AGENT']));} else {$browsus='Not_detected';} $brow=preg_replace('|http://|i','', $browsus); //$brow=strtok($brow,'('); //$brow=strtok($brow,' '); //$brow=substr($brow,0,22); return $brow; } function ip(){ $http12 = $_SERVER['HTTP_X_FORWARDED_FOR']; $ip12 = explode(",",$http12); $ip1 = $ip12[0]; if($ip1 == ""){ $ip1 = $_SERVER['REMOTE_ADDR'];} return $ip1; } function online() { $res = mysql_query('SELECT * FROM `online` '); while($myrow = mysql_fetch_array($res)) { if(time()>$myrow['time']+(2*60)) { mysql_query("DELETE FROM `online` WHERE `id` = '".$myrow['id']."' LIMIT 1"); } } return mysql_result(mysql_query("SELECT COUNT(*) FROM `online`"),0); } $a = mysql_query("SELECT * FROM `online` WHERE `ip` = '".ip()."' LIMIT 1"); if(mysql_num_rows($a)==0) { mysql_query("INSERT INTO `online` SET br='".browser()."', ip='".ip()."', time='".time()."'"); } else { $a=mysql_fetch_array($a); mysql_query("UPDATE `online` SET br='".browser()."', ip='".ip()."', time='".time()."' WHERE ip='".ip()."'"); } online(); //Пересчёт //Настройки Анти-Спама require_once('inc/classes/anti_spam.php'); $AntiSpam = mysql_fetch_array(mysql_query("SELECT `set` FROM `modules` WHERE `name` = 'anti_spam' LIMIT 1")); $ASET = unserialize($AntiSpam['set']); echo ' Белый каталог сайтов | Гостевая книга'; echo ''; echo '
'; if(file_exists(BASEDIR.'theme/'.$res1['theme'].'/images/logo.png')) { echo '
'; } else { echo '
'.$res1['logon'].'
'; } if (isset($_SESSION['spam'])) { echo '
Ошибка
'; echo '
Автоматическая спам-блокировка!
Ваша сессия заблокирована!
'; require_once ('inc/foot.php'); exit; } if($res1['rekl']==1) { $rekl=mysql_query("SELECT * FROM `reklup` ORDER BY `mesto` DESC"); while($rekl2=mysql_fetch_array($rekl)) { echo '
Реклама
'.$rekl2['name'].'
'; } } $mod = isset($_GET['mod']) ? $_GET['mod'] : ''; switch ($mod) { // Добавление комментария case 'add' : if(isset($_POST['submit'])) { if (empty($_POST['name'])) { $error[1] = 'Вы не ввели Ник!'; } if (empty($_POST['text'])) { $error[2] = 'Вы не ввели Сообщение!'; } $code = intval($_POST['code']) ; if ($code != $_SESSION['code2']) { $error[3] = 'Защитный код введен неверно!'; } $ASPAM = new anti_spam($_POST['text'],$ASET['status_book'],$ASET['security_level'],$ASET['type_level']); $bol = $ASPAM->check_msg(); $typ = $ASPAM->check_type(); if ($bol) { $error[4] = 'Автоматическая блокировка.
Запрещено в сообщении писать ссылки на другие ресурсы.'; } if (!empty($error)) { echo '
'; foreach($error as $value) { echo "$value
"; } echo '
'; echo '
Назад
'; } else { $name = mb_substr($_POST['name'], 0, 50); $text = mb_substr($_POST['text'], 0, 1000); // User agent if (isset($_SERVER['HTTP_USER_AGENT'])) $ua = htmlspecialchars($_SERVER['HTTP_USER_AGENT']); else $ua = 'Не определен'; $time = time(); // Система антиспама $spam = 30; $antiflood = mysql_query("SELECT COUNT(*) FROM `book` WHERE `time` >='" . ($time - $spam) . "' AND `ip` = '".ip2int(getip())."' AND `ua` = '".mysql_real_escape_string($ua)."'"); $flood = mysql_result($antiflood, 0) > 0 ? 1 : false; if ($flood) { echo '
Антиспам!
Запрещенно часто добавлять сообщения!
[порог '.$spam.' секунд]
'; echo '
Назад
'; require_once ("inc/foot.php"); exit; } $name = htmlspecialchars(trim($name)); $text = htmlspecialchars(trim($text)); $result = mysql_query("insert into `book` SET `text`='" . mysql_real_escape_string($text) . "', `time`='" . $time . "', `ip`='" .ip2int(getip()). "', `ua`='" . $ua . "', `name`='" . mysql_real_escape_string($name) . "';"); if ($result) { echo '
Сообщение успешно добавлено!
Назад
'; } else { echo '
Ошибка добавления сообщения в базу. Код ошибки:
'.mysql_error().'
'; } } unset($_SESSION['code2']); } else { echo 'Error'; } break; // Вывод сообщений default: echo ""; $citaty_out = mysql_fetch_array(mysql_query("SELECT * FROM `citaty` ORDER BY RAND()")); $gb = mysql_num_rows(mysql_query("SELECT * FROM `book`")); echo '
Гостевая книга
'; echo '
Сообщений: '.$gb.'
'; echo '
Ваш ник: [max: 50]

'; ?> [max: 1000]

'; echo 'код

'; echo ' '; echo '
'; // Формируем вывод сообщений + постраничная навигация $num = 7; $page = intval($_GET['page']); $result = mysql_query('SELECT COUNT(*) FROM `book`'); $posts = mysql_result($result, 0); $total = intval(($posts - 1) / $num) + 1; if(empty($page) or $page < 0) $page = 1; if($page > $total) $page = $total; $start = $page * $num - $num; $result = mysql_query('SELECT * FROM `book` ORDER BY `id` DESC LIMIT '.$start.', '.$num.''); if ($posts >0) { while ($m = mysql_fetch_array($result)) { // $m['text'] = tags($m['text']); $m['text'] = bb_code($m['text']); $otv = "'[b]".$m['name']."[/b], '"; echo '
'.$m['name'].' [Отв] ('.date('d.m.Y в H:i',$m['time']).')
'.nl2br($m['text']).' '.(!empty($m['reply']) ? '
Админ: '.nl2br($m['reply']).'' :'').''; if ($_SESSION['admin']) { echo '
IP: '.int2ip($m['ip']).'
Юзер Агент: '.$m['ua'].'
[Редачить] [Удалить] '.(empty($m['reply']) ?'[Ответить]' :'').' '; } echo '
'; } if ($page - 4 > 0) $first = '1 ... '; if ($page + 4 <= $total) $last =' ... '.$total.''; if ($page != 1) $pervpage = 'В начало < '; if ($page != $total) $nextpage = ' > В конец'; // Находим две ближайшие станицы с обоих краев, если они есть if($page - 2 > 0) $page2left = ''. ($page - 2) .' '; if($page - 1 > 0) $page1left = ' '. ($page - 1) .' '; if($page + 2 <= $total) $page2right = ' '. ($page + 2) .''; if($page + 1 <= $total) $page1right = ' '. ($page + 1) .' '; // Вывод меню if ($posts > $num) { echo ''; } } else { echo '
Сообщений пока нет! Будь первым!
'; } if ($_SESSION['admin']) { if($posts>1) echo '
Удалить все сообщения
'; } } echo '
'; echo ' На главную'; echo '
'; $nsite = mysql_num_rows(mysql_query("SELECT * FROM `nsites`")); $total_all = ''.mysql_result(mysql_query("SELECT COUNT(`id_site`) FROM `sites` "), 0).''; echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
'; echo 'waptut'; echo ''; echo 'На сайте: [ '.online().' онлайн ]
'; echo 'Всего сайтов: '.$total_all.''; if($nsite!=0) { echo ' + '.$nsite.'
'; } echo '
'; echo '
'; echo '
'; echo '© MobileKat.Ru
'; echo'Страница сгенерирована за '.round(microtime(true) - $start_time,3).' сек.
'; echo '
'; echo ''; ob_end_flush(); ?>