Файл: core/class/func.php
Строк: 107
<?
/* Функция замены русских букв на латинские */
function retrans($t){
$a = array('_','YA','Ya','ya','yee','YO','yo','Yo','ZH','zh','Zh','Z','z','CH','ch','Ch','SH','sh','Sh','YE','ye','Ye','YU','yu','Yu','JA','ja','Ja','A','a','B','b','V','v','G','g','D','d','E','e','I','i','J','j','K','k','L','l','M','m','N','n','O','o','P','p','R','r','S','s','T','t','U','u','F','f','H','h','W','w','x','q','Y','y','C','c','!');
$b = array(' ','РЇ','РЇ','СЏ','ые','РЃ','С‘','РЃ','Р–','Р¶','Р–','Р—','Р·','Р§','С‡','Ch','РЁ','С€','РЁ','Р','СЌ','Р','Р®','СЋ','Р®','РЇ','СЏ','РЇ','Рђ','Р°','Р‘','Р±','Р’','РІ','Р“','Рі','Р”','Рґ','Р•','Рµ','Р�','Рё','Р™','Р№','Рљ','Рє','Р›','Р»','Рњ','Рј','Рќ','РЅ','Рћ','Рѕ','Рџ','Рї','Р ','СЂ','РЎ','СЃ','Рў','С‚','РЈ','Сѓ','Р¤','С„','РҐ','С…','Р©','С‰','СЉ','СЊ','Р«','С‹','Р¦','С†','');
return str_replace($b,$a,$t);
}
/* функция вырезания спецсимволов */
function del($text)
{
$text=str_replace('&','', $text);
$text=str_replace('$','', $text);
$text=str_replace('>','', $text);
$text=str_replace('<','', $text);
$text=str_replace('~','', $text);
$text=str_replace('`','', $text);
$text=str_replace('#','', $text);
$text=str_replace('*','', $text);
$text=str_replace('?','', $text);
$text=str_replace('Р’«','', $text);
$text=str_replace('Р’»','', $text);
$text = str_replace(array("'", """), "", $text);
return $text;
}
/* функция проверки авторизован ли пользователь */
function check_login(){
global $user;
if(!isset($user['id'])){
header('location:/');
die();
}
}
function user_inf($ref = NULL, $w = NULL){
global $dbs;
if(isset($ref)) $ref = secur($ref);
if (!ctype_digit($ref)){
$lowuser = mb_strtolower($ref, 'UTF8');
$result = core::$dbs->query("SELECT * FROM `users` WHERE `user` = ? LIMIT 1",array($lowuser));
} else if(ctype_digit($ref)) {
$ref = abs(intval($ref));
$result = core::$dbs->query("SELECT * FROM `users` WHERE `id` = ? LIMIT 1",array($ref));
}
$nik = $result->fetch();
if ($w == NULL) return $nik['id'];
else return $nik[$w];
}
/* функция вывода ника */
function us($id){
global $dbs;
$id = core::$dbs->queryFetch("SELECT id,user FROM `users` WHERE `id` = ? LIMIT 1",array($id));
$return = (!empty($id) ? '<a href="/profile/'.$id['id'].'"><b>'.$id['user'].'</b></a>':'[Удалён]');
return $return;
}
/* функция вывода сообщения об успешном действий */
function msg($msg){
if(!empty($msg))
echo '<div class="block"><font color="green">'.$msg.'</font></div>';
}
/* вспомогательная функция подсветки ссылок */
function links_preg1($arr){
if(ereg('^http://'.$_SERVER['HTTP_HOST'],$arr[1])){
return '<a href="'.$arr[1].'">'.$arr[2].'</a>';
} else {
return '<a href="'.$arr[1].'">'.$arr[2].'</a>';
}
}
function links_preg2($arr){
if(ereg('^http://'.$_SERVER['HTTP_HOST'],$arr[2])){
return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];
} else {
return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];
}
}
/* функция подсветки ссылок */
function links($msg){
$msg=preg_replace_callback('~[url=([a-z]+://[^ rnt`'"]+)](.*?)[/url]~iu', 'links_preg1', $msg);
$msg=preg_replace_callback('~(^|s)([a-z]+://([^ rnt`'"]+))(s|$)~iu', 'links_preg2', $msg);
return $msg;
}
/* функция фильтрации чисел */
function num($var){
return abs(intval($var));
}
/* функция фильтрации текста */
function secur($msg) {
if (is_array($msg)) {
foreach($msg as $key => $val) {
$msg[$key] = secur($val);
}
} else {
$msg = htmlspecialchars($msg);
$search = array('|', ''', '$', '\', '^', '%', '`', " ", "x00", "x1A", chr(226) . chr(128) . chr(174));
$replace = array('|', ''', '$', '\', '^', '%', '`', '', '', '', '');
$msg = str_replace($search, $replace, $msg);
$msg = stripslashes(trim($msg));
}
return $msg;
}
/* функция вывода текста */
function out($var){
return nl2br(smiles(code(links($var))));
}
/* функция вывода текста об ошибке */
function err($var){
if (!empty($var)) echo '<div class="block"><font color="red">'.$var.'</font></div>';
}
/* функция времени */
function times($var) {
if ($var == NULL) $var = time();
$full_time = date('d.m.Y РІ H:i', $var);
$date = date('d.m.Y', $var);
$time = date('H:i', $var);
if ($date == date('d.m.Y')) $full_time = date('Сегодня в H:i', $var);
if ($date == date('d.m.Y', time()-60*60*24)) $full_time = date('Вчера в H:i', $var);
return $full_time;
}
function smiles($str){
global $dbs;
$smiles = core::$dbs->query("SELECT * FROM `smiles`");
while($a = $smiles->fetch()){
$str = str_replace($a['name'], '<img src="/smiles/'.$a['file'].'" alt="'.$a['name'].'"/>', $str);
}
return $str;
}
/* Функция подсветки кода */
function highlight_code($code) {
if (is_array($code)) $code = $code[1];
$code = strtr($code, array('<'=>'<', '>'=>'>', '&'=>'&', '"'=>'"', '$'=>'$', '%'=>'%', '''=>"'", '\'=>'\', '^'=>'^', '`'=>'`', '|' => '|', '<br />'=>"rn"));
$code = highlight_string($code, true);
$code = strtr($code, array("rn"=>'<br />', '://'=>'://', '$'=>'$', "'"=>''', '%'=>'%', '\'=>'\', '`'=>'`', '^'=>'^', '|'=>'|'));
return '<div class="info">'.$code.'</div>';
}
$home = 'http://'.$_SERVER['HTTP_HOST'].'';
/* функция бб-кодов */
function code($var){
$var = preg_replace_callback('#[code](.*?)[/code]#i', 'highlight_code', $var);
$var = preg_replace('#[b](.*?)[/b]#si', '<b>1</b>', $var);
$var = preg_replace('#[cit](.+?)[/cit]#is', '<div class="cit">\1</div>', $var);
$var = preg_replace('#[i](.*?)[/i]#si', '<i>1</i>', $var);
$var = preg_replace('#[u](.*?)[/u]#si', '<u>1</u>', $var);
$var = preg_replace('#[s](.*?)[/s]#si', '<s>1</s>', $var);
$var = preg_replace('#[red](.*?)[/red]#si', '<span style="color:red">1</span>', $var);
$var = preg_replace('#[green](.*?)[/green]#si', '<span style="color:green">1</span>', $var);
$var = preg_replace('#[blue](.*?)[/blue]#si', '<span style="color:blue">1</span>', $var);
$var = preg_replace( "#[center](.+?)[/center]#is", "<center>\1</center>", $var);
$var = preg_replace('#[url=(http://.+)](.+)[/url]#i','<a href="1">2</a>',$var);
$var = preg_replace('#[img](.*?)[/img]#si', '<a href="1" title="Нажмите для масштабирования"><img src="1" width="50" height="50" alt="Картинка"></a>', $var);
$var = preg_replace( "#(^|[n ])([w]+?://[w#$%&~/.-;:=,?@[]+]*)#is", "\1<a href="\2" target="_blank">\2</a>", $var);
$var = preg_replace( "#(^|[n ])((www|ftp).[w#$%&~/.-;:=,?@[]+]*)#is", "\1<a href="http://\2" target="_blank">\2</a>", $var);
return $var;
}
/* Генерация пароля */
function gen($var){
return substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, $var);
}
?>