Файл: backup/core/class/func.php
Строк: 224
<?// Функция "До Нового Года"
function NewYear() {
if(date('n') == 12) {
$s = mktime(0, 0, 0, 01, 01, date('y') + 1) - time();
$d = floor($s/86400);
$s = $s-($d*86400);
$h = floor($s/3600);
$s = $s-($h*3600);
$m = floor($s/60);
$s = $s-($m*60);
$time = FALSE;
if($d >= 1) $time .= $d .' дн. ';
if($h >= 1) $time .= $h .' час. ';
if($m >= 1) $time .= $m .' мин. ';
$res = '<div class="flowap"><img src="http://bymas.ru//files/downloads/247/573/614/617/55032/034.png"> До Нового Года:<br/> '. $time . '</div>';
}
else if(date('n') == 1 && date('d') < 7) $res = 'С Новым Годом!';
else $res = FALSE;
return $res;
}
class func {
/* Подсветка ссылок */
function url_replace($m){
if(isset($_SESSION['cookie_id'])){
if (!isset($m[3])) {
return '<a href="'.$m[1].'">' . $m[2] . '</a>';
} else {
return '<a href="'.$m[3].'">' . $m[3] . '</a>';
}
} else {
return '<b>Ссылки доступны только авторизированным!</b>';
}
}
/* функция ББ-кодов */
public function bb_code($msg){
$msg = preg_replace('#[code](.*?)[/code]#ie', "highlight('$1')", $msg);
$msg = preg_replace('#[big](.*?)[/big]#si', '<big>1</big>', $msg);
$msg = preg_replace('#[b](.*?)[/b]#si', '<b>1</b>', $msg);
$msg = preg_replace('#[i](.*?)[/i]#si', '<i>1</i>', $msg);
$msg = preg_replace('#[u](.*?)[/u]#si', '<u>1</u>', $msg);
$msg = preg_replace('#[small](.*?)[/small]#si', '<small>1</small>', $msg);
$msg = preg_replace('#[color=#([A-Z0-9]{6})](.*?)[/color]#si', '<span style="color:#1">2</span>', $msg);
$msg = preg_replace('#[q](.*?)[/q]#si', '<div class="quote">1</div>', $msg);
$msg = preg_replace('#[del](.*?)[/del]#si', '<del>1</del>', $msg);
$msg = preg_replace('#[url=(.*?)](.*?)[/url]#si', '<a href="1">2</a>', $msg);
$msg = preg_replace('/[url](.+)[/url]/sU', '<a href="http://1">1</a>', $msg);
$msg = preg_replace('#[img=(.*?)]#si', '<img src="1"/>', $msg);
$msg = preg_replace_callback('~\[url=(http://.+?|https://.+?)\](.+?)\[/url\]~', 'url_replace', $msg);
$msg = preg_replace('~http://([^ rnt`'"]+)(s|$)~iu', '<a href="http://1"><img src="http://www.iconsearch.ru/uploads/icons/realistik-new/16x16/package_network.png" alt="Ссылка"/> Ссылка</a> ', $msg);
return $msg;
}
/* функция смайлов */
public function smiles($text){
global $dbs;
$text = trim($text);
$mysql = core::$dbs-> query("SELECT * FROM `smiles` ORDER BY `name` DESC");
while($sql = $mysql -> fetch()){
$text = str_replace($sql['name'],'<img src="/files/'.$sql['file'].'" alt="*"/>',$text);
}
return $text;
}
/* Функция склонения */
private function slv($str,$msg1,$msg2,$msg3){
$str = (int)$str;
$str1 = abs($str) % 100;
$str2 = $str % 10;
if ($str1 > 10 && $str1 < 20) return $str .' '. $msg3;
if ($str2 > 1 && $str2 < 5) return $str .' '. $msg2;
if ($str2 == 1) return $str .' '. $msg1;
return $str .' '. $msg3;
}
/* Функция времени */
public function times($t, $f="d-m-Y в H:i:s"){
global $user;
$time = time();
if(($time - $t) == 0){
$out = 'только что';
} else
if(($time - $t) <= 60){
$out = self::slv((($time-$t)),'секунду','секунды','секунд').' назад';
}
else if(($time - $t >= 60*60*24) && ($time - $t <= 60*60*24*2))
$out = 'вчера в ' . date("H:i", $t + $user['sdvig'] * 3600);
else if(($time - $t >= 60*60*24*2) && ($time - $t <= 60*60*24*3))
$out = 'позавчера в ' . date("H:i", $t + $user['sdvig'] * 3600);
else if($time - $t >= 60*60*24*3)
$out = date($f, $t + $user['sdvig'] * 3600);
else
{
$r = $time - $t;
if($r < 3600){
$vars = array(
'минут',
'минуту',
'минуты',
'минуты',
'минуты',
'минут',
'минут',
'минут',
'минут',
'минут'
);
$a = ($r/60) % 10;
if(($r >= 11*60) && ($r <= 20*60))
$v = $vars['0'];
else
$v = $vars[$a];
$out = floor($r/60) . ' ' . $v . ' назад';
}
else if($r >= 3600 && $r <= 60*60*24){
$vars = array(
'часов',
'час',
'часа',
'часа',
'часа',
'часов',
'часов',
'часов',
'часов',
'часов'
);
$a = ($r/3600) % 10;
if(($r >= 11*60*60) && ($r <= 20*60*60))
$v = $vars['0'];
else
$v = $vars[$a];
$out = floor($r/3600) . ' ' . $v . ' назад';
}
}
return $out;
}
public function footer_menu(){
global $dbs;
echo '<table style="width:100%"
cellspacing="0" cellpadding="0"><td
class="block"><a href="/"><img src="http://'.HTTPHOME.'/icons/home.png" alt="Онлайн"></a></td><td
class="block"><a href="/pages/users.php?do=onl"><img src="http://'.HTTPHOME.'/icons/live.png" alt="Онлайн><font
color="#eee">'.core::$dbs->querySingle("SELECT COUNT(id) from `users` where `onl` > ?",array(time()-600)).'/'.core::$dbs->querySingle("SELECT COUNT(*) from `session` where `date` > ?",array(time()-300)).'</font></a></td><td
class="block"><a href="/pages/users.php"><img src="http://'.HTTPHOME.'/icons/people.png" alt="Мастера"></a></td></table>';
}
public function footer_menu_index(){
global $user,$dbs;
echo '<table style="width:100%"
cellspacing="0" cellpadding="0"><td
class="block"><a href="/pages/users.php?do=onl"><img src="http://'.HTTPHOME.'/icons/live.png" alt="Онлайн><font
color="#eee">'.core::$dbs->querySingle("SELECT COUNT(id) from `users` where `onl` > ?",array(time()-600)).'/'.core::$dbs->querySingle("SELECT COUNT(*) from `session` where `date` > ?",array(time()-300)).'</font></a></td><td
class="block"><a href="/pages/users.php"><img src="http://'.HTTPHOME.'/icons/people.png" alt="Мастера"></a></td>'.(($user['id']) ? '<td
class="block"><a href="/pages/exit.php"><img src="http://'.HTTPHOME.'/icons/exit.png" alt="exit"></a></td>':'').'</table>';
}
public function head_menu_index(){
global $dbs,$user;
$mail = core::$dbs->querySingle("SELECT COUNT(id) FROM `privat` WHERE `ho` = ? AND `read` = ?",array($user['id'],0));
if(!isset($user['id'])){
echo '<table style="width:100%"
cellspacing="0" cellpadding="0"><td
class="block"><a href="/pages/login.php"><img
src="http://'.HTTPHOME.'/icons/login.png"
alt="Вход"></a></td><td class="block"><a
href="/pages/reg.php"><img src="http://'.HTTPHOME.'/icons/reg.png"
alt="Регистрация"></a></td></table>';
} else {
echo '<table style="width:100%"
cellspacing="0" cellpadding="0"><td
class="block"><a href="/user/mail.php"><img
src="http://'.HTTPHOME.'/icons/mail.png"
alt="Mail">'.(!empty($mail) ? '<b><font color="red">+'.$mail.'</font></b>':'').'</a></td><td class="block"><a
href="/user/us/'.$user['id'].'"><img src="http://'.HTTPHOME.'/icons/profile.png"
alt="Профиль"></a></td></table>';
}
}
public function head_menu(){
global $dbs,$user;
$mail = core::$dbs->querySingle("SELECT COUNT(id) FROM `privat` WHERE `ho` = ? AND `read` = ?",array($user['id'],0));
if(!$user['id']){
echo '<table style="width:100%"
cellspacing="0" cellpadding="0"><td
class="block"><a href="/pages/login.php"><img
src="http://'.HTTPHOME.'/icons/login.png"
alt="Вход"></a></td><td class="block"><a
href="/pages/reg.php"><img src="http://'.HTTPHOME.'/icons/reg.png"
alt="Регистрация"></a></td></table>';
} else {
echo '<table style="width:100%"
cellspacing="0" cellpadding="0"><td
class="block"><a href="/"><img
src="http://'.HTTPHOME.'/icons/home.png"
alt="index"></a></td><td
class="block"><a href="/user/mail.php"><img
src="http://'.HTTPHOME.'/icons/mail.png"
alt="Mail">'.(!empty($mail) ? '<b><font color="red">+'.$mail.'</font></b>':'').'</a></td><td class="block"><a
href="/user/us/'.$user['id'].'"><img src="http://'.HTTPHOME.'/icons/profile.png"
alt="Профиль"></a></td></table>';
}
/* Вывод рекламы */
$random = core::$dbs->query("SELECT * FROM `rekl` WHERE `index` != ? ORDER BY RAND() DESC LIMIT 3",array(1));
if($random->rowCount() != 0){
echo '<div class="main">';
while($r = $random->fetch()){
echo '<a href="http://'.$r['link'].'">'.$r['name'].'</a><br/>';
}
echo '</div>';
}
}
/* функция статусов */
public function status($var){
if($var['post']>=0){
$status = 'Новичок';
}elseif($var['post']>=50){
$status = 'Пользователь';
}elseif($var['post']>=100){
$status = 'Наш чел';
}
return $status;
}
/* Проверяем Авторизован ли юзер */
public function is_auth(){
global $user;
if(!isset($user['id'])){
header('location:/pages/login.php');
}
}
public function user_inf($ref = NULL, $w = NULL){
global $dbs;
if (isset($ref)) $ref = self::check($ref);
if (!ctype_digit($ref)){
$lowuser = mb_strtolower($ref, 'UTF8');
$result = core::$dbs->query("SELECT * FROM `users` WHERE `login` = ? LIMIT 1",array($lowuser));
} elseif (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];
}
/* Функция вывода текста */
public function out($var){
return self::bb_code(self::smiles(nl2br($var)));
}
/* Функция вывода ника */
public function nick($id){
global $dbs;
$id = core::$dbs->queryFetch("SELECT * FROM `users` WHERE `id` = ? LIMIT 1",array($id));
$onl = ($id['onl'] > time()-600 ? '<img src="/icons/on.gif" alt="on"/>':'<img src="/icons/off.gif" alt="off"/>');
if(!empty($id['id'])){
$var = $onl.' <a href="/user/us/'.$id['id'].'">'.$id['login'].'</a>';
} else {
$var = '[Удален]';
}
return $var;
}
/* функция фильтрации чисел */
public function num($var){
return abs(intval($var));
}
/* функция фильтрации букв и символов */
public function check($var){
$var = htmlspecialchars($var);
$search = array('|', ''', '$', '\', '^', '%', '`', " ", "x00", "x1A", chr(226) . chr(128) . chr(174));
$replace = array('|', ''', '$', '\', '^', '%', '`', '', '', '', '');
$var = str_replace($search, $replace, $var);
return trim($var);
}
/* функция вывода ошибки */
public function error($var){
if(!empty($var)){
echo '<div class="err"><font color="red">'.$var.'</font></div>';}
}
/* функция вывода успешного действия */
public function done($var){
if(!empty($var)){
echo '<div class="msg">'.$var.'</div>';}
}
/* навигация */
public function k_page($k_post=0,$k_p_str=10){
if($k_post!=0){
$v_pages = ceil($k_post/$k_p_str);
return $v_pages;
}
else return 1;
}
public function page($k_page=1){
$page = 1;
if(isset($_GET['page'])){
if ($_GET['page'] == 'end') $page = abs(intval($k_page));
else if(is_numeric($_GET['page'])) $page = abs(intval($_GET['page']));
}
if($page<1) $page = 1;
if ($page > $k_page) $page = $k_page;
return $page;
}
public function str($link, $k_page, $page){
echo '<div class="main">';
if ($page != 1 )echo '<a href="'.$link.'page='.($page-1).'">« назад</a>';
if ($page != 1 AND $page != $k_page ) echo '|';
if ($page != $k_page) echo '<a href="'.$link.'page='.($page+1).'">далее »</a>';
echo '<br />';
if ($page != 1) echo '<a href="'.$link.'page=1">1</a>';
else
echo '1';
for($ot=-3; $ot<=3; $ot++){
if ($page + $ot > 1 AND $page + $ot < $k_page){
if ($ot==-3 AND $ot + $page > 2) echo '...';
if ($ot != 0) echo ',<a href="'.$link.'page='.($page+$ot).'">'.($page+$ot).'</a>';
else
echo ','.($page+$ot);
if ($ot==3 AND $ot + $page < $k_page-1) echo ',..';
}
}
if ($page != $k_page) echo ',<a href="'.$link.'page='.$k_page.'">'.$k_page.'</a>';
else
echo ','.$k_page;
echo '</div>';
}
public function nav($var,$limit){
global $k_page,$page,$start;
$k_page = self::k_page($var,$limit);
$page = self::page($k_page);
$start = $limit * $page - $limit;
}
public function navig($link){
global $k_page,$page;
if($k_page>1)self::str($link,$k_page,$page);
}
public function size($size){
if($size >= 1073741824)
$size = round($size/1073741824*100) / 100 .' Gb';
elseif($size >= 1048576)
$size = round($size/1048576*100) / 100 .' Мб';
elseif($size >= 1024)
$size = round($size/1024*100) / 100 .' кб';
else $size = round($size).' б';
return $size;
}
public 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);
}
public 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);
return $text;
}
}
?>