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

function bb ($string)
{
        
        
//$string = preg_replace_callback('~\[url=(https?://.+?)\](.+?)\[/url\]|(https?://(www.)?[0-9a-z.-]+.[0-9a-z]{2,6}[0-9a-zA-Z/?.~&amp;_=/%-:#]*)~', 'url_replace', $string);

        
       
        
        
$codes = array (
                
// ссылка
                
'/[url=(.+)](.+)[/url]/is'        =>'<a href="1">2</a>',
                
'/[url](.+)[/url]/isU'             =>'<a href="1">1</a>',
                
// наклонный текст
                
'/[i](.+)[/i]/isU'                => '<i>1</i>',
                
// жирный текст
                
'/[b](.+)[/b]/isU'                => '<b>1</b>',
                
// подчеркнутый текст
                
'/[u](.+)[/u]/isU'                => '<u>1</u>',
                
// мелкий текст
                
'/[small](.+)[/small]/i'          => '<span style="font-size:10px;">1</span>',
                
// большой текст
                
'/[big](.+)[/big]/i'              => '<span style="font-size:16px;">1</span>',
                
// красный
                
'/[red](.+)[/red]/i'              => '<span style="color:red;">1</span>',
                
// зеленый
                
'/[green](.+)[/green]/i'          => '<span style="color:green;">1</span>',
                
// синий
                
'/[blue](.+)[/blue]/i'            => '<span style="color:blue;">1</span>',
                
// выделение кода
                
'/[code](.+)[/code]/is'           => '<code>1</code>',
                
'/[cit](.*)[/cit]/is'             => '<div class="cit">1</div>',
                
'/[reit=([0-9.]{1,})](.*)[/reit]/ies'=> 'hide_rated ("1", "2")'
        
);
        

        
$string preg_replace (array_keys($codes), array_values ($codes), $string);
        


        
// badurl
        
        
$f file ('./system/badmsg.txt');        
        
$c count($f); 
        if (
$c!=0) {
                for (
$i 0$i $c$i++) {
                        
$l trim ($f$i ]);
                        if (!empty (
$l)) {
                                
$string preg_replace ('/' $l '/i'' ??? '$string);
                        }
                }
        }
 
        
// новая строка
        
$string str_replace ("rn""<br/>"$string);
        
$string str_replace ("[br]""<br/>"$string);

        
// us{[int]} // вывод пользователя
        
$string preg_replace_callback ('/us{(d*)}/''uNick'$string);
        
// file{[int]} // вывод файла
        
$string preg_replace_callback ('/file{(d*)}/''fname'$string);

        
// [php][string][/php] // выделение php кода
        
$string preg_replace_callback ('/[php](.+)[/php]/i''highlight_code'$string);
        
        
        
$query DB :: $dbs -> query ("SELECT * FROM `smile`");
        while (
$smile $query -> fetch ()) {
                
$string str_replace ($smile['name'], '<img src="/images/smiles/' $smile['filename'] . '" alt=""/>'$string);
        }
        
        return 
$string;

}

function 
fname ($matches) {
        if (
is_array ($matches)) {
                
$id $matches[1];
        }
        else {
                
$id $matches;
        }
        
$query DB :: $dbs -> query ("SELECT * FROM `zc_f` WHERE (`dop`='da') AND (`id`='" $id "')");
        if (
$query -> rowCount () != 0) {
        
                
$f $query -> fetch ();
                
                
                
$ext substr ($f['filename'], strrpos ($f['filename'], '.') + 1);
                
$out .= '<img src="/images/mime/' strtolower ($ext) . '.png" alt="*"/> ';
                
$out .= '<a href="/zc/file' $f['id'] . '">' $f['name'] . '</a> ';
        
        }
        else {
                
$out .= 'Файл удален.';
        }
        return 
$out;        
}

// 
function highlight_code($matches)
{


        
// если callback функция
        
if (is_array($matches)) {
                
$code $matches[1];
        }
        else {
                
$code $matches;
        }
                
        
// перепреобразование кода
        
$code strtr ($code, array (
                
'&lt;'   => '<',
                
'&gt;'   => '>',
                
'&amp;'  => '&',
                
'&quot;' => '"',
                
'&#36;'  => '$',
                
'&#37;'  => '%'
                
'&#39;'  => "'",
                
'&#92;'  => '\',
                '
&#94;'  => '^',
                
'&#96;'  => '`',
                
'&#124;' => '|'
        
));
        
        
// новая строка
        
$code strtr ($code, array (
                
"<br/>" => "rn",
                
"\"    => ""
        ));
        
        
$code = highlight_string($code, true);

        return 
$code;
    
}



function hide_rated(
$reit = 0, $matches)
{
        
        global 
$us;
        
        // если callback функция
        if (is_array(
$matches)) {
                
$string = $matches[1];
        }
        else {
                
$string = $matches;
        }
        
        
        if (
$us['reit']>=$reit) {
                return 
$string;
        }
        else {
                return '<div class="
cit"><font color="red">Для просмотра этого блока необходимо набрать <b>' . $reit . '</b> рейтинга</font></div>';
        }
}

function endi (
$count$msg = array ())
{
        
        
$count = (int) $count;
        
        
$max = $count % 100;
        
$min = $count % 10;

        if (
$max > 10 && $max < 20) {
                return 
$count . ' ' . $msg[2];
        }
        
        if (
$min > 1  && $min < 5 ) {
                return 
$count . ' ' . $msg[1];
        }
        
        if (
$min == 1) {
                return 
$count . ' ' . $msg[0];
        }
        
                return 
$count . ' ' . $msg[2];

}

function datef (
$time)
{
    
        
$t = time ();
        
            if ((
$t - $time) <= 60) {
            
                
$out .= endi ((time () - $time), array (
                        'секунду',
                        'секунды',
                        'секунд'
                ));
                
$out .= ' назад';
                
        }
        elseif ((
$t - $time) <= 3600) {
                
                
$out .= endi ((($t - $time)/60), array (
                        'минуту',
                        'минуты',
                        'минут'
                ));
                
$out .= ' назад';

        }
        else {
                
                
$timesp = date("j M Y  в H:i", $time);
                
                
$timesp = str_replace (date ("j M Y", $t), 'Сегодня', $timesp);
                
                
$timesp = str_replace (date ("j M Y", strtotime ("-1 day")), 'Вчера', $timesp);
                
                
$timesp = strtr ($timesp, array (
                        'Jan' => 'Января',
                        'Feb' => 'Февраля',
                        'Mar' => 'Марта',
                        'May' => 'Мая',
                        'Apr' => 'Апреля',
                        'Jun' => 'Июня',
                        'Jul' => 'Июля',
                        'Aug' => 'Августа',
                        'Sep' => 'Сентября',
                        'Oct' => 'Октября',
                        'Nov' => 'Ноября',
                        'Dec' => 'Декабря'
                ));
            
                
$out .= $timesp;
        }
    
        return 
$out;
    
}

function timef (
$time)
{
        
        
        
        
$days    = floor ( $time / 86400 );
        
$hours   = floor (($time / 3600 ) - ( $days * 24 ) );
        
$minutes = floor (($time - ( $hours * 3600 ) - ( $days * 86400 ) ) / 60 );
        
$seconds = floor ( $time - ( ( $minutes * 60 ) + ( $hours * 3600 ) + ( $days * 86400) ) ); 
        
        if (
$days != 0) {
                
$out .= endi ($days, array (
                        'день',
                        'дня',
                        'дней'
                ));
                if (
$hours!=0 || $minutes!=0 || $seconds!=0) {
                        
$out .= ', ';
                }
        }
        if (
$hours != 0) {
                
$out .= endi ($hours, array (
                        'час',
                        'часа',
                        'часов'
                ));
                if (
$minutes!=0 || $seconds!=0) {
                        
$out .= ', ';
                }
        }
        if (
$minutes != 0) {
                
$out .= endi ($minutes, array (
                        'минуту',
                        'минуты',
                        'минут'
                ));
                if (
$seconds!=0) {
                        
$out .= ', ';
                }
        }

        if (
$seconds != 0) {
                
$out .= endi ($seconds, array (
                        'секунду',
                        'секунды',
                        'секунд'
                ));
        }
        
        return 
$out;
        
}


function sizef (
$size)
{

        if (
$size >= 1048576000) {
                
$out = round (($size / 1073741824), 2) . ' Гб';
        } elseif (
$size >= 1024000) {
                
$out = round(($size / 1048576), 2) . ' Мб';
        } elseif (
$size >= 1000) {
                
$out = round(($size / 1024), 2) . ' Кб';
        } else {
                
$out = round ($size) . ' б';
        }
        
        return 
$out;
}





function gradient (
$string$from = '', $to = '')
{
        
        
$string = iconv ('utf-8', 'windows-1251', $string);
        
        
        //
        
$to   = array (
                hexdec (
$to[0] . $to[1]),     // r
                hexdec (
$to[2] . $to[3]),     // g
                hexdec (
$to[4] . $to[5])      // b
        );
        
        
        //
        
$from = array (
                hexdec (
$from[0] . $from[1]), // r
                hexdec (
$from[2] . $from[3]), // g
                hexdec (
$from[4] . $from[5])  // b
        );
        
        
$levels = strlen ($string);


        for (
$i = 1; $i <= $levels$i++) {
                
                for (
$ii = 0; $ii < 3; $ii++) {
                        
$tmp[ $ii ] = $from[ $ii ] - $to[ $ii ];
                        
$tmp[ $ii ] = floor ($tmp[ $ii ] / $levels);
                        
$rgb[ $ii ] = $from[ $ii ] - ($tmp[ $ii ] * $i);
                        if (
$rgb[ $ii ] > 255) {
                                
$rgb[ $ii ] = 255;
                        }
                        
$rgb[ $ii ] = dechex ($rgb[ $ii ]);
                        if (strlen(
$rgb[ $ii ]) < 2) {
                                
$rgb[ $ii ] = '0' . $rgb[ $ii ];
                        }
                }
        
                
$out .= '<span style="color#' . $rgb[0] . $rgb[1] . $rgb[2] . '">' . $string[ $i - 1 ] . '</span>';
                
        
}
        
        return 
iconv ('windows-1251''utf-8'$out);
        
}

// 
function uNick ($matches)
{
    
        if (
is_array ($matches)) {
                
$id $matches[1];
        }
        else {
                
$id $matches;
        }
        
        
$query DB :: $dbs -> query ("SELECT `id`,`nick`,`sex`,`last`,`level`,`mosh`,`nickcolor1`,`nickcolor2` FROM `us` WHERE (`id`='" $id "')");
        if (
$query -> rowCount () != 0) {
                
$u $query -> fetch ();
                
                
                
//
                     
if ($u['level']  > 3$level 'соз';
                else if (
$u['level'] == 3$level 'ст. адм';
                else if (
$u['level'] == 2$level 'адм';
                else if (
$u['level'] == 1$level 'мд';
            
                
$out .= '<img src="/files/ico/'. ( $u['last'] > ( time () - 3600) ? ( file_exists ($_SERVER['DOCUMENT_ROOT'] . '/files/ico/' $u['id'] . '.png') ? $u['id']: ( $u['sex']=='Муж' 'mon' 'jon' ) ) : ( $u['sex'] == 'Муж' 'mof' 'jof' ) ) .'.png" alt=""/>';
              
                
$out .= '<a href="/us' $u['id'] . '" style="text-decoration:none;color:black;"><b>' . (isset ($u['nickcolor1'], $u['nickcolor2']) ? gradient ($u['nick'], $u['nickcolor1'], $u['nickcolor2']) :$u['nick'] ) . '</b></a>';
              
                if (
$u['level']!= 0) {
                        
$out .= ' <span style="color:green;">[' $level ']</span>';
                }
                if (
$u['mosh']!=0) {
                        
$out .= ' [<b style="color:red;">мошенник</b>]';
                }
        }
        else {
                
$out 'Удален';
        }
        
        return 
$out;
        
}

function 
pages ($self)
{
    
        global 
$page$pages;
    
        
$out .= 'Стр. ';

        if (
$page != 1) {
                
$out .= '<a href="' $self '/page1"><<</a> ';
                
$out .= '<a href="' $self '/page' . ($page 1) . '"><</a> ';  
        }
        
        if ((
$page 2) > 0) {
                
$out .= '<a href="' $self .'/page'. ($page 2) .'">'. ($page 2) .'</a>';
                
$out .= ' | ';  
        }
        
        if ((
$page 1) > 0) {
                
$out .= '<a href="' $self .'/page'. ($page 1) .'">'. ($page 1) .'</a>';
                
$out .= ' | ';  
        }
        
        
// 
        
$out .= $page;

        if ((
$page 1) <= $pages) {
                
$out .= ' | ';
                
$out .= '<a href="' $self '/page' . ($page 1) .'">' . ($page 1) . '</a>'
        }
        
        if(
$page <= $pages) {
                
$out .= ' | ';
                
$out .= '<a href="' $self '/page' . ($page 2) .'">' . ($page 2) . '</a>';  
        }

        if (
$page != $pages) {
                
$out .= ' <a href="' $self '/page' . ($page 1) . '">></a>';
                
$out .= ' <a href="'.$self.'/page' $pages .'">>></a>';  
        }
        
        return 
$out;
    
}

function 
passgen($count 8)
{
        
        
$symbols 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
        
        for (
$i 0$i $count$i ++) {
                
$out .= $symbols mt_rand (061) ];
        }
        
        return  
$out;
        
}
Онлайн: 2
Реклама