Вход Регистрация
Файл: install/inc/fnc.php
Строк: 173
<?
// функция обрабатывает текстовые строки перед выводом в браузер
    // настоятельно не рекомундуется тут что-либо менять
    
function output_text($str,$br=1,$html=1,$smiles=1,$links=1,$bbcode=1)
    {
        global 
$theme_ini;
        
// преобразуем все к нормальному перевариванию браузером
        
if ($html)$str=htmlentities($strENT_QUOTES'UTF-8'); 
        
        
// обработка ссылок
        
if ($links)$str links($str); 

        
// обработка bbcode
        
if ($bbcode)
        {
            
$tmp_str $str;
            
$str bbcode($str);
        }
        
// переносы строк
        
if ($br$str=br($str); 
        

    
// возвращаем обработанную строку
    
return stripslashes($str); 
    }
    
    function 
links_preg1($arr)
    {
        global 
$set;
        if (
preg_match('#^http://'.preg_quote($_SERVER['HTTP_HOST']).'#',$arr[1]) || !preg_match('#://#',$arr[1]))
        return 
'<a href="'.$arr[1].'">'.$arr[2].'</a>';
        else
        return 
'<a'.($set['web']?' target="_blank"':null).' href="http://'.$_SERVER['HTTP_HOST'].'/linkGo?go='.base64_encode(html_entity_decode($arr[1])).'">'.$arr[2].'</a>';
    }
    
    function 
links_preg2($arr)
    {
    global 
$set;
        if (
preg_match('#^http://'.preg_quote($_SERVER['HTTP_HOST']).'#',$arr[2]))
            return 
$arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];
        else
            return 
$arr[1].'<a'.($set['web']?' target="_blank"':null).' href="http://'.$_SERVER['HTTP_HOST'].'/linkGo?go='.base64_encode(html_entity_decode($arr[2])).'">'.$arr[2].'</a>'.$arr[4];
    }
    
    function 
links($msg)
    {
    global 
$set;
        if (
$set['bb_img'])$msg=preg_replace_callback('/[img](.+)[/img]/isU''img_preg'$msg);
        if (
$set['bb_url'])$msg=preg_replace_callback('/[url=(.+)](.+)[/url]/isU''links_preg1'$msg); 
        if (
$set['bb_http'])$msg=preg_replace_callback('~(^|s)([a-z]+://([^ rnt`'"]+))(s|$)~iu', 'links_preg2', $msg);
        return 
$msg;
    }
    
function dir_clear(
$path,$conf = 1){ 

    if (
$handle = opendir($path)) 
    {
        while (false !== (
$file = readdir($handle))) 
        { 
            if (
$file != '.' && 
            
$file != '..' && 
            
$file != '.htaccess' && 
            
$file != 'clear_conf.txt'  &&
            
$file != '0.png' && 
            
$file != 'guest.png') 
            { 
                @unlink(
$path.'/'.$file);
            } 
        }
    
    if (
$conf == 1)
    {
        
$text = 'Последняя зачистка папки была ['.date("F jYH:i:s") .']';    
        
$files=fopen($path.'clear_conf.txt','w'); 
        fwrite(
$files,$text); 
        fclose(
$files) ;
        closedir(
$handle); 
    }
    
    }
}
      function mail_send(
$user = 0,$user_id = 0,$msg = null)
    {
        query("
INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values
        
('". $user ."''". $user_id ."','".mysql_real_escape_string($msg)."','".time()."');");
    }

    //помните внутрености? вот вот
    function strlen2(
$str)
    {
        return mb_strlen(
$str, 'UTF-8');
    }


    # Подсветка кода 
    function bbcodehightlight(
$arr)
    {
        
$arr[0] = html_entity_decode($arr[0], ENT_QUOTES, 'UTF-8');
        return '<div class="
cit" style="overflow:scroll;clip:auto;max-width:480px;">'.
        preg_replace('#<code>(.*?)</code>#si', '\1' ,highlight_string(
$arr[0],1)).'</div>';
    }
    
    # ВВ коды 
    function bbcode(
$msg)
    {
        global 
$set,$user;
        
        
$bbcode = array();
        
        
$bbcode['/[url=(.+)](.+)[/url]/isU']='<a class="links_t" href="$1">$2</a>';

        //Куксив
        
$bbcode['/[i](.+)[/i]/isU']='<em>$1</em>';
        
        //Жирный
        
$bbcode['/[b](.+)[/b]/isU']='<strong>$1</strong>';
        
        //Подчеркнутый
        
$bbcode['/[u](.+)[/u]/isU']='<span style="text-decoration:underline;">$1</span>';
        
        //большой
        
$bbcode['/[big](.+)[/big]/isU']='<span style="font-size:large;">$1</span>';
        
        //малый
        
$bbcode['/[small](.+)[/small]/isU']='<span style="font-size:small;">$1</span>';
        
        //цветной текст
        
$bbcode['/[color=(.+)](.+)[/color]/isU']='<span style="color:$1;">$2</span>';
        
        //рег. размеры текста
        
$bbcode['/[size=([0-9]+)](.+)[/size]/isU']='<span style="font-size:$1px;">$2</span>';
        
        //видео с ютуба
        
$bbcode['/[youtube](.+)[/youtube]/isU']='<br /><center><iframe width="400" height="250" src="//www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe></center>';
        
        //видео 
        
$bbcode['/[video](.+)[/video]/isU']="<center><object type=application/x-shockwave-flash data=/sys/js/video/v.swf width=550 height=400><param name=bgcolor value=#ffffff /><param name=allowFullScreen value=true /><param name=allowScriptAccess value=always /><param name=wmode value=transparent /><param name=movie value=/sys/js/video/v.swf/><param name=flashvars value=file=$1/></object></center>";
        
        
//мп3 
        
$bbcode['/[mp3](.+)[/mp3]/isU']='<center><object type="application/x-shockwave-flash" data="/sys/js/mp3/i.swf" width="200" height="20" id="dewplayer" name="dewplayer"><param name="movie" value="/sys/js/mp3/i.swf" /><param name="flashvars" value="mp3=$1" /><param name="wmode" value="transparent" /></object></center>';
                
        
//админ текст    
        
$bbcode['/[admin](.+)[/admin]/isU'] =     $user['group_access'] >= 'Админ текст :<br/>  <span style="color:red">$1 </span> ':' <span style="color:red">Текст доступный только Администрации </span>';
        

        
//если найдены 
        
if (count($bbcode))
        
$msg preg_replace(array_keys($bbcode), array_values($bbcode), $msg);
        
        
//Подсветка php кода
        
if ($set['bb_code'] == 1)
        
$msg preg_replace_callback('#&lt;?(.*?)?&gt;#sui''bbcodehightlight'$msg);

    return 
$msg;
    }
function 
lang($text){return $text;}


function 
br($msg,$br='<br />'){return @eregi_replace("((<br( ?/?)>)|n|r)+",$br$msg);} // переносы строк


function esc($text,$br=NULL){ // Вырезает все нечитаемые символы
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;}





function 
msg($msg){echo "<div class='msg'>$msg</div>n";} // вывод сообщений

function passgen($k_simb=8$types=3) {
$password="";
$small="abcdefghijklmnopqrstuvwxyz";
$large="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$numbers="1234567890";
mt_srand((double)microtime()*1000000); 
for (
$i=0$i<$k_simb$i++) { 
$type=mt_rand(1,min($types,3));
switch (
$type) {
case 
3:
$password.=$large[mt_rand(0,25)];
break;
case 
2:
$password.=$small[mt_rand(0,25)];
break;
case 
1:
$password.=$numbers[mt_rand(0,9)];
break;
}
}
return 
$password;
}
$passgen=&passgen();


// сохранение настроек системы
function save_settings($set){
unset(
$set['web']);
if (
$fopen=@fopen(H.'sys/dat/settings.conf''w')){
@
fputs($fopenserialize($set));
@
fclose($fopen);
@
chmod(H.'sys/dat/settings.conf'0777);
return 
true;}
else
return 
false;}

// рекурсивное удаление папки
function delete_dir($dir){
if (
is_dir($dir)){$od=opendir($dir);
while (
$rd=readdir($od)){
if (
$rd == '.' || $rd == '..') continue;
if (
is_dir("$dir/$rd")){
@
chmod("$dir/$rd"0777);
delete_dir("$dir/$rd");}
else{
@
chmod("$dir/$rd"0777);
@
unlink("$dir/$rd");}}
closedir($od);
@
chmod("$dir"0777);
return @
rmdir("$dir");}
else{
@
chmod("$dir"0777);
@
unlink("$dir");}}
Онлайн: 1
Реклама