<?
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))));
}
}
?>