<?php
/**
* @date 26.7
* @author iceman12
* @copyright 2010
*/
defined('SERVER') or die('<h1><font color="red">ERROR. Brain is not detected</font></h1>');
// Автозагрузка Классов
function __autoload($name)
{
include 'class/' . strtolower($name) . '.php';
}
function sql()
{ // создаем функцию
static $s = 0; // создаем счетчик sql - запросов
$a = func_get_args(); // получаем массив аргументов, переданных функции
if (!func_num_args()) {
return $s;
} else { // если функции ничего не передано, выводим кол - во sql - запросов
++$s; // считаем sql - запросы
$q = array_shift($a); // извлекаем первый элемент массива, т.к. фильтровать его не нужно(он содержит синтаксис)
$a = array_map('input', $a); // применяем фильтр ко всем элементам массива
array_unshift($a, $q); // добавляем извлеченный синтаксис обратно
$q = call_user_func_array('sprintf', $a); // подставляем вместо меток значения массива по порядку
$qs = mysql_query($q); // сам запрос к базе
if (mysql_errno()) {
trigger_error('<u>' . mysql_errno() . ', sql#' . $s . '</u>:<br/><i>' . nl2br($q) .
'</i><br/><br/>' . mysql_error(), E_USER_ERROR); // если запрос содержит ошибку, то выводим ее на экран в качестве предупреждения вместе с sql запросом
}
return $qs; // возвращаем результат
}
}
// циклом извлекаем данные
function cycle($sql)
{
$q = mysql_query($sql);
$out = array();
while ($row = mysql_fetch_assoc($q)) {
$out[] = $row;
}
return $out;
}
// ввод в базу
function input($text)
{
return mysql_real_escape_string(trim($text));
}
// вывод из БД
function output($var)
{
$var = nl2br(htmlspecialchars($var, ENT_QUOTES, 'UTF-8'));
$var = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>\1</b>', $var);
$var = preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style:italic;">\1</span>',
$var);
$var = preg_replace('#\[u\](.*?)\[/u\]#si',
'<span style="text-decoration:underline;">\1</span>', $var);
$var = preg_replace('#\[s\](.*?)\[/s\]#si',
'<span style="text-decoration: line-through;">\1</span>', $var);
$var = preg_replace('#\[red\](.*?)\[/red\]#si', '<span style="color:red">\1</span>',
$var);
$var = preg_replace('#\[green\](.*?)\[/green\]#si', '<span style="color:green">\1</span>',
$var);
$var = preg_replace('#\[blue\](.*?)\[/blue\]#si', '<span style="color:blue">\1</span>',
$var);
return $var;
}
// фильтр чисел
function num($var)
{
return abs(intval($var));
}
function mdQ($v)
{
return md5(md5($v . 'max') . 'file');
}
// время
function itime($var = null)
{
$var = $var != '' ? num($var) : time();
$d = date('d', $var);
$m = date('m', $var);
$y = date('y', $var);
switch ($m) {
case '01':
$m = 'Янв';
break;
case '02':
$m = 'Фев';
break;
case '03':
$m = 'Мар';
break;
case '04':
$m = 'Апр';
break;
case '05':
$m = 'Май';
break;
case '06':
$m = 'Июн';
break;
case '07':
$m = 'Июл';
break;
case '08':
$m = 'Авг';
break;
case '09':
$m = 'Сен';
break;
case '10':
$m = 'Окт';
break;
case '11':
$m = 'Ноя';
break;
case '12':
$m = 'Дек';
break;
}
$time = $d . ' ' . $m . ' ' . $y . ', в ' . date('H:i', $var);
return $time;
}
// Перенаправление
function go($url = '')
{
header('Location: ' . SERVER . '/' . $url);
exit('Перенаправление: <a href="' . SERVER . '/' . $url . '">' . SERVER . '/' .
$url . '</a>');
}
function result($sql)
{
return mysql_result(mysql_query($sql), 0, 0);
}
function size($filesize = 0)
{
$filesize_ed = 'B';
if ($filesize >= 1024) {
$filesize = round($filesize / 1024, 2);
$filesize_ed = 'KB';
}
if ($filesize >= 1024) {
$filesize = round($filesize / 1024, 3);
$filesize_ed = 'MB';
}
return $filesize . $filesize_ed;
}
?>