Вход Регистрация
Файл: inc/function.php
Строк: 155
<?php

/**
 * @author [FaNiska]
 * @copyright 2009
 * Загруз центр
 * Предложения, идеи, вопросы и об ошибках писать в icq 65-64-538 или на mobi-m-ru@ya.ru
 */

// Пользовательские функции
// Массивы транслитирования
function translit($in)
{
    
$trans1 = array("JO", "ZH", "CH", "SH", "SCH", "JE", "JY", "JA", "jo", "zh", "ch", "sh", "sch", "je", "jy", "ja", "A", "B", "V", "G", "D", "E", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", "S", "T", "U", "F", "H", "C", "'", "Y", "a", "b", "v", "g", "d", "e", "z", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", "c", "'", "y");
    
$trans2 = array("Ё", "Ж", "Ч", "Ш", "Щ", "Э", "Ю", "Я", "ё", "ж", "ч", "ш", "щ", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ь", "Ы", "а", "б", "в", "г", "д", "е", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ь", "ы");
    return 
str_replace($trans1, $trans2, $in);
}


function 
retranslit($in)
{
    
$trans1 = array("'", '`', ',', ' ', "Ё", "Ж", "Ч", "Ш", "Щ", "Э", "Ю", "Я", "ё", "ж", "ч", "ш", "щ", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ь", "Ы", "а", "б", "в", "г", "д", "е", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ь", "ы");
    
$trans2 = array('_', '_', '_', '_', "JO", "ZH", "CH", "SH", "SCH", "Je", "Jy", "Ja", "jo", "zh", "ch", "sh", "sch", "je", "jy", "ja", "A", "B", "V", "G", "D", "E", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", "S", "T", "U", "F", "H", "C", "", "Y", "a", "b", "v", "g", "d", "e", "z", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", "c", "", "y");
    return 
str_replace($trans1, $trans2, $in);
}
function 
trans($t)
{
    
$str = explode('!', $t);
    
$a = array('_', 'YA', 'Ya', 'ya', 'yee', 'YO', 'Yo', 'yo', 'ZH', 'zh', 'Zh', 'Z', 'z', 'CH', 'ch', 'Ch', 'SH', 'sh', 'Sh', 'YE', 'ye', 'Ye', 'YU', 'yu', 'Yu', 'JA', 'ja', 'Ja', 'A', 'a', 'B', 'b', 'V', 'v', 'G', 'g', 'D', 'd', 'E', 'e', 'I', 'i', 'J', 'j', 'K', 'k', 'L', 'l', 'M', 'm', 'N', 'n', 'O', 'o', 'P', 'p', 'R', 'r', 'S', 's', 'T', 't', 'U', 'u', 'F', 'f', 'H', 'h', 'W', 'w', 'x', 'q', 'Y', 'y', 'C', 'c', '!');
    
$b = array(' ', 'Я', 'Я', 'я', 'ые', 'Ё', 'Ё', 'ё', 'Ж', 'ж', 'Ж', 'З', 'з', 'Ч', 'ч', 'Ch', 'Ш', 'ш', 'Ш', 'Э', 'э', 'Э', 'Ю', 'ю', 'Ю', 'Я', 'я', 'Я', 'А', 'а', 'Б', 'б', 'В', 'в', 'Г', 'г', 'Д', 'д', 'Е', 'е', 'И', 'и', 'Й', 'й', 'К', 'к', 'Л', 'л', 'М', 'м', 'Н', 'н', 'О', 'о', 'П', 'п', 'Р', 'р', 'С', 'с', 'Т', 'т', 'У', 'у', 'Ф', 'ф', 'Х', 'х', 'Щ', 'щ', 'ъ', 'ь', 'Ы', 'ы', 'Ц', 'ц', '');
    return 
$str[0] . str_replace($a, $b, $str[1]);
}
function 
trans2($t)
{
    return 
str_replace('_', ' ', $t);
}
// Функция экранирования переменных
function quote_smart($value)
{
    
// если magic_quotes_gpc включена - используем stripslashes
    
if (get_magic_quotes_gpc())
    {
        
$value = stripslashes($value);
    }
    
// Если переменная - число, то экранировать её не нужно
    // если нет - то окружем её кавычками, и экранируем
    
if (!is_numeric($value))
    {
        
$value = "'" . mysql_real_escape_string($value) . "'";
    }
    return 
$value;
}

// Чистим текс от лишних символов
function clean($text)
{
    return 
mysql_escape_string(addslashes(trim(htmlspecialchars(stripslashes($text)))));
}
function 
del($text)
{
    
$text = str_replace('&', '', $text);
    
$text = str_replace('$', '', $text);
    
$text = str_replace('>', '', $text);
    
$text = str_replace('<', '', $text);
    
$text = str_replace('~', '', $text);
    
$text = str_replace('`', '', $text);
    
$text = str_replace('#', '', $text);
    
$text = str_replace('*', '', $text);
    return 
$text;
}
function 
br($msg, $br = '<br />')
{
    
$msg = eregi_replace("((<br( ?/?)>)|n|r)+", $br, $msg);
    return 
$msg;
}
// Выдает текущую страницу
function page($k_page = 1)
{
    
$page = 1;
    if (isset(
$_GET['page']))
    {
        if (
$_GET['page'] == 'end')
            
$page = valid_int($k_page);
        elseif (
is_numeric($_GET['page']))
            
$page = valid_int($_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)
{
    
$str = '';
    if (
$page < 1)
        
$page = 1;
    
$str = $str . "<div class="str">n";
    if (
$page != 1)
        
$str = $str . "<a href="" . $link . "page=1" title='Первая страница'>&lt;&lt;</a> ";
    if (
$page > 1)
        
$str = $str . "<a href="" . $link . "page=" . ($page - 1) . "" title='Предыдущая страница (№" . ($page - 1) . ")'>&lt;</a> ";
    
$str = $str . " ";
    if (
$page < $k_page)
        
$str = $str . " <a href="" . $link . "page=" . ($page + 1) . "" title='Следующая страница (№" . ($page + 1) . ")'>&gt;</a>";
    if (
$page != $k_page)
        
$str = $str . " <a href="" . $link . "page=end" title='Последняя страница'>&gt;&gt;</a>";
    
$str = $str . "<br />n";
    if (
$page != 1)
        
$str = $str . "<a href="" . $link . "page=1" title='Страница №1'>1</a>";
    else
        
$str = $str . "<b>1</b>";
    for (
$ot = -3; $ot <= 3; $ot++)
    {
        if (
$page + $ot > 1 && $page + $ot < $k_page)
        {
            if (
$ot == -3 && $page + $ot > 2)
                
$str = $str . " ..";
            if (
$ot != 0)
                
$str = $str . " <a href="" . $link . "page=" . ($page + $ot) . "" title='Страница №" . ($page + $ot) . "'>" . ($page + $ot) . "</a>";
            else
                
$str = $str . " <b>" . ($page + $ot) . "</b>";
            if (
$ot == 3 && $page + $ot < $k_page - 1)
                
$str = $str . " ..";
        }
    }
    if (
$page != $k_page)
        
$str = $str . " <a href="" . $link . "page=end" title='Страница №$k_page'>$k_page</a>";
    elseif (
$k_page > 1)
        
$str = $str . " <b>$k_page</b>";

    
$str = $str . "</div>n";
    return 
$str;
}

// Функция "красивого" размера файла
function size_file($filesize = 0)
{
    
$filesize_ed = 'B';
    if (
$filesize >= 1024)
    {
        
$filesize = round($filesize / 1024, 2);
        
$filesize_ed = 'KB';
    }
    if (
$filesize >= 1024)
    {
        
$filesize = round($filesize / 1024, 2);
        
$filesize_ed = 'MB';
    }
    return 
$filesize . $filesize_ed;
}
// Функция "красивого" размера для псевдо файла
function size_file2($filesize = 0)
{
    
$filesize_ed = 'B';
    if (
$filesize >= 1000)
    {
        
$filesize = round($filesize / 1000, 2);
        
$filesize_ed = 'KB';
    }
    if (
$filesize >= 1000)
    {
        
$filesize = round($filesize / 1000, 2);
        
$filesize_ed = 'MB';
    }
    return 
$filesize . $filesize_ed;
}
function 
vremja($time = null)
{
    global 
$user;
    if (
$time == null)
        
$time = time();

    
$timep = "" . date("j M Y в H:i", $time) . "";
    
$time_p[0] = date("j n Y", $time);
    
$time_p[1] = date("H:i", $time);


    if (
$time_p[0] == date("j n Y"))
        
$timep = date("H:i:s", $time);


    if (isset(
$user))
    {
        if (
$time_p[0] == date("j n Y", time()))
            
$timep = date("H:i:s", $time);
        if (
$time_p[0] == date("j n Y", time() - 60 * 60 * 24))
            
$timep = "Вчера в $time_p[1]";
    } else
    {
        if (
$time_p[0] == date("j n Y"))
            
$timep = date("H:i:s", $time);

        if (
$time_p[0] == date("j n Y", time() - 60 * 60 * 24))
            
$timep = "Вчера в $time_p[1]";
    }


    
$timep = str_replace("Jan", "Янв", $timep);
    
$timep = str_replace("Feb", "Фев", $timep);
    
$timep = str_replace("Mar", "Марта", $timep);
    
$timep = str_replace("May", "Мая", $timep);
    
$timep = str_replace("Apr", "Апр", $timep);
    
$timep = str_replace("Jun", "Июня", $timep);
    
$timep = str_replace("Jul", "Июля", $timep);
    
$timep = str_replace("Aug", "Авг", $timep);
    
$timep = str_replace("Sep", "Сент", $timep);
    
$timep = str_replace("Oct", "Окт", $timep);
    
$timep = str_replace("Nov", "Ноября", $timep);
    
$timep = str_replace("Dec", "Дек", $timep);
    return 
$timep;
}
function 
checked($value, $real)
{
    if (
$value != $real)
    {
        return;
    } else
    {
        return 
'checked="checked"';
    }
}

function 
selected($value, $real)
{
    if (
$value != $real)
    {
        return;
    } else
    {
        return 
'selected="selected"';
    }
}
function 
esc($text, $br = null) // Вырезает все нечитаемые символы

{
    
//$text=str_replace("'", """, $text);
    
if ($br != null)
        for (
$i = 0; $i <= 31; $i++)
            
$text = str_replace(chr($i), null, $text);
        else
        {
            for (
$i = 0; $i < 10; $i++)
                
$text = str_replace(chr($i), null, $text);
            for (
$i = 11; $i < 20; $i++)
                
$text = str_replace(chr($i), null, $text);
            for (
$i = 21; $i <= 31; $i++)
                
$text = str_replace(chr($i), null, $text);
        }
        return 
$text;
}
// Функция для фильтровки цифвр. Фильтрует цифры так чтобы возвращались только 0 или положительные цифры
function valid_int($value)
{
    
$int = intval($value);
    if (
$int <= 0)
    {
        return 
0;
    } else
    {
        return 
$int;
    }
}

// Функция правильного расширения. Выгрузка и импорт нежелательных расширений файлов исключен! Массив допустимых расширений редактируйте в файле inc/set.php

function valid_ext($filename)
{
    global 
$arr_ext;
    foreach (
$arr_ext as $ext)
    {
        if (
eregi(".$ext$", $filename))
        {
            return 
$ext;
        }
    }
}
function 
txt_out_dc($str, $br = true, $html = true, $smiles = true, $links = true, $bbcode = true)
{


    if (
$html == true)
        
$str = htmlentities($str, ENT_QUOTES, 'UTF-8'); // преобразуем все к нормальному перевариванию браузером


    
if ($br == true)
    {
        
$str = br($str); // переносы строк
        
$str = esc($str); // вырезаем все нечитаемые символы, которые могут нам подпортить разметку :)
    
} else
    {
        
//$str=br($str, ' '); // пробелы вместо переносов
        
$str = esc($str); // вырезаем все нечитаемые символы, которые могут нам подпортить разметку :)
    
}

    return 
$str; // возвращаем обработанную строку
}
// накладываем копирайт на изображения, если он есть.
// размер копирайта динамически изменяется в зависимости от изображения
function img_copyright($img)
{
    global 
$set, $setup;
    
/// Сначала генерируем и сохраняем файл маркировки
    
$imwidth = 100;
    
$imheight = 20;

    
$im = ImageCreate($imwidth, $imheight);
    
$background_color = ImageColorAllocate($im, 255, 255, 255);
    
$text_color = ImageColorAllocate($im, 0, 0, 160);
    
$border_color = ImageColorAllocate($im, 154, 154, 154);
    
/*
    // Генерируем помехи в виде линий                                   
    $g1 = imagecolorallocate($im, 152, 152, 152); // Задаем цвет линий  
    for ($i = 0; $i <= 100; $i += 6)                                    
    imageline($im, $i, 0, $i, 25, $g1); // Горизонтальные линии     
    for ($i = 0; $i <= 25; $i += 5)                                     
    imageline($im, 0, $i, 100, $i, $g1); // Вертикальные линии      
    */
    // Генерируем надпись

    
$x = ($imwidth - strlen($code)) / ($setup['mark_size'] * 6);
    
$y = 2;
    
imagestring($im, $setup['mark_size'] * 2, $x, $y, $setup['mark_text'], $text_color);
    
ImagePNG($im, 'inc/copy.png');
    
imagedestroy($im);
    if (
$copy = @imagecreatefromstring(file_get_contents('inc/copy.png')))
    {

        
$img_x = imagesx($img);
        
$img_y = imagesy($img);

        
$copy_x = imagesx($copy);
        
$copy_y = imagesy($copy);


        
$w = intval(min($img_x / 2, $copy_x, 128));
        
$h = intval(min($img_y / 2, $copy_y, 64));

        
$x_ratio = $w / $copy_x;
        
$y_ratio = $h / $copy_y;

        if ((
$copy_x <= $w) && ($img_y <= $h))
        {
            
$dstW = $copy_x;
            
$dstH = $copy_y;
        } elseif ((
$x_ratio * $copy_y) < $h)
        {
            
$dstH = ceil($x_ratio * $copy_y);
            
$dstW = $w;
        } else
        {
            
$dstW = ceil($y_ratio * $copy_x);
            
$dstH = $h;
        }
        
imagecopyresampled($img, $copy, $img_x - $dstW, $img_y - $dstH, 0, 0, $dstW, $dstH, $copy_x, $copy_y);

    }

    return 
$img;
}

?>
Онлайн: 0
Реклама