Просмотр файла www/system32/function.php

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