Просмотр файла incfiles/system.php

Размер файла: 9.11Kb
<?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); 
   } 
 }

?>