<?php
session_start();
define('H', $_SERVER['DOCUMENT_ROOT'] .'/');


error_reporting(0) ;
ini_set('display_errors', 'OFF');

/* Создаем переменную адреса */
$HOME = 'http://'.$_SERVER['HTTP_HOST'];
$HOME_S = 'http://'.$_SERVER['HTTP_HOST'];

/* База данных */
define('romanvht_host', 'localhost'); // Хост
define('romanvht_user', 'load.h6m.ru'); // Имя пользователя
define('romanvht_pass', 'load.h6m.ru'); // Пароль
define('romanvht_name', 'load.h6m.ru'); // Имя базы
// соединяемся с бд

include_once H.'sys/bill_core.php'; // Путь к настройке биллинга
include_once H.'sys/set.php'; // настройка биллинга в админке

@mysql_connect(romanvht_host, romanvht_user, romanvht_pass);

$db = @mysql_select_db(romanvht_name);
if (!$db) {
    echo 'Ошибка подключения к БД MySQL!<br>Проверьте параметры подключения!';
    exit;
}

mysql_query("SET NAMES 'utf8'");

if (isset($_COOKIE['login']) && isset($_COOKIE['pass'])) {
$login = mysql_real_escape_string($_COOKIE['login']);
$pass = mysql_real_escape_string($_COOKIE['pass']);
$sql_user = mysql_query("SELECT `id` FROM `user` WHERE `login` = '". $login ."' AND `pass` = '". $pass ."' LIMIT 1");
if (mysql_num_rows($sql_user) == 1) {
$user = mysql_fetch_object($sql_user);
$_SESSION['user_id'] = $user->id;
}
}
// Класс пользователя
if (isset($_SESSION['user_id'])) {
    $sql_user_2 = mysql_query("SELECT * FROM `user` WHERE `id` = ".$_SESSION['user_id']);
if (mysql_num_rows($sql_user_2) != 0) {
$user = mysql_fetch_object($sql_user_2);
}
}else { $user = NULL; }
// Фильтрация данных
function html($msg) {
    $return = trim(htmlspecialchars(mysql_real_escape_string($msg)));
    return $return;
}
// ББ-коды
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('#&lt;\?(.*?)\?&gt;#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 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="post">';
    if ($page > 1) echo '<a href="'. $link .'page='. ($page - 1) .'">&laquo; Назад</a> ';
    if ($page > 1 && $page < $k_page) echo '<span style="color:#000;">|</span>';
    if ($page < $k_page) echo ' <a href="'. $link .'page='. ($page + 1) .'">Вперед &raquo;</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 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 string($str) {
    $ru = array('й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф','ы','в','а','п','р','о','л','д','ж','э','я','ч','с','м','и','т','ь','б','ю','Й','Ц','У','К','Е','Н','Г','Ш','Щ','З','Х','Ъ','Ф','Ы','В','А','П','Р','О','Л','Д','Ж','Э','Я','Ч','С','М','И','Т','Ь','Б','Ю');
    return strlen(str_replace($ru, '0', $str));
}
// Шифровка
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 online($user = NULL) {
    $ank = mysql_fetch_object(mysql_query("SELECT `pol`,`blocking`,`position`, `time_last` FROM `user` WHERE `id` = '$user' LIMIT 1"));

if ($ank->time_last > (time()-600)) {
echo '<font color="green">ON</font> ';
}

if ($ank->position == 'user'){
    if ($ank->pol == 1 && $ank->blocking == 0)echo '<img src="/style/img/user/user_m.png"> ';
if ($ank->pol == 0 && $ank->blocking == 0) echo '<img src="/style/img/user/woman.png"> ';
} elseif ($ank->position == 'admin' || $ank->position == 'mod') {
if ($ank->blocking == 0 && $ank->pol == 1)echo '<img src="/style/img/user/admin_man.gif"> ';
if ($ank->blocking == 0 && $ank->pol == 0)echo '<img src="/style/img/user/admin_woman.gif"> ';
}
if ($ank->blocking == 1)echo '<img src="/style/img/user/user_info.png"> ';
}
/* Вывод иконок */
function icons($url = NULL,$alt = NULL) {
echo '<img src="http://'.$url.'" title="'.$alt.'">';
}

class Div {
var $div_razd;
var $div_menu;
var $div_err;
var $off;
}
$div = new Div;
$div->div_razd = '<div class="menu_razd">';
$div->div_menu = '<div class="menu">';
$div->div_err = '<div class="menu_razd">';
$div->off = '</div>';

// Генератор паролей
  function generate_password($number)
  {
    $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 get_ank($user = NULL) {
    $ank = mysql_fetch_array(mysql_query("SELECT * FROM `user`  WHERE `id` = '$user' LIMIT 1"));

echo '<a href="/user'. $ank['id'] .'">'.($ank['name'] != NULL ? ''.html($ank['name']).' ('.$ank['login'].')' : ''.$ank['login'].'' ).' </a>';

}

?>