View file system/inc/classes/engine.class.php

File size: 4.08Kb
<?


class engine {

    //Запускаем сессию
    public static function session_start() {
        session_name('SHCMS'); 
        session_start();
    }

    //Проверяем версию PHP
    public static function php_version() {
        version_compare(PHP_VERSION, '5.2', '>=') or die('Для запуска движка испольуйте версию PHP 5.1 и выше');
    }
	
    //Фильтрация строк
    public static function inspect($list) {
	    if (function_exists('iconv')) {
            $list = iconv("UTF-8", "UTF-8", $list);
        }
        // Фильтруем невидимые символы
        $list= preg_replace('/[^\P{C}\n]+/u', '', $list);
        return trim($list);
	}
	
    //Переназначение функций
    public static function my_esc($str) {
        return mysql_real_escape_string($str);
    }
	
    //Транслит с RUS на END 
    public static function rus_lat($translit) {
        $translit = strtr($translit, array (
            'а' => 'a',  'б' => 'b',  'в' => 'v',  'г' => 'g',  'д' => 'd',   'е' => 'e',   'ё' => 'e',  'ж' => 'j',   'з' => 'z',
		    'и' => 'i',  'й' => 'i',  'к' => 'k',  'л' => 'l',  'м' => 'm',   'н' => 'n',   'о' => 'o',  'п' => 'p',   'р' => 'r',
		    'с' => 's',  'т' => 't',  'у' => 'u',  'ф' => 'f',  'х' => 'h',   'ц' => 'c',   'ч' => 'ch', 'ш' => 'sh',  'щ' => 'sch',
		    'ъ' => "",   'ы' => 'y',  'ь' => "",   'э' => 'ye', 'ю' => 'yu',  'я' => 'ya'));
        return $translit;
    }

	//Проверяем пользователя на бан
    public static function ban() {
        global $user_id;
		$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `ban_users` WHERE `user_id` = '$user_id' AND (`time_1` > '".(time())."')"),0);
	 	    if (!isset($list_bans) && $count){
                header('Location: '.DIR_SHCMS.'ban.php?');
                exit();
	        }
    }

	//Шаблон для гостей
    public static function template() {
        global $user_id,$users_user;
	 	    if($user_id == false){
                $users_user['wap'] = 'shcms';
                $users_user['web'] = 'shcms_web';
		    	$users_user['itouch'] = 'shcms_itouch';
		    }

    }
	
	//Определение языка для гостя и для пользователя
    public static function lang() {
	
	    global $user_id, $m_engine, $user_i;
	    if(isset($user_id)) {
	        Lang::setLang($user_i['language']);
	    }else {
	        Lang::setLang($m_engine['language']);
	    }
    }
    //Определяем браузер
    public static function browser(){
        if ( stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox') ) $browser = 'firefox';
            elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'Chrome') ) $browser = 'chrome';
            elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'Safari') ) $browser = 'safari';
            elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'Opera') ) $browser = 'opera';
            elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0') ) $browser = 'ie6';
            elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0') ) $browser = 'ie7';
            elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 8.0') ) $browser = 'ie8';
            elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') ) $browser = 'Opera Mini';
            elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'ucweb') ) $browser = 'ucweb';
            else $browser = 'Неизвестно'; 
        return $browser;
    }		
    //Если есть ошибки
    public static function errors($error) {
	    echo '<div class="errors">'.$error.'</div>';
    } 
	//Если все правильно
	public static function correct($msg) {
	echo '<div class="actshcms">'.$msg.'</div>';
	}
	
	//Допускает только авторизованных
	public static function available($str) {
	global $user_id;
        if ($user_id == false) {
            if ($str == false) {
                $str = H.'index.php?';
                header('Location: '.$str);
	            exit;
			}	
        }
	}
	
	//Определения размера файла
    public static function size($bt) {
            $s = array('B', 'Kb', 'MB', 'GB', 'TB', 'PB');
            $e = floor(log($bt)/log(1024));
			
        return sprintf('%.2f '.$s[$e], ($bt/pow(1024, floor($e))));
    }
}	


?>