<?php
ob_start();
class Div {
var $menu_link;
var $post;
var $post0;
var $foot;
var $link;
var $line;
var $razdel;
var $main_menu;
var $post_title0;
var $post_title1;
var $posttitle0;
var $posttitle1;
var $err;
var $title;
var $off;
}
$div = new Div;
$div->menu_link = '<div class="menu_link">';
$div->post = '<div class="post">';
$div->post0 = '<div class="post0">';
$div->foot = '<div class="foot">';
$div->link = '<div class="link">';
$div->line = '<div class="line">';
$div->razdel = '<div class="razdel">';
$div->main_menu = '<div class="main_menu">';
$div->post_title0 = '<div class="post_title0">';
$div->post_title1 = '<div class="post_title1">';
$div->posttitle0 = '<div class="posttitle0">';
$div->posttitle1 = '<div class="posttitle1">';
$div->err = '<div class="err">';
$div->title = '<div class="title">';
$div->off = '</div>';
function nick($id)
{
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '".abs(intval($id))."'"),0)>0)
{
$ank = mysql_fetch_object(mysql_query("SELECT * FROM `user` WHERE `id` = '".abs(intval($id))."'"));
$nick = $ank->login;
}
else $nick = 'Система';
return $nick;
}
// ББ-коды
function bbcode($msg) {
$bb = array('~\[url=(.*?)?\](.*?)\[\/url\]~si' => '<a href="$1" target="_blank">$2</a>',
'/\[b\](.+)\[\/b\]/isU' => '<b>$1</b>',
'/\[u\](.+)\[\/u\]/isU' => '<span style="text-decoration:underline;">$1</span>',
'/\[s\](.+)\[\/s\]/isU' => '<s>$1</s>',
'/\[i\](.+)\[\/i\]/isU' => '<i>$1</i>',
'/\[color=(.+)\](.+)\[\/color\]/isU' => '<span style="color:$1;">$2</span>',
'/\[quote\](.+)\[\/quote\]/isU' => '<div class="quote">$1</div>');
$msg = preg_replace(array_keys($bb), array_values($bb), $msg);
return $msg;
}
// Обрезаем текст до первого пробела после n-го количества символов
function cut($str, $limit) {
$str = mb_substr($str, 0, $limit, 'UTF-8');
return substr($str, 0, strrpos($str, ' '));
}
// Подсветка PHP кода
function color_code($code) {
$code = html_entity_decode($code[0], ENT_QUOTES, 'UTF-8');
$code = trim($code);
$code = highlight_string($code, true);
return '<div class="quote">'. $code .'</div>';
}
function preg_replace_code($msg){
$msg = preg_replace_callback('#<\?(.*?)\?>#sui', 'color_code', $msg);
return $msg;
}
function output($msg) {
$msg = bbcode(preg_replace_code($msg));
$msg = preg_replace('/\\r\\n/si', '<br/>', $msg);
return $msg;
}
// Функция для правильново подсчёта кириллицы
function string($str) {
$ru = array('й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф','ы','в','а','п','р','о','л','д','ж','э','я','ч','с','м','и','т','ь','б','ю','Й','Ц','У','К','Е','Н','Г','Ш','Щ','З','Х','Ъ','Ф','Ы','В','А','П','Р','О','Л','Д','Ж','Э','Я','Ч','С','М','И','Т','Ь','Б','Ю');
return strlen(str_replace($ru, '0', $str));
}
// Время
function ptime($time = NULL) {
ini_set('date.timezone', 'Europe/Moscow');
if ($time == NULL) $time = time();
$full_time = date('d.m.Y', $time);
$date = date('d.m.Y', $time);
$timep = date('H:i', $time);
if ($date == date('d.m.Y')) $full_time = date('H:i', $time);
if ($date == date('d.m.Y', time()-60*60*24)) $full_time = date('Вчера, H:i', $time);
return $full_time;
}
// Шифровка
function in_md5($string) {
$pass = md5(md5($string));
$count_1 = strlen($pass);
$return = NULL;
for($i = 1; $i <= $count_1; $i++) {
$n = ($i == 1 ? 0 : $i-1);
$return .= md5(md5(substr($pass, $n, $i)));
}
return md5($return);
}
// Постраничная навигация
function page($k_page = 1) {
$page = 1;
if (isset($_GET['page'])) {
if ($_GET['page'] == 'end') $page = intval($k_page);
elseif (is_numeric($_GET['page'])) $page = intval($_GET['page']);
}
if ($page < 1) $page = 1;
if ($page > $k_page) $page = $k_page;
return $page;
}
function k_page($k_post = 0, $k_p_str = 10) {
if ($k_post != 0) {
$v_pages = ceil($k_post/$k_p_str);
return $v_pages;
} else {
return 1;
}
}
function str($link = '?', $k_page = 1, $page = 1) {
if ($page < 1) $page = 1;
echo '<div class="str">';
if ($page > 1) echo '<a href="'. $link .'page='. ($page - 1) .'">« Назад</a> ';
if ($page > 1 && $page < $k_page) echo '<span style="color:#000;">|</span>';
if ($page < $k_page) echo ' <a href="'. $link .'page='. ($page + 1) .'">Вперед »</a>';
echo '<br>';
if ($page != 1) echo '<a href="'. $link .'page=1"><span class="unsel">1</span></a>';
else echo '<span class="sel">1</span>';
for ($ot = -3; $ot <= 3; $ot++) {
if ($page + $ot > 1 && $page + $ot < $k_page) {
if ($ot == -3 && $page + $ot > 3) echo " ..";
if ($ot != 0) echo ' <a href="'. $link .'page='. ($page + $ot) .'"><span class="unsel">'. ($page + $ot) .'</span></a>';
else echo ' <span class="sel">'. ($page + $ot) .'</span>';
if ($ot == 3 && $page + $ot < $k_page - 1) echo ' ..';
}
}
if ($page != $k_page) echo ' <a href="'. $link .'page=end"><span class="unsel">'. $k_page .'</span></a>';
elseif ($k_page > 1) echo ' <span class="sel">'. $k_page .'</span>';
echo '</div>';
}
function filter($t)
{
$t = trim(htmlspecialchars($t));
$t = mysql_real_escape_string($t);
$t = str_replace("%","",$t);
$t = str_replace("\r","",$t);
$t = str_replace("\n","<br>",$t);
$t = str_replace("|","¦",$t);
$t = preg_replace("/s(w+s)1/i","$1",$t);
return $t;
}
function stats($t)
{
$t = intval($t);
$t = number_format($t);
$t = str_replace(","," ",$t);
return $t;
}
function order_day($work,$return_number = false)
{
global $time;
$f = ($work-$time)/(3600*24);
if($f<0)$day='<span style="color:red">0</span>';
elseif($f<1)$day='<span style="color:red">'.round($f,2).'</span>';
else $day='<span style="color:green">'.round($f,2).'</span>';
if ($return_number === true) {
return round($f,2);
}
return $day;
}
// Генератор паролей
function generate_password()
{
$arr = array('a','b','c','d','e','f',
'g','h','i','j','k','l',
'm','n','o','p','r','s',
't','u','v','x','y','z',
'A','B','C','D','E','F',
'G','H','I','J','K','L',
'M','N','O','P','R','S',
'T','U','V','X','Y','Z',
'1','2','3','4','5','6',
'7','8','9','0');
// Генерируем пароль
$pass = "";
for($i = 0; $i < 12; $i++)
{
// Вычисляем случайный индекс массива
$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];
}
return $pass;
}
function rus2translit($string) {
$converter = array(
'а' => 'a', 'б' => 'b', 'в' => 'v',
'г' => 'g', 'д' => 'd', 'е' => 'e',
'ё' => 'e', 'ж' => 'zh', 'з' => 'z',
'и' => 'i', 'й' => 'y', 'к' => 'k',
'л' => 'l', 'м' => 'm', 'н' => 'n',
'о' => 'o', 'п' => 'p', 'р' => 'r',
'с' => 's', 'т' => 't', 'у' => 'u',
'ф' => 'f', 'х' => 'h', 'ц' => 'c',
'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch',
'ь' => '\'', 'ы' => 'y', 'ъ' => '\'',
'э' => 'e', 'ю' => 'yu', 'я' => 'ya',
'А' => 'A', 'Б' => 'B', 'В' => 'V',
'Г' => 'G', 'Д' => 'D', 'Е' => 'E',
'Ё' => 'E', 'Ж' => 'Zh', 'З' => 'Z',
'И' => 'I', 'Й' => 'Y', 'К' => 'K',
'Л' => 'L', 'М' => 'M', 'Н' => 'N',
'О' => 'O', 'П' => 'P', 'Р' => 'R',
'С' => 'S', 'Т' => 'T', 'У' => 'U',
'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C',
'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sch',
'Ь' => '\'', 'Ы' => 'Y', 'Ъ' => '\'',
'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya',
);
return strtr($string, $converter);
}
?>