<?php
// Фильтрация цисловых данных
function num($var)
{
return abs(intval($var));
}
// Фильтрация текстовых данных
function txt($var)
{
return htmlspecialchars(trim($var));
}
// Фильтрация перед записью в базу данных
function input($var)
{
return mysql_real_escape_string(trim($var));
}
// Фильтрация для правильного вывода из базы данных
function output($var)
{
return smiles(bbcode(nl2br($var)));
}
// Шифрование пароля
function encrypt($var)
{
return md5(base64_encode($var) .'SteamCMS');
}
/*function key()
{
return md5(time());
}*/
// Проверка длины русских символов
function strlen_rus($var)
{
$rus_symbols = array('а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я');
return strlen(str_replace($rus_symbols, '0', $var));
}
// Обработка времени
function vtime($var)
{
# Если время не задано берем текущее
if ($var == NULL) $var = time();
# Время + Дата
$full_time = date('d.m.Y в H:i', $var);
# Дата
$date = date('d.m.Y', $var);
# Время
$time = date('H:i', $var);
# Если текущаяя дата совпадает с заданной
if ($date == date('d.m.Y')) $full_time = date('Сегодня в H:i', $var);
# Вчерашняя дата
if ($date == date('d.m.Y', time()-60*60*24)) $full_time = date('Вчера в H:i', $var);
return $full_time;
}
# Получения настроек из базы данных
$sql_system = mysql_query("SELECT * FROM `system`");
while ($var_system = mysql_fetch_array($sql_system))
{
$system[$var_system[0]] = $var_system[1];
}
# IP адрес
$system['ip'] = input($_SERVER['REMOTE_ADDR']);
# Браузер
$system['browser'] = input($_SERVER['HTTP_USER_AGENT']);
$system['browser'] = strtok($system['browser'], '/');
$system['browser'] = strtok($system['browser'], '(');
$system['browser'] = preg_replace('/[^a-z^0-9^\-^\.]/i', '', $system['browser']);
# Подключение файлов из папки /autoload/
$dir = opendir(HOME .'/autoload/');
while ($file = readdir($dir))
{
if (preg_match('/\.php$/i', $file)) require_once(HOME .'/autoload/'. $file);
}
// Подключение библиотек
function require_lib($var)
{
if (file_exists(HOME .'/libs/'. $var)) require_once(HOME .'/libs/'. $var);
else exit('Невозможно подключить библиотеку '. $var);
}
// Вывод ошибок
function error($var)
{
if (!empty($var)) echo '<div class="error">'. $var .'</div>';
}
// Вывод уведомлений
function message($var)
{
if (!empty($var)) echo '<div class="message">'. $var .'</div>';
}
// обработка bb кодов
function bbcode($str)
{
$bbcode = array(
'~\[url=(.*?)?\](.*?)\[\/url\]~si' => '<a href="$1" target="_blank">$2</a>',
'~\[img=(.*?)\](.*?)\[\/img\]~si' => '<img src="$1" alt="$2" />',
'/\[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>',
'/\[br\](.+)/isU' =>'<br />$1',
'/\[hr\](.+)/isU' => '<hr />$1',
'/\[big\](.+)\[\/big\]/isU' => '<span style="font-size:large;">$1</span>',
'/\[small\](.+)\[\/small\]/isU' => '<span style="font-size:small;">$1</span>',
'/\[red\](.+)\[\/red\]/isU' => '<span style="color:#ff0000;">$1</span>',
'/\[yellow\](.+)\[\/yellow\]/isU' => '<span style="color:#ffff22;">$1</span>',
'/\[green\](.+)\[\/green\]/isU' => '<span style="color:#00bb00;">$1</span>',
'/\[blue\](.+)\[\/blue\]/isU' => '<span style="color:#0000bb;">$1</span>',
'/\[white\](.+)\[\/white\]/isU' => '<span style="color:#fff;">$1</span>',
'/\[color=(.+)\](.+)\[\/color\]/isU' => '<span style="color:#$1;">$2</span>',
'/\[q\](.+)\[\/q\]/isU' => '<div class="q">Цитата: "$1"</div>',
'/\[size=([0-9]+)\](.+)\[\/size\]/isU' => '<span style="font-size:$1px;">$2</span>',
);
$str = preg_replace(array_keys($bbcode), array_values($bbcode), $str); // заменяем коды на теги
return $str;
}
function smiles($text) {
$text = strtr($text, array(
':ангел:' => '<img src="/design/smiles/aa.gif" alt="smile" />',
':-)' => '<img src="/design/smiles/ab.gif" alt="smile" />',
'=)' => '<img src="/design/smiles/ab.gif" alt="smile" />',
':улыбка:' => '<img src="/design/smiles/ab.gif" alt="smile" />',
':улыбка:' => '<img src="/design/smiles/ab.gif" alt="smile" />',
':грустный:' => '<img src="/design/smiles/ac.gif" alt="smile" />',
':подмигиваю:' => '<img src="/design/smiles/ad.gif" alt="smile" />',
':язык:' => '<img src="/design/smiles/ae.gif" alt="smile" />',
':крутой:' => '<img src="/design/smiles/af.gif" alt="smile" />',
':смех:' => '<img src="/design/smiles/ag.gif" alt="smile" />',
':смущение:' => '<img src="/design/smiles/ah.gif" alt="smile" />',
':удивление:' => '<img src="/design/smiles/ai.gif" alt="smile" />',
':поцелуй:' => '<img src="/design/smiles/aj.gif" alt="smile" />',
':слезы:' => '<img src="/design/smiles/ak.gif" alt="smile" />',
':секрет:' => '<img src="/design/smiles/al.gif" alt="smile" />',
':драка:' => '<img src="/design/smiles/am.gif" alt="smile" />',
':дурак?:' => '<img src="/design/smiles/an.gif" alt="smile" />',
':обида:' => '<img src="/design/smiles/ao.gif" alt="smile" />',
':хи-хи:' => '<img src="/design/smiles/ap.gif" alt="smile" />',
':дьявол:' => '<img src="/design/smiles/aq.gif" alt="smile" />',
':музыка:' => '<img src="/design/smiles/ar.gif" alt="smile" />',
':доволен:' => '<img src="/design/smiles/as.gif" alt="smile" />',
':тошнит:' => '<img src="/design/smiles/at.gif" alt="smile" />',
':засыпаю:' => '<img src="/design/smiles/au.gif" alt="smile" />',
':стоп:' => '<img src="/design/smiles/av.gif" alt="smile" />',
':целуются:' => '<img src="/design/smiles/aw.gif" alt="smile" />',
':цветок:' => '<img src="/design/smiles/ax.gif" alt="smile" />',
':молодец:' => '<img src="/design/smiles/ay.gif" alt="smile" />',
':пиво:' => '<img src="/design/smiles/az.gif" alt="smile" />',
':любовь:' => '<img src="/design/smiles/ba.gif" alt="smile" />',
':бомба:' => '<img src="/design/smiles/bb.gif" alt="smile" />',
':SOS:' => '<img src="/design/smiles/bc.gif" alt="smile" />',
':гангстер:' => '<img src="/design/smiles/bd.gif" alt="smile" />',
':запутался:' => '<img src="/design/smiles/be.gif" alt="smile" />',
':отлично:' => '<img src="/design/smiles/bf.gif" alt="smile" />',
':нигга:' => '<img src="/design/smiles/bg.gif" alt="smile" />',
':извиняюсь:' => '<img src="/design/smiles/bh.gif" alt="smile" />',
':хлоп-хлоп:' => '<img src="/design/smiles/bi.gif" alt="smile" />',
':ржу:' => '<img src="/design/smiles/bj.gif" alt="smile" />',
':невинность:' => '<img src="/design/smiles/bk.gif" alt="smile" />',
':нет:' => '<img src="/design/smiles/bl.gif" alt="smile" />',
':crazy:' => '<img src="/design/smiles/bm.gif" alt="smile" />',
':не знаю:' => '<img src="/design/smiles/bn.gif" alt="smile" />',
':танец:' => '<img src="/design/smiles/bo.gif" alt="smile" />',
':ура:' => '<img src="/design/smiles/bp.gif" alt="smile" />',
':аяй:' => '<img src="/design/smiles/bq.gif" alt="smile" />',
':силач:' => '<img src="/design/smiles/br.gif" alt="smile" />',
':пока:' => '<img src="/design/smiles/bs.gif" alt="smile" />',
':ржу нимагу:' => '<img src="/design/smiles/bv.gif" alt="smile" />',
':думаю:' => '<img src="/design/smiles/bw.gif" alt="smile" />',
));
return $text;
}
// Определение размера
function size($var) {
if ($var >= 1073741824) return round($var/1073741824, 2) .' гб';
else if ($var >= 1048576) return round($var/1048576, 2) .' мб';
elseif($var >= 1024) return round($var/1024, 2) .' кб';
else return round($var) .' байт';
}
// Рекурсивное удаление
function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
}
}
reset($objects);
rmdir($dir);
}
}
?>