`cms_forum_rdm`.`time`);"); return mysql_result($req, 0); } else { $req = mysql_query("SELECT COUNT(*) FROM `forum` LEFT JOIN `cms_forum_rdm` ON `forum`.`id` = `cms_forum_rdm`.`topic_id` AND `cms_forum_rdm`.`user_id` = '" . $user_id . "' WHERE `forum`.`type`='t' AND `moder`='1' AND `close`!='1' AND (`cms_forum_rdm`.`topic_id` Is Null OR `forum`.`time` > `cms_forum_rdm`.`time`);"); return mysql_result($req, 0); } } else { return false; } } function dnews() { //////////////////////////////////////////////////////////// // Дата последней новости // //////////////////////////////////////////////////////////// if (!empty($_SESSION['uid'])) { global $sdvig; } else { global $sdvigclock; $sdvig = $sdvigclock; } $req = mysql_query("select `time` from `news` order by `time` desc;"); $res = mysql_fetch_array($req); $vrn = $res['time'] + $sdvig * 3600; $vrn1 = date("H:i/d.m.y", $vrn); return $vrn1; } function kuser() { //////////////////////////////////////////////////////////// // Колличество зарегистрированных пользователей // //////////////////////////////////////////////////////////// global $realtime; // Общее колличество $req = mysql_query("SELECT * FROM `users` ;"); $total = mysql_num_rows($req); // Зарегистрированные за последние сутки $req = mysql_query("SELECT * FROM `users` WHERE `datereg`>" . ($realtime - 86400) . ";"); $res = mysql_num_rows($req); if ($res > 0) $total = $total . ' +' . $res . ''; return $total; } function wfrm($id='') { //////////////////////////////////////////////////////////// // Счетчик "Кто в форуме?" // //////////////////////////////////////////////////////////// global $realtime; $onltime = $realtime - 300; $count = 0; $qf = @mysql_query("select * from `users` where lastdate>='" . $onltime . "';"); while ($arrf = mysql_fetch_array($qf)) { $whf = mysql_query("select * from `count` where name='" . $arrf['name'] . "' order by time desc ;"); while ($whf1 = mysql_fetch_array($whf)) { $whf2[] = $whf1['where']; } $wherf = $whf2[0]; $whf2 = array(); $wherf1 = explode(",", $wherf); if (empty($id)) { if ($wherf1[0] == "forum") { $count = $count + 1; } } else { if ($wherf == "forum,$id") { $count = $count + 1; } } } return $count; } function upload() { //////////////////////////////////////////////////////////// // Статистика обменника // //////////////////////////////////////////////////////////// global $realtime; $fl = mysql_query("select `id` from `upload` where `type`='file' ;"); $countf = mysql_num_rows($fl); $old = $realtime - (3 * 24 * 3600); $fl1 = mysql_query("select `id` from `upload` where `time` > '" . $old . "' and `type`='file' ;"); $countf1 = mysql_num_rows($fl1); $out = $countf; if ($countf1 > 0) { $out = $out . "/+$countf1"; } return $out; } function dload() { //////////////////////////////////////////////////////////// // Статистика загрузок // //////////////////////////////////////////////////////////// global $realtime; $fl = mysql_query("select `id` from `download` where `type`='file' ;"); $countf = mysql_num_rows($fl); $old = $realtime - (3 * 24 * 3600); $fl1 = mysql_query("select `id` from `download` where `time` > '" . $old . "' and `type`='file' ;"); $countf1 = mysql_num_rows($fl1); $out = $countf; if ($countf1 > 0) { $out = $out . "/+$countf1"; } return $out; } function fgal($mod = 0) { //////////////////////////////////////////////////////////// // Статистика галлереи // //////////////////////////////////////////////////////////// // Если вызвать с параметром 1, то будет выдавать только колличество новых картинок global $realtime; $old = $realtime - (3 * 24 * 3600); $req = mysql_query("select `id` from `gallery` where `time` > '" . $old . "' and `type`='ft' ;"); $new = mysql_num_rows($req); mysql_free_result($req); if ($mod == 0) { $req = mysql_query("select `id` from `gallery` where `type`='ft' ;"); $total = mysql_num_rows($req); mysql_free_result($req); $out = $total; if ($new > 0) { $out = $out . "/+$new"; } } else { $out = $new; } return $out; } function brth() { //////////////////////////////////////////////////////////// // Дни рождения // //////////////////////////////////////////////////////////// global $realtime; $mon = date("m", $realtime); if (substr($mon, 0, 1) == 0) { $mon = str_replace("0", "", $mon); } $day = date("d", $realtime); if (substr($day, 0, 1) == 0) { $day = str_replace("0", "", $day); } $q = mysql_query("select * from `users` where dayb='" . $day . "' and monthb='" . $mon . "' and preg='1';"); $count = mysql_num_rows($q); return $count; } function stlib() { //////////////////////////////////////////////////////////// // Статистика библиотеки // //////////////////////////////////////////////////////////// global $realtime; global $dostlmod; $fl = mysql_query("select `id` from `lib` where `type`='bk' and `moder`='1';"); $countf = mysql_num_rows($fl); $old = $realtime - (3 * 24 * 3600); $fl1 = mysql_query("select `id` from `lib` where `time` > '" . $old . "' and `type`='bk' and `moder`='1';"); $countf1 = mysql_num_rows($fl1); $out = $countf; if ($countf1 > 0) { $out = $out . '/+' . $countf1 . ''; } $fm = @mysql_query("select `id` from `lib` where `type`='bk' and `moder`='0';"); $countm = @mysql_num_rows($fm); if ($dostlmod == '1' && ($countm > 0)) $out = $out . "/ Мод:$countm"; return $out; } function wch($id='') { //////////////////////////////////////////////////////////// // Статистика Чата // //////////////////////////////////////////////////////////// global $realtime; $onltime = $realtime - 300; $count = 0; $qf = @mysql_query("select `id` from `users` where `lastdate` >='" . intval($onltime) . "';"); while ($arrf = mysql_fetch_array($qf)) { $whf = mysql_query("select `id` from `count` where `name`='" . $arrf['name'] . "' order by `time` desc ;"); while ($whf1 = mysql_fetch_array($whf)) { $whf2[] = $whf1[where]; } $wherf = $whf2[0]; $whf2 = array(); $wherf1 = explode(",", $wherf); if (empty($id)) { if ($wherf1[0] == "chat") { $count = $count + 1; } } else { if ($wherf == "chat,$id") { $count = $count + 1; } } } return $count; } function gbook($mod = 0) { //////////////////////////////////////////////////////////// // Статистика гостевой // //////////////////////////////////////////////////////////// // Если вызвать с параметром 1, то будет выдавать колличество новых в гостевой // Если вызвать с параметром 2, то будет выдавать колличество новых в Админ-Клубе global $realtime; global $dostmod; switch ($mod) { case 1: $req = mysql_query("SELECT `id` FROM `guest` WHERE `adm`='0' AND `time`>'" . ($realtime - 86400) . "';"); $count = mysql_num_rows($req); break; case 2: if ($dostmod == 1) { $req = mysql_query("SELECT `id` FROM `guest` WHERE `adm`='1' AND `time`>'" . ($realtime - 86400) . "';"); $count = mysql_num_rows($req); } break; default: $req = mysql_query("SELECT `id` FROM `guest` WHERE `adm`='0' AND `time`>'" . ($realtime - 86400) . "';"); $count = mysql_num_rows($req); if ($dostmod == 1) { $req = mysql_query("SELECT `id` FROM `guest` WHERE `adm`='1' AND `time`>'" . ($realtime - 86400) . "';"); $count = $count . ' / ' . mysql_num_rows($req) . ''; } } return $count; } //////////////////////////////////////////////////////////////////////////////// // Основные функции (используются в большинстве модулей системы) // //////////////////////////////////////////////////////////////////////////////// function tags($var = '') { //////////////////////////////////////////////////////////// // Обработка ссылок и тэгов BBCODE в тексте // //////////////////////////////////////////////////////////// $var = preg_replace_callback('{(?:(\w+://)|www\.|wap\.)[\w-]+(\.[\w-]+)*(?: : \d+)?[^<>"\'()\[\]\s]*(?:(?\1', $var); $var = preg_replace('#\[i\](.*?)\[/i\]#si', '\1', $var); $var = preg_replace('#\[u\](.*?)\[/u\]#si', '\1', $var); $var = preg_replace('#\[s\](.*?)\[/s\]#si', '\1', $var); $var = preg_replace('#\[red\](.*?)\[/red\]#si', '\1', $var); $var = preg_replace('#\[green\](.*?)\[/green\]#si', '\1', $var); $var = preg_replace('#\[blue\](.*?)\[/blue\]#si', '\1', $var); //$var = eregi_replace("\\[l\\]([[:alnum:]_=:/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/~%]*(\\?[[:alnum:]?+.&_=/;%]*)?)?)\\[l/\\]((.*)?)\\[/l\\]", "\\6", $var); return $var; } function hrefCallback($p) { //////////////////////////////////////////////////////////// // Служебная функция парсинга URL // //////////////////////////////////////////////////////////// $name = htmlspecialchars($p[0]); $href = !empty($p[1]) ? $name : "http://$name"; return "$name"; } function antilink($var) { //////////////////////////////////////////////////////////// // Маскировка ссылок в тексте // //////////////////////////////////////////////////////////// $var = eregi_replace("((https?|ftp)://)([[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/~%]*(\\?[[:alnum:]?+&_=/;%]*)?)?)", "[реклама]", $var); $var = strtr($var, array(".ru" => "***", ".com" => "***", ".net" => "***", ".org" => "***", ".info" => "***", ".mobi" => "***", ".wen" => "***", ".kmx" => "***", ".h2m" => "***")); return $var; } function trans($str) { //////////////////////////////////////////////////////////// // Транслитерация текста // //////////////////////////////////////////////////////////// $str = strtr($str, array('a' => 'а', 'b' => 'б', 'v' => 'в', 'g' => 'г', 'd' => 'д', 'e' => 'е', 'yo' => 'ё', 'zh' => 'ж', 'z' => 'з', 'i' => 'и', 'j' => 'й', 'k' => 'к', 'l' => 'л', 'm' => 'м', 'n' => 'н', 'o' => 'о', 'p' => 'п', 'r' => 'р', 's' => 'с', 't' => 'т', 'u' => 'у', 'f' => 'ф', 'h' => 'х', 'c' => 'ц', 'ch' => 'ч', 'w' => 'ш', 'sh' => 'щ', 'q' => 'ъ', 'y' => 'ы', 'x' => 'э', 'yu' => 'ю', 'ya' => 'я', 'A' => 'А', 'B' => 'Б', 'V' => 'В', 'G' => 'Г', 'D' => 'Д', 'E' => 'Е', 'YO' => 'Ё', 'ZH' => 'Ж', 'Z' => 'З', 'I' => 'И', 'J' => 'Й', 'K' => 'К', 'L' => 'Л', 'M' => 'М', 'N' => 'Н', 'O' => 'О', 'P' => 'П', 'R' => 'Р', 'S' => 'С', 'T' => 'Т', 'U' => 'У', 'F' => 'Ф', 'H' => 'Х', 'C' => 'Ц', 'CH' => 'Ч', 'W' => 'Ш', 'SH' => 'Щ', 'Q' => 'Ъ', 'Y' => 'Ы', 'X' => 'Э', 'YU' => 'Ю', 'YA' => 'Я')); return $str; } function unhtmlentities($string) { //////////////////////////////////////////////////////////// // Декодирование htmlentities, PHP4совместимый режим // //////////////////////////////////////////////////////////// $string = str_replace('&', '&', $string); $string = preg_replace('~*([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string); $string = preg_replace('~*([0-9]+);~e', 'chr(\\1)', $string); $trans_tbl = get_html_translation_table(HTML_ENTITIES); $trans_tbl = array_flip($trans_tbl); return strtr($string, $trans_tbl); } function pagenav($var = array()) { //////////////////////////////////////////////////////////// // Навигация по страницам // //////////////////////////////////////////////////////////// $ba = ceil($var['total'] / $var['numpr']); $page = ($ba > $var['page']) ? $var['page'] : $ba; $start = $page * $var['numpr'] - $var['numpr']; $asd = $start - ($var['numpr']); $asd2 = $start + ($var['numpr'] * 2); echo '