Вход Регистрация
Файл: 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 && $page $ot $k_page)
        {
            if (
$ot == -&& $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 == && $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 10242);
        
$filesize_ed 'KB';
    }
    if (
$filesize >= 1024)
    {
        
$filesize round($filesize 10242);
        
$filesize_ed 'MB';
    }
    return 
$filesize $filesize_ed;
}
// Функция "красивого" размера для псевдо файла
function size_file2($filesize 0)
{
    
$filesize_ed 'B';
    if (
$filesize >= 1000)
    {
        
$filesize round($filesize 10002);
        
$filesize_ed 'KB';
    }
    if (
$filesize >= 1000)
    {
        
$filesize round($filesize 10002);
        
$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($strENT_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($im255255255);
    
$text_color ImageColorAllocate($im00160);
    
$border_color ImageColorAllocate($im154154154);
    
/*
    // Генерируем помехи в виде линий                                   
    $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_x128));
        
$h intval(min($img_y 2$copy_y64));

        
$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 $dstH00$dstW$dstH$copy_x$copy_y);

    }

    return 
$img;
}

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