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

    
# mark core  v1.0
    # author Drk in
    # date 24.10.19     
    
    # class system

    
class system {

        public static function 
check($msg# check data
        
{
        
        if (
is_array($msg)):
        foreach(
$msg as $key => $val):
        
$msg[$key] = self::check($val);
        endforeach;
        else:
        
$msg htmlspecialchars($msg);
        
$search = array(' ','|'''', '$', '\', '^', '%', '`', "", "x00", "x1A", chr(226) . chr(128) . chr(174));
        
$replace = array(' ','&#124;', '&#39;', '&#36;', '&#92;', '&#94;', '&#37;', '&#96;', '', '', '', '');
        
$msg = str_replace($search$replace$msg);
        
$msg = stripslashes(trim($msg));
        endif;
        return 
$msg;

        }  

        public static function abs(
$msg)  # abs intval data
        {

        return abs( intval(
$msg) );
        
        }    

        public static function utf_strlen(
$msg)  # strlen data
        {

        return strlen( utf8_decode(
$msg) );
        
        }

        public static function ending(
$num$a$b$c) # ending data
        {

        
$q = ($num % 10 == 1 && $num % 100 != 11? 0: ($num % 10 >= 2 && $num % 10 <= 4 && ($num % 100 < 10 or $num % 100 >= 20)? 1: 2));
        return (
$q == 0? $a: ($q == 1? $b: ($q == 2? $c: null)));
    
        }

        public static function header(
$redirect,$msg = null,$err = null,$meta = null) # header redirect
        {

        if (
$err == null && $msg != null)$_SESSION['err'] = $msg;
        if (
$err == 1 && $msg != null)$_SESSION['show'] = $msg;
        if (
$meta == null):    
        header("Location: 
$redirect");
        else: 
        ?><META HTTP-EQUIV="REFRESH" CONTENT="0;<?=
$redirect?>"><?php endif;   
        exit();
        return;

        }
        
        public static function access(
$access) # check user and guest
        {

        global 
$user;
        if (isset(
$user) && $access == false):self::header('/map'); endif;     
        if (!isset(
$user) && $access == true):self::header('/login','Сталкер, для начало вам нужно авторизоватся'); endif;     
  
        }

        public static function adm(
$access = 0) # check admin
        {

        global 
$user;
        if (isset(
$user) && $access == 0 && $user['admin'] == 0 || !isset($user)):self::header('/map'); endif;   
        if (isset(
$user) && $access == 1 && $user['admin'] != 1 || !isset($user)):self::header('/map'); endif;  
        if (isset(
$user) && $access == 2 && $user['admin'] != 2 || !isset($user)):self::header('/map'); endif;   
        if (isset(
$user) && $access == 3 && $user['admin'] != 3 || !isset($user)):self::header('/map'); endif; 

        }

        public static function dis(
$sn = null) # display error and show
        {

        
$msg = (isset( $_SESSION['err'] ) ? $_SESSION['err']:null).(isset( $_SESSION['show'] ) ? $_SESSION['show']:null);

        
$text = null;
        if (
$sn == null && $msg != null)$text = '<div class="dialog"><h1 class="pda">КПК</h1><p>› '.$msg.'</p></div>';
        if (
$sn == 1)$text = '<div class="dialog"><h1 class="human">Шрам</h1><p>› '.($msg == null ? 'Так-так, кто это тут у нас пытается пройти? Назови свои имя, сталкер!':$msg).'</p></div>';
        if (
$sn == 2 && $msg != null)$text = '<h1 class="human">Шрам</h1><p>› '.$msg.'</p>';
        if (
$sn == 3)$text = '<div class="dialog"><h1 class="human">Блокпост</h1><p>› '.($msg == null ? 'Дальше проход закрыт! Введи свои данные в форму ниже, чтобы пройти блокпост и попасть в зону.':$msg).'</p></div>';
        
        return  
$text

        }
        
        public static function undis() # unset error and show
        {

        if (isset(
$_SESSION['err']))unset($_SESSION['err']);
        if (isset(
$_SESSION['show']))unset($_SESSION['show']);    

        }

        public static function sp() # start step
        {
       
        global 
$user;
        if(isset(
$user) && $user['sp'] != 0 && $_SERVER['PHP_SELF'] != "/_modules/start/step/index.php"):
        self::header('/start/step/'.
$user['sp']);
        endif;   
        if(isset(
$user) && $user['sp'] == 0 && $_SERVER['PHP_SELF'] == "/_modules/start/step/index.php"):
        self::header('/map');
        endif;      

        }    

        public static function adm_dis() # display errors adm
        {
       
        global 
$user;  global $config;       
        if(isset(
$user) && $user['admin'] == 1):
        error_reporting(E_ALL); 
        ini_set("display_errors", 
$config['error']);   
        endif;   

        }   

        public static function time(
$time = null) # time data
        {

        if (
$time == NULL) $time = time(); $jmy = date("j M Y", $time);
        
$arr = ['jmy' => date("j M Y", $time), 'his' => date("H:i:s", $time)];    
        if (
$arr['jmy'] == date("j M Y")): return 'Cегодня в '. $arr['his']; 
        elseif (
$arr['jmy'] == date("j M Y", time()-60*60*24)): return 'Вчера в '.$arr['his']; else: 
        
$array = [
        'Jan' => 'Янв', 'Feb' => 'Фев', 'Mar' => 'Марта', 'May' => 'Мая',
        'Apr' => 'Апр', 'Jun' => 'Июня', 'Jul' => 'Июля', 'Aug' => 'Авг',
        'Sep' => 'Сент', 'Oct' => 'Окт', 'Nov' => 'Ноября', 'Dec' => 'Дек',
        ];      

        return str_replace(array_keys(
$array), array_values($array), $jmy).' в '.$arr['his']; endif;
        
        }   

        public static function br(
$msg$br='<br />') # br data
        {

        
$msg = str_replace("n", $br$msg);
        
$msg = str_replace("rn", $br$msg);
        return 
$msg;
        
        }

        public static function bb(
$msg) # bb code data
        {

        
$msg = preg_replace('~[sys=([^ rnt`'"]+)](.*?)[/sys]~iu''<a href="1"><b>2</b></a>'$msg);
        return 
$msg;
           
        }    

        public static function 
emojiArray() # emoji array data
        
{

        
$array = [
        
':)'        => '<img src="'.ico.'emoji/1.png">'
        
':-D'       => '<img src="'.ico.'emoji/2.png">',
        
';-)'       => '<img src="'.ico.'emoji/3.png">',
        
'xD'        => '<img src="'.ico.'emoji/4.png">',
        
';-P'       => '<img src="'.ico.'emoji/5.png">',
        
'8-)'       => '<img src="'.ico.'emoji/6.png">',
        
':]'        => '<img src="'.ico.'emoji/7.png">',
        
'3('        => '<img src="'.ico.'emoji/8.png">',
        
':_-('      => '<img src="'.ico.'emoji/9.png">',
        
':_('       => '<img src="'.ico.'emoji/10.png">',
        
':_(_'      => '<img src="'.ico.'emoji/11.png">',
        
'8_'        => '<img src="'.ico.'emoji/12.png">',
        
'3_'        => '<img src="'.ico.'emoji/13.png">',
        
'(XX)'      => '<img src="'.ico.'emoji/14.png">',
        
'_O)'       => '<img src="'.ico.'emoji/15.png">',
        
':FU:'      => '<img src="'.ico.'emoji/16.png">',
        
'_(('       => '<img src="'.ico.'emoji/17.png">',
        
':zz:'      => '<img src="'.ico.'emoji/18.png">'
        
':*'        => '<img src="'.ico.'emoji/19.png">',
        
':)_)'      => '<img src="'.ico.'emoji/20.png">',
        
':(x)'      => '<img src="'.ico.'emoji/21.png">',
        
':pf'       => '<img src="'.ico.'emoji/22.png">',
        
'O__O'      => '<img src="'.ico.'emoji/23.png">',
        
'}:}'       => '<img src="'.ico.'emoji/24.png">',
        
':like:'    => '<img src="'.ico.'emoji/25.png">',
        
':dislike:' => '<img src="'.ico.'emoji/26.png">',
        
':up:'      => '<img src="'.ico.'emoji/27.png">',
        
':v:'       => '<img src="'.ico.'emoji/28.png">',
        
':ok:'      => '<img src="'.ico.'emoji/29.png">',
        
':beer:'    => '<img src="'.ico.'emoji/30.png">',
        
':banan:'   => '<img src="'.ico.'emoji/31.png">',
        
':rose:'    => '<img src="'.ico.'emoji/32.png">',
        
':pitushok:'=> '<img src="'.ico.'emoji/33.png">',
        
':sos:'     => '<img src="'.ico.'emoji/34.png">',
        
':cel:'     => '<img src="'.ico.'emoji/35.png">',
        
':crown:'   => '<img src="'.ico.'emoji/36.png">',
        
':baby:'    => '<img src="'.ico.'emoji/37.png">',
        
':boom:'    => '<img src="'.ico.'emoji/38.png">',
        
':gun:'     => '<img src="'.ico.'emoji/39.png">',
        
':love:'    => '<img src="'.ico.'emoji/40.png">',
        
':hurt:'    => '<img src="'.ico.'emoji/41.png">',
        
':police:'  => '<img src="'.ico.'emoji/42.png">',
        
':bolls:'   => '<img src="'.ico.'emoji/43.png">',
        
':ear:'     => '<img src="'.ico.'emoji/44.png">',
        
':fuck:'    => '<img src="'.ico.'emoji/45.png">',
        
':smoke:'   => '<img src="'.ico.'emoji/46.png">',
        
':donate:'  => '<img src="'.ico.'emoji/47.png">',
        
':gold:'    => '<img src="'.ico.'emoji/48.png">',
        
':silver:'  => '<img src="'.ico.'emoji/49.png">',
        
':health:'  => '<img src="'.ico.'emoji/50.png">',
        
':damage:'  => '<img src="'.ico.'emoji/51.png">',
        
':armor:'   => '<img src="'.ico.'emoji/52.png">',
        
':energy:'  => '<img src="'.ico.'emoji/53.png">'
        
]; 
        
        return 
$array;

        }

        public static function 
emoji($msg null,$tp null# emoji data
        
{

        
$array self::emojiArray();   

        if (
$tp != null):
            
        
$array array_unique($arraySORT_REGULAR);  

        foreach (
$array as $key => $value):

        echo 
'<a class="emoji" href="javascript:em('em',''.$key.'')">'.$value.'</a>';

        endforeach;    
            
        else:
          
        return 
strtr($msg$array);       

        endif;    

        }    


        public static function 
text($msg# show data emoji 
        
{

        return 
stripslashes(self::br(self::emoji(self::bb($msg))));
        
        }    

        public static function 
age($day$month$year# age data
        
{

        
$d date('d'); $m date('m'); $y date('Y'); $a null;         
        
        if(
$month $m || $month == $m && $day $d)$a 1;
            
        
$age $y $year.($a == ? -1:null);     

        return 
$age.self::ending($age,' год'' года'' лет'); 

        }   

        public static function 
aut($time# aut data
        
{

        
$timep $time$time time() - $time$his date("H:i:s"$timep);  
        if (
$time == 0): return 'только что в '.$his.'</small></font>';
        elseif (
$time 60): return $time.self::ending($time' сек.'' сек.'' сек.').' назад в '.$his;
        elseif (
$time >= 60 && $time 3600): return round$time 60).self::ending(round$time 60), ' мин.'' мин.'' мин.').' назад в '.$his;
        elseif (
$time >= 3600 &&  $time 86400): return round$time 3600).self::ending(round$time 3600), ' ч.'' ч.'' ч.').' назад в '.$his;    
        elseif (
$time >= 86400 && $time 604800): return round$time 86400).self::ending(round$time 86400), ' д.'' д.'' д.').' назад в '.$his;    
        else: return 
self::time($timep); endif;

        }

        public static function 
size($bytes$precision 2# size data
        
{
    
        
$units = array('B''KB''MB''GB''TB');
        
$bytes max($bytes0);
        
$pow floor(($bytes?log($bytes):0)/log(1024));
        
$pow min($powcount($units)-1);
        
$bytes /= pow(1024$pow);
        return 
round($bytes$precision).' '.$units[$pow];    
        
        }

        public static function 
memory() # memory data
        
{

        
$memory function_exists('memory_get_usage') ? memory_get_usage() : 'n/a';   
        
$memory self::size($memory);
        return 
$memory;

        }
        
        public static function 
count() # coun DB data
        
{

        global 
$count_query;
        if (
$count_query == 0)$count_query 0;
        
$count '<font color="#4bff00">'.$count_query.'</font> '.self::ending($count_query,'запрос','запроса','запросов').'';
        return 
$count;    

        }   

        public static function 
select() # select DB data
        
{

        
$select null;
        foreach(
handler::$qs as $q):
        
$select.= '<div class="fights fights-about">'.self::check($q).'</div>';
        endforeach;
        return 
$select;

        }    

        public static function 
num($msg$len# num data
        
{

        
$wordsafe FALSE$dots true$slen strlen($msg);
        if (
$slen <= $len) return $msg;
        if (
$wordsafe): $end $len;   
        while ((
$msg[--$len] != ' ') && ($len 0)): endwhile;
        if (
$len == 0)$len $end;endif;
        if ((
ord($msg[$len]) < 0x80) || (ord($msg[$len]) >= 0xC0))return substr($msg0$len) . ($dots '...' '');
        while (--
$len >= && ord($msg[$len]) >= 0x80 && ord($msg[$len]) < 0xC0): endwhile;
        return 
substr($msg0$len) . ($dots '...' '');      

        }

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