Файл: system/classes/core.php
Строк: 70
<?php
/**
* Класс "core"
* Основной класс обработки данных
*/
class core
{
/**
* Обработка входящих данных
*/
public static function input($var)
{
global $db;
return $db->real_escape_string($var);
}
/**
* Обработка исходящих данных
*/
public static function text($var)
{
return htmlentities($var, ENT_QUOTES, 'UTF-8');
}
/**
* Зашифровка входящих данных
*/
public static function encode($var)
{
return md5(base64_encode($var));
}
/**
* Перенаправление
*/
public static function go($var)
{
header("Location: ".$var);
}
/**
* Узнаем длину русских букв
*/
public static function strlen($var)
{
$rus = array('й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф','ы','в','а','п','р','о','л','д','ж','э','я','ч','с','м','и','т','ь','б','ю','Й','Ц','У','К','Е','Н','Г','Ш','Щ','З','Х','Ъ','Ф','Ы','В','А','П','Р','О','Л','Д','Ж','Э','Я','Ч','С','М','И','Т','Ь','Б','Ю');
return strlen(str_replace($rus, '0', $var));
}
/**
* Вывод времени
*/
public static function time($time = NULL)
{
if (!$time)
$time = TIME;
$data = date('j.n.y', $time);
if ($time == time())
$res ='Только что';
elseif ($data == date('j.n.y'))
$res = 'Сегодня в '.date('G:i', $time);
elseif ($data == date('j.n.y', time() - 86400))
$res = 'Вчера в '.date('G:i', $time);
else
{
$m = array('0', 'Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек');
$res = date('j '.$m[date('n', $time)].' Y в G:i', $time);
$res = str_replace(date('Y'), '', $res);
}
return $res;
}
/**
* Вывод текста
*/
public static function output($var)
{
$var = self::text($var);
$var = preg_replace("#((<br( ?/?)>)|n|r)+#i", "<br />", $var);
return $var;
}
public static function count($table, $where = NULL, $value = NULL)
{
global $db;
return $db->query("SELECT `id` FROM `".$table."` ".($where != NULL ? 'WHERE `'.$where.'` '.$value : NULL))->num_rows;
}
/**
* Вывод ошибок (успех, провал)
*/
public static function show($type = NULL, $var = NULL)
{
global $smarty;
switch ($type)
{
case 'success':
$listing[] = [
'title' => $var,
'div' => 'success',
];
break;
case 'error':
if (empty($var))
{
global $error;
$var = $error;
$listing = null;
}
if (isset($var))
{
$listing[] = [
'title' => $var,
'div' => 'error'
];
}
break;
}
$smarty->assign('listing', $listing);
$smarty->display('listing.tpl');
}
/**
* Ограничение на показ стр. (гость, юзер, админ)
*/
public static function only($type = NULL, $value = 1)
{
global $user;
switch ($type)
{
case 'guest':
if (isset($user))
{
self::go('/');
}
break;
case 'user':
if (empty($user))
{
self::go('/');
}
break;
case 'admin':
if (empty($user) || $user['level'] < $value)
{
self::go('/');
}
break;
}
}
/**
* Сохранение настроек
*/
public static function config($var)
{
if ($fopen = fopen(H.'/system/ini/config.ini', 'w'))
{
$ini_file = [];
foreach ($var as $key=>$value)
{
$ini_file[] = $key.'="'.htmlentities((string)$value, ENT_QUOTES, 'UTF-8').'";';
}
fputs($fopen, implode("rn", $ini_file));
fclose($fopen);
return true;
}
}
}