\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 = preg_replace('#\[c\](.+?)\[/c\]#si', '
\1
', $var); $var = preg_replace_callback('~\\[url=(https?://.+?)\\](.+?)\\[/url\\]|(https?://[0-9a-z\.-]+\.[a-z0-9]{2,6}((&)?[0-9a-zA-Z/\.\?\~=_%])*)~', 'url_replace', $var); return $var; } ///////////////////////////// //дневники function fdn() { return mysql_result(mysql_query("SELECT COUNT(*) FROM `dnevniki` WHERE `dnid` = 'txt'"), 0); } function dn_new($par=0) { global $realtime; global $user_id; $old = $realtime - (3 * 24 * 3600); $total = mysql_result(mysql_query("SELECT COUNT(*) FROM `dnevniki` LEFT JOIN `dn_rdm` ON `dnevniki`.`id` = `dn_rdm`.`dnid` AND `dn_rdm`.`user_id` = '" . $user_id . "' WHERE `dn_rdm`.`user_id` IS NULL AND `dnevniki`.`dnid` = 'txt' AND `vr` > '".$old."' "), 0); return $total; } function dnevniki_com_new() { global $realtime; global $user_id; $old = $realtime - (3 * 24 * 3600); return mysql_result(mysql_query("SELECT COUNT(*) FROM `dnevniki` LEFT JOIN `dnevniki_com_rdm` ON `dnevniki`.`id` = `dnevniki_com_rdm`.`comid` AND `dnevniki_com_rdm`.`userid` = '" . $user_id . "' WHERE `dnevniki_com_rdm`.`userid` IS NULL AND `dnevniki`.`dnid` = 'com' AND `dnevniki`.`time` > '".$old."' ORDER BY `dnevniki`.`time`;"), 0); } function dnevniki_total() { $newrec = dn_new(); $newcom = dnevniki_com_new(); return fdn().($newrec ? '/+'.$newrec.'' : '').($newcom ? '/+'.$newcom.'' : ''); } //дневники //////////////////////////// /* ----------------------------------------------------------------- Служебная функция подсветки PHP кода ----------------------------------------------------------------- */ function highlight($php) { $php = strtr($php, array ( '
' => '', '\\' => 'slash_JOHNCMS' )); $php = html_entity_decode(trim($php), ENT_QUOTES, 'UTF-8'); $php = substr($php, 0, 2) != "" : $php; $php = highlight_string(stripslashes($php), true); $php = strtr($php, array ( 'slash_JOHNCMS' => '\', ':' => ':', '[' => '[', '' => ' ' )); return '
' . $php . '
'; } /* ----------------------------------------------------------------- Служебная функция парсинга URL ----------------------------------------------------------------- */ function url_replace($m) { if (!isset($m[3])) return '' . str_replace(':', ':', $m[2]) . ''; else { $m[3] = str_replace(':', ':', $m[3]); return '' . $m[3] . ''; } } /* ----------------------------------------------------------------- Транслитерация текста ----------------------------------------------------------------- */ 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 pagenav($base_url, $start, $max_value, $num_per_page) { $pgcont = 4; $pgcont = (int)($pgcont - ($pgcont % 2)) / 2; if ($start >= $max_value) $start = max(0, (int)$max_value - (((int)$max_value % (int)$num_per_page) == 0 ? $num_per_page : ((int)$max_value % (int)$num_per_page))); else $start = max(0, (int)$start - ((int)$start % (int)$num_per_page)); $base_link = '%s '; $pageindex = $start == 0 ? '' : sprintf($base_link, $start - $num_per_page, '<<'); if ($start > $num_per_page * $pgcont) $pageindex .= sprintf($base_link, 0, '1'); if ($start > $num_per_page * ($pgcont + 1)) $pageindex .= ' ... '; for ($nCont = $pgcont; $nCont >= 1; $nCont--) if ($start >= $num_per_page * $nCont) { $tmpStart = $start - $num_per_page * $nCont; $pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1); } $pageindex .= '[' . ($start / $num_per_page + 1) . '] '; $tmpMaxPages = (int)(($max_value - 1) / $num_per_page) * $num_per_page; for ($nCont = 1; $nCont <= $pgcont; $nCont++) if ($start + $num_per_page * $nCont <= $tmpMaxPages) { $tmpStart = $start + $num_per_page * $nCont; $pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1); } if ($start + $num_per_page * ($pgcont + 1) < $tmpMaxPages) $pageindex .= ' ... '; if ($start + $num_per_page * $pgcont < $tmpMaxPages) $pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1); if ($start + $num_per_page < $max_value) { $display_page = ($start + $num_per_page) > $max_value ? $max_value : ($start + $num_per_page); $pageindex .= sprintf($base_link, $display_page, '>>'); } return $pageindex; } /* ----------------------------------------------------------------- Функция пересчета на дни, или часы ----------------------------------------------------------------- */ function timecount($var) { $str = ''; if ($var < 0) $var = 0; $day = ceil($var / 86400); if ($var > 345600) { $str = $day . ' дней'; } elseif ($var >= 172800) { $str = $day . ' дня'; } elseif ($var >= 86400) { $str = '1 день'; } else { $str = gmdate('G:i:s', $var); } return $str; } /* ----------------------------------------------------------------- Форматирование размера файлов ----------------------------------------------------------------- */ function formatsize($size) { if ($size >= 1073741824) { $size = round($size / 1073741824 * 100) / 100 . ' Gb'; } elseif ($size >= 1048576) { $size = round($size / 1048576 * 100) / 100 . ' Mb'; } elseif ($size >= 1024) { $size = round($size / 1024 * 100) / 100 . ' Kb'; } else { $size = $size . ' b'; } return $size; } /* ----------------------------------------------------------------- Проверка переменных ----------------------------------------------------------------- */ function check($str) { $str = htmlentities(trim($str), ENT_QUOTES, 'UTF-8'); $str = nl2br($str); $str = strtr($str, array ( chr(0)=> '', chr(1)=> '', chr(2)=> '', chr(3)=> '', chr(4)=> '', chr(5)=> '', chr(6)=> '', chr(7)=> '', chr(8)=> '', chr(9)=> '', chr(10)=> '', chr(11)=> '', chr(12)=> '', chr(13)=> '', chr(14)=> '', chr(15)=> '', chr(16)=> '', chr(17)=> '', chr(18)=> '', chr(19)=> '', chr(20)=> '', chr(21)=> '', chr(22)=> '', chr(23)=> '', chr(24)=> '', chr(25)=> '', chr(26)=> '', chr(27)=> '', chr(28)=> '', chr(29)=> '', chr(30)=> '', chr(31)=> '' )); $str = str_replace("\'", "'", $str); $str = str_replace('\\', "\", $str); $str = str_replace("|", "I", $str); $str = str_replace("||", "I", $str); $str = str_replace("/\\\$/", "$", $str); $str = mysql_real_escape_string($str); return $str; } /* ----------------------------------------------------------------- Обработка текстов перед выводом на экран ----------------------------------------------------------------- */ function checkout($str, $br = 0, $tags = 0) { $str = htmlentities($str, ENT_QUOTES, 'UTF-8'); if ($br == 1) $str = nl2br($str); elseif ($br == 2) $str = str_replace("\r\n", ' ', $str); if ($tags == 1) $str = tags($str); elseif ($tags == 2) $str = notags($str); $str = strtr($str, array ( chr(0)=> '', chr(1)=> '', chr(2)=> '', chr(3)=> '', chr(4)=> '', chr(5)=> '', chr(6)=> '', chr(7)=> '', chr(8)=> '', chr(9)=> '', chr(10)=> '', chr(11)=> '', chr(12)=> '', chr(13)=> '', chr(14)=> '', chr(15)=> '', chr(16)=> '', chr(17)=> '', chr(18)=> '', chr(19)=> '', chr(20)=> '', chr(21)=> '', chr(22)=> '', chr(23)=> '', chr(24)=> '', chr(25)=> '', chr(26)=> '', chr(27)=> '', chr(28)=> '', chr(29)=> '', chr(30)=> '', chr(31)=> '' )); return $str; } /* ----------------------------------------------------------------- Обработка смайлов ----------------------------------------------------------------- */ function smileys($str, $adm = 0) { global $rootpath; if (file_exists($rootpath . 'cache/smileys_cache.dat')) { $file = file($rootpath . 'cache/smileys_cache.dat'); $smileys = unserialize($file[0]); if ($adm) $smileys = array_merge($smileys, unserialize($file[1])); return strtr($str, $smileys); } else { return $str; } } /* ----------------------------------------------------------------- Сообщения об ошибках ----------------------------------------------------------------- */ function display_error($error = false, $link = '') { if ($error) { $out = '

ОШИБКА!'; if (is_array($error)) { foreach ($error as $val)$out .= '

' . $val . '
'; } else { $out .= '
' . $error; } $out .= '

' . $link . '

'; return $out; } else { return false; } } /* ----------------------------------------------------------------- Рекламная сеть mobileads.ru ----------------------------------------------------------------- */ function mobileads($mad_siteId = NULL) { $out = ''; $mad_socketTimeout = 2; // таймаут соединения с сервером mobileads.ru ini_set("default_socket_timeout", $mad_socketTimeout); $mad_pageEncoding = "UTF-8"; // устанавливаем кодировку страницы $mad_ua = urlencode(@$_SERVER['HTTP_USER_AGENT']); $mad_ip = urlencode(@$_SERVER['REMOTE_ADDR']); $mad_xip = urlencode(@$_SERVER['HTTP_X_FORWARDED_FOR']); $mad_ref = urlencode(@$_SERVER['SERVER_NAME'] . @$_SERVER['REQUEST_URI']); $mad_lines = ""; $mad_fp = @fsockopen("mobileads.ru", 80, $mad_errno, $mad_errstr, $mad_socketTimeout); if ($mad_fp) { // переменная $mad_lines будет содержать массив, непарные элементы которого будут ссылками, парные - названием $mad_lines = @file("http://mobileads.ru/links?id=$mad_siteId&ip=$mad_ip&xip=$mad_xip&ua=$mad_ua&ref=$mad_ref"); } @fclose($mad_fp); // вывод ссылок for ($malCount = 0; $malCount < count($mad_lines); $malCount += 2) { $linkURL = trim($mad_lines[$malCount]); $linkName = iconv("Windows-1251", $mad_pageEncoding, $mad_lines[$malCount + 1]); $out .= '' . $linkName . '
'; } $_SESSION['mad_links'] = $out; $_SESSION['mad_time'] = $realtime; return $out; } function provcat($catalog) { $cat1 = mysql_query("select * from `download` where type = 'cat' and id = '" . $catalog . "';"); $cat2 = mysql_num_rows($cat1); $adrdir = mysql_fetch_array($cat1); if (($cat2 == 0) || (!is_dir("$adrdir[adres]/$adrdir[name]"))) { echo 'ERROR
Back
'; require_once('../incfiles/end.php'); exit; } } ?>