Вход Регистрация
Файл: system/class/func.php
Строк: 638
<?
defined
('GCMS') or die('Ошибка!');
////Файл,отвечающий за функции и операции (Идиотам не суваться!)
    //Кодировщик
function shit($s){    
    
$s htmlspecialchars($s);
    
$search = array("n","rn",'|'''', '$', '\', '^', '%', '`', "", "x00", "x1A", "‮⁄∩");
    
$replace = array('<br />','<br />','&#124;', '&#39;', '&#36;', '&#92;', '&#94;', '&#37;', '&#96;', '', '', '', '');
    
$s = str_replace($search$replace$s);
    
$s = stripslashes(trim($s));
    return 
$s;
}
///обработка mb_strlen
if (!function_exists('mb_strlen')) {
    function mb_strlen(
$str)
    {
        return strlen(iconv("UTF-8","cp1251", 
$str));
    }
}
///обработка бб-кода изображений
function img(
$img){
$file = shit('http://'.$img[1]);
ini_set('display_errors','Off');
error_reporting('E_ALL');
if(preg_match("#http://(.*)(/)([a-zA-Z_0-9.])+(gif|png|jpg|jpeg)#ui",
$file)){
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
if(
$ext == 'gif' or $ext == 'jpeg' or $ext == 'jpg' or $ext == 'png'){
$img=' <a href="'.$file.'"><img src="'.$file.'" alt="Изображение" width="65" height="45"></a> ';
}else 
$img='[Изображение не найдено]';
}else 
$img='[Изображение не найдено]';  
ini_set('display_errors','On');
return 
$img;
}
///YouTube видео
function youtube(
$url){
///**преобразуем
$url[1] = preg_replace('#(.*)/#si', '', $url[1]);
$url[1] = preg_replace('#(.*)v=#si', '', $url[1]);
///**формируем название видео
$ch = curl_init();
curl_setopt(
$ch, CURLOPT_URL,'http://www.youtube.com/watch?v='.$url[1]);
curl_setopt(
$ch,CURLOPT_USERAGENT,'Sony Ericson j10i2');
curl_setopt(
$ch,CURLOPT_TIMEOUT,6);
curl_setopt(
$ch,CURLOPT_RETURNTRANSFER,1);
$video_name = curl_exec($ch);  
curl_close(
$ch);

$video_name = preg_replace('|(.*?)<title>(.*?)</title>(.*)|is','2',$video_name);
//Видео с YouTube
return '<br/><b>'.
$video_name.'</b>
<video width="320" height="240">
<source type="video/youtube" src="http://www.youtube.com/watch?v='.
$url[1].'" />
</video>';
}
final class func {
///Создание капчи
function capcha(
$activate=false){
global 
$db;
$nas = $db -> query("SELECT `name`,`parametr` FROM `settings` where `name`='capcha' or `name`='captcha_eazy'");
while (
$assoc = $nas -> fetch_assoc()) {
$nastr[$assoc['name']]=$assoc['parametr'];
}
if(
$nastr['capcha']==0 or $activate==true){
if(
$nastr['captcha_eazy']==1)$array = array('1','2','3','4','5','6','7','8','9');
if(
$nastr['captcha_eazy']==2)$array = array('Q','W','E','R','T','Y','U','I','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M');
if(
$nastr['captcha_eazy']==3)$array = array('1','2','3','4','5','6','7','8','9','Q','W','E','R','T','Y','U','I','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M');
$i = 0;
$cod = '';
while (
$i < 4) {
$cod .= $array[array_rand($array)];
++
$i;
}
$capcha = $cod;
}else 
$capcha=null;
return 
$capcha;
}
///функция склонения в зависимости от пола
public function ifsex(
$id,$text_m,$text_w){
global 
$db;
$us = $db -> query("SELECT `sex` FROM `users` where `id`='".$id."'")-> fetch_assoc();
if(
$us['sex']=='m') return $text_m; else return $text_w;
}
//функция со склонением в зависимости от числа
public function GetName (
$col$name_one$name_two$name_three) {
    
$col = abs($col) % 100;
    
$intval = $col % 10;
    
    if (
$col > 10 && $col < 20) {
        return 
$col.' '.$name_three;
    }
    else if (
$intval > 1 && $intval < 5) {
        return 
$col.' '.$name_two;
    }
    else if (
$intval == 1) {
        return 
$col.' '.$name_one;
    }
    
    return 
$col.' '.$name_three;
}
////функции транслита
function translate1 (
$text){
    
$str = explode('!', $text);
    
$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[0].str_replace($a$b$str[1]);
}
function translate2 (
$text) {
    return str_replace('_', ' ', 
$text);
}
//Размер файла
public function size(
$file) {
    if (
$file >= 1048576000) {
        
$file = round(($file / 1073741824), 2)." Gb";
    } elseif (
$file >= 1024000) {
        
$file = round(($file / 1048576), 2)." Mb";
    } elseif (
$file >= 1000) {
        
$file = round(($file / 1024), 2)." Kb";
    } else {
        
$file = round($file)." byte";
    } 
    return 
$file;

///округлениче значения
public function kol(
$kol){
if(round(
$kol/1000)>0)$kol=round($kol/1000).'k+'; ///если больше 1 000,то выводим количество тысяч+
return 
$kol;
}
//Месяца 
public function mes(
$mon) {
$mon = strtr($mon,array('1' => 'Января','2' => 'Февраля', '3' => 'Марта', '4' => 'Апреля', '5' => 'Мая', '6' => 'Июня',
'7' => 'Июля', '8' => 'Августа', '9' => 'Сентября', '10' => 'Октября', '11' => 'Ноября', '12' => 'Декабря'));
return 
$mon;
}
//Определение дня недели
public function date_day(
$date) {
$date=strftime("%w", strtotime(date('Y-m-d',$date)));
$date = strtr($date,array('1' => 'Понедельник', '2' => 'Вторник', '3' => 'Среда', '4' => 'Четверг',
'5' => 'Пятница', '6' => 'Суббота', '0' => 'Воскресение'));
return 
$date;
}
//Перевод времени
public function times(
$time) {
$dat = explode(' ',$time);
if (
$dat[0]{0} == '0') $dat[0] = substr($dat[0],1);
$dat[1] = strtr($dat[1],array('01' => 'Января', '02' => 'Февраля', '03' => 'Марта', '04' => 'Апреля',
'05' => 'Мая', '06' => 'Июня', '07' => 'Июля', '08' => 'Августа', '09' => 'Сентября','10' => 'Октября',
'11' => 'Ноября', '12' => 'Декабря'));
$time = implode(' ',$dat);
return 
$time;
}
///плеер
public function player(
$url,$type,$width=320,$height=240) {
if(
$type!=1)$ext = strtolower(pathinfo('/'.$url, PATHINFO_EXTENSION));
//Видео с YouTube
if(
$type==1){
///**преобразуем
$url = preg_replace('#(.*)/#si', '', $url);
$url = preg_replace('#(.*)v=#si', '', $url);
echo '<video width="'.
$width.'" height="'.$height.'">
<source type="video/youtube" src="http://www.youtube.com/watch?v='.
$url.'" />
</video>';
}
//обычное видео формата mp4
if(
$type==2 and $ext=='mp4'){
echo '<video width="'.
$width.'" height="'.$height.'"  controls="controls">
<source src="'.
$url.'" type="video/mp4" codecs="avc1.42E01E, mp4a.40.2">
</video>';
}
///аудиофайл формата mp3
if(
$type==3 and $ext=='mp3'){
echo '<audio controls="control"/>
<source src="'.
$url.'" type="audio/mp3">
</audio>';
}
}
///проверяем нахождение пользователя и записываем нужное
public function where(
$where){
global 
$db;
$where=$db -> real_escape_string(htmlentities($where));
//главная стандартно
$wh='<a href="/">На главной</a>';
if(preg_match("#/users.php#si",
$where))$wh='<a href="/users.php">Пользователи</a>';
if(preg_match("#/online.php#si",
$where))$wh='<a href="/online.php">Кто онлайн</a>';
if(preg_match("#/help/#si",
$where))$wh='<a href="/help/">Помощь/Инфо</a>';
//анкеты
if(preg_match("#/id([0-9])#",
$where)){
$id=intval(abs(preg_replace("#/id([0-9])#",'1', $where)));
$arr = $db -> query("SELECT * FROM `users` WHERE `id` = '$id'")->fetch_array();
if(
$arr['id']!=null)$wh='<a href="/id'.$arr['id'].'"/>Анкета '.$arr['login'].'</a>';
}
//выводим в power.php на добавление
return 
$wh;
}
//Функция со временем
public function vremja(
$time = NULL) {
if (
$time == NULL) $time = time();
$timep = date('d M Y в H:i', $time);
$time_p[0] = date('d M Y', $time);
$time_p[1] = date('H:i', $time);
$time_p[2] = date('H:i:s', $time);
if (
$time_p[0] == date('d M Y')) $timep = 'Сегодня в '.$time_p[2].'';
if (
$time_p[0] == date('d M Y', time()-60 * 60 * 24)) $timep = 'Вчера в '.$time_p[1];
if (
$time_p[0] == date('d M Y', time()-60 * 60 * 48)) $timep = 'Позавчера в '.$time_p[1];
$timep = str_replace(array('Jan','Feb','Mar','May','Apr','Jun','Jul','Aug','Sep','Oct','Nov','Dec'),
array('Янв','Фев','Марта','Мая','Апр','Июня','Июля','Авг','Сент','Окт','Ноября','Дек'),
$timep);
return 
$timep;
}
///Перевод секунд в нужный формат
public function ontime(
$string) { 
if(floor(
$string/86400)>0){$day=floor($string/86400).' дней ';}else{$day=null;}
$hours=floor(($string/3600)-$day*24); 
$min=floor(($string-$hours*3600-$day*86400)/60); 
$sec=$string-($min*60+$hours*3600+$day*86400); 
return 
$day.''.$hours.'ч. '.$min.'м. '.$sec.'сек.';
}
// Вырезание bb-кодов из цитаты
public function nobb(
$text = '') {
    
$text = strtr($text, array('[c]' => '', '[/c]' => '','[blue]' => '', '[/blue]' => ''));
    return 
$text;
}
// Вырезание пробелов
public function delprobel(
$text = '') {
    
$text = strtr($text, array(' ' => ''));
    return 
$text;
}
// Вырезание ненужных символов
public function delsim(
$text = '') {
    
$text = strtr($text, array('%' => '','_' => ''));
    return 
$text;
}
// Замена точек на _
public function perf(
$text) {
    
$text = strtr($text, array('.' => '_'));
    return 
$text;
}
////Корректировка html переносов
function br(
$msg)
{
$search = array("<br />");
$replace = array('');
$msg = str_replace($search$replace$msg);
return 
$msg;
}
///определение возраста
public function vozrast(
$d,$m,$y) {
if(!empty(
$d) and !empty($m) and !empty($y)){
$v=$d-date("d");
$vo=$m-date("m");
if(
$vo<=0 and $v<=0)
{
$voz=date("Y")-$y;
}
else
{
$voz=date("Y")-$y-1;
}
return 
$voz;
}
}
///Определяем ОС устройства
public function browser(
$my_browser) {
$oses = array (
'iPhone' => '(iPhone)','Android' => '(android)','iPad' => '(iPad)',
'Blackberry OS' => '(rim)','Windows 3.11' => 'Win16','Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
'Windows 98' => '(Windows 98)|(Win98)','Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
'Windows XP' => '(Windows NT 5.1)|(Windows XP)','Windows 2003' => '(Windows NT 5.2)',
'Windows Vista' => '(Windows NT 6.0)|(Windows Vista)','Windows 7' => '(Windows NT 6.1)|(Windows 7)',
'Windows 8' => '(Windows NT 6.2)|(Windows 8)','Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
'Windows ME' => 'Windows ME','Open BSD'=>'OpenBSD','Sun OS'=>'SunOS','Linux'=>'(Linux)|(X11)',
'Safari' => '(Safari)','Macintosh'=>'(Mac_PowerPC)|(Macintosh)','QNX'=>'QNX','BeOS'=>'BeOS','OS/2'=>'OS/2',
'Google' => '(Googlebot)','Yahoo! | AOL' => '(Slurp) | (Yahoo! Slurp) | (Yammybot)','MSN | Live' => '(MSNBot)',
'Ask' => '(Teoma)','AltaVista' => '(Scooter)','Alexa' => '(ia_archiver)','Lycos' => '(Lycos)',
'Яндекс' => '(Yandex)','Рамблер' => '(StackRambler)','Мэйл.ру' => '(Mail.Ru)','Aport' => '(Aport)',
'Search Bot'=>'(nuhk)|(Openbot)|(Slurp/cat)');
foreach(
$oses as $os=>$pattern){if(preg_match('#'.$pattern.'#si', $my_browser)) {return $os;}}
return 'Other';
}
///Класс ленты
public function lenta(
$uid,$mess,$type,$where,$url=null) {
global 
$db;
$sql = $db -> query("SELECT * FROM `users` WHERE `id` = '".$uid."' LIMIT 1");
if (
$sql-> num_rows > 0) {
//
if(
$where=='friends'){
$sql = $db -> query("SELECT * FROM `nuts` where `time`<>'0' and `user`='".$uid."' and `where`='friends'");
while (
$u = $sql -> fetch_assoc()) {
$db -> query("INSERT INTO `lenta` (`uid`,`text`,`type`,`where`,`time`) VALUES ('".$uid."','".$mess."','".$type."','".$u['idwh']."','".time()."')");
}
}
if(
$where=='user'){
$db -> query("INSERT INTO `lenta` (`uid`,`text`,`type`,`where`,`time`) VALUES ('".$uid."','".$mess."','".$type."','".$uid."','".time()."')");
}
//
}
}
///вывод места проживания
public function max_import(
$max){
$max=$max*1024*1024;
return 
$max;
}
///вывод места проживания
public function region(
$city,$type=1,$view_none=0){
global 
$db;
$city=intval(abs($city));
$sql = $db -> query("SELECT * FROM `country_city` WHERE `id` = '".$city."' LIMIT 1");
if (
$sql-> num_rows > 0) {
$city=$sql->fetch_assoc();
$region = $db -> query("SELECT * FROM `country_region` WHERE `id` = '".$city['region']."' LIMIT 1")->fetch_assoc();
$country = $db -> query("SELECT * FROM `country` WHERE `id` = '".$city['country']."' LIMIT 1")->fetch_assoc();
if(
$type==1)$view=$city['name']; // вывод: Город
if(
$type==2)$view=$city['name'].' ('.$region['name'].')'; // вывод: Город (Регион)
if(
$type==3)$view=$city['name'].' ('.$country['name'].')'; // вывод: Город (Страна)
if(
$type==4)$view=$region['name']; // вывод: Регион
if(
$type==5)$view=$country['name']; // вывод: Страна
}else if(
$view_none==1) $view='Не указан'; else $view=null;
return 
$view;
}
///поиск города по имени
public function cityname(
$name){
global 
$db;
$name=mysql_real_escape_string(htmlspecialchars(trim($name)));
$back=null;
$sql = $db -> query("SELECT * FROM `country_city` WHERE `name` = '".$name."' LIMIT 1");
if (
$sql-> num_rows > 0) {
$city=$sql->fetch_assoc();
$back=$city['id'];
}
return 
$back;
}
///Класс системных уведомлений
public function sysmail(
$mess,$id) {
global 
$db;
$nas = $db -> query("SELECT `name`,`parametr` FROM `settings` where `name`='sys_mail'");
while (
$assoc = $nas -> fetch_assoc()) {
$nastr[$assoc['name']]=$assoc['parametr'];
}
$nas->free();
if(
$nastr['sys_mail']!='0'){
$id = abs(intval($id));
$dialog = abs(intval($dialog));
$mess = shit($mess);
$user = $db -> dbcount('COUNT(`id`)','users',"`id`='$id'");
if(
$user>0){
$sq1 = $db -> query("SELECT `id` FROM `dialogs` WHERE `user`='$id' and `oid`='2'  LIMIT 1");
$sq2$db -> query("SELECT `id` FROM `dialogs` WHERE `oid`='$id' and `user`='2'  LIMIT 1");
if ((
$sq1-> num_rows == 0)and($sq2-> num_rows == 0)) {
$db -> query("INSERT INTO `dialogs` (`user`,`oid`,`time`) VALUES ('".$id."','2','".time()."')");
$dialog = $db -> insert_id;
$db -> query("INSERT INTO `mail` (`fid`,`oid`,`dialog`,`text`,`time`) VALUES ('$id','2','$dialog','$mess','".time()."')");
}else{
if (
$sq1-> num_rows > 0) {
$d=$sq1->fetch_assoc();
}elseif(
$sq2-> num_rows > 0){
$d=$sq2->fetch_assoc();    
}
$dialog=$d['id'];
$db -> query("INSERT INTO `mail` (`fid`,`oid`,`dialog`,`text`,`time`) VALUES ('$id','2','$dialog','$mess','".time()."')");
$db -> query("Update `dialogs` set `time`='".time()."' where `id`='$dialog'");
}
}
}
}
///Обработчик ссылок на сайте(лента)
public function lenta_tag(
$text){
$text = preg_replace('/[gomy=(?:http://)?(.*?)](.*?)[/gomy]/',' <a href="'.ROOT.'1">2</a> ', $text);
$text = preg_replace('#[img](.*?)[/img]#si', '<img src="1">', $text);
return 
$text;
}
///проверка: является ли пользователь другом 
public function friends(
$id,$ya){
global 
$db;
$sql = $db -> query("SELECT * FROM `nuts` WHERE `where`='frends' and `user`='".$id."' and `idwh`='".$ya."' and `time`<>'0' or `where`='frends' and `user`='".$ya."' and `idwh`='".$id."' LIMIT 1");
if(
$sql->num_rows>0){
return true;
}else return false;
}
///проверка: нахожусь ли я в игноре у пользователя
public function ignor(
$id,$ya){
global 
$db;
$sql = $db -> query("SELECT * FROM `nuts` WHERE `where`='ignor' and `idwh`='".$id."' and `user`='".$ya."' LIMIT 1");
if(
$sql->num_rows>0){
return true;
}else return false;
}
///bb-коды
public function tags(
$var)
{
global 
$db;
$nas = $db -> query("SELECT `name`,`parametr` FROM `settings` where `name`='bbcodes'");
while (
$assoc = $nas -> fetch_assoc()) {
$nastr[$assoc['name']]=$assoc['parametr'];
}
$nas->free();
$var = preg_replace('#([^s&/<>"\-[]]|&[#a-z0-9]{1,7}){50}#i', '$0  ', $var);
if(
$nastr['bbcodes']=='on'){
$var = preg_replace('#[center](.*?)[/center]#si', '<center>1</center>', $var);
$var = preg_replace('#[b](.*?)[/b]#si', '<span style="font-weight: bold;"> 1 </span>', $var);
$var = preg_replace('#[i](.*?)[/i]#si', '<span style="font-style:italic;"> 1 </span>', $var);
$var = preg_replace('#[u](.*?)[/u]#si', '<span style="text-decoration:underline;"> 1 </span>', $var);
$var = preg_replace('#[s](.*?)[/s]#si', '<span style="text-decoration: line-through;"> 1 </span>', $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('#[c](.*?)[/c]#si', '<div class="cit">Цитата: 1 </div>', $var);  
$var = preg_replace('/[url](?:http://)?(.*?)[/url]/', ' <a href="'.ROOT.'exit.php?mode=1&do=1&act='.$_SERVER['REQUEST_URI'] .'"> 1 </a> ', $var);
$var = preg_replace('/[urls?=s?(['"]?)(?:http://)?(.*?)1](.*?)[/url]/', ' <a href="http://$2"> $3 </a> ', $var);
$var = preg_replace_callback("|[img=(?:http://)?(.*?)]|",'img', $var);
$var = preg_replace_callback("/[youtube](?:http://)?(.*?)[/youtube]/",'youtube', $var);
$var = preg_replace("#[size=([0-9])](.+)[/size]#",'<font size="1">2</font>', $var);
$var = preg_replace("#[left](.+)[/left]#",'<p style="text-align:left">1</p>', $var);
$var = preg_replace("#[center](.+)[/center]#",'<p style="text-align:center">1</p>', $var);
$var = preg_replace("#[right](.+)[/right]#",'<p style="text-align:right">1</p>', $var);
return 
$var;
}else return 
$var;
}
////Копирайт на фотографии
public function copy(
$file,$papka,$text
{
global 
$db;
$nas = $db -> query("SELECT `name`,`parametr` FROM `settings` where `name`='copyright'");
while (
$assoc = $nas -> fetch_assoc()) {
$nastr[$assoc['name']]=$assoc['parametr'];
}
$nas->free();
if(
$nastr['copyright']=='yes'){
$path = pathinfo(ROOT.$papka.$file);
if (
$path['extension'] == 'gif') {
$create = ImageCreateFromGif(ROOT.$papka.$file);
$type = 'ImageGif';}
else if (
$path['extension'] == 'jpg' || $path['extension'] == 'jpeg') {
$create = ImageCreateFromJpeg(ROOT.$papka.$file);
$type = 'ImageJpeg';}        
if (
$create) {
$color = ImageColorALLocate($create,255,255,255);
$padding = imageSY($create) - (2 * 8);
                
ImageString(
$create, intval(2), ImageSX($create) -(iconv_strlen($text) * 8), $padding, htmlspecialchars($text), $color);
$type($create, ROOT.$papka.$file, 100);            
}
}
}
///функция сохранения настроек
public function save_settings(
$array){
global 
$db;
foreach (
$array as $key => $value) {
$db -> query("UPDATE `settings` SET `parametr` = '".$value."' where `name`='".$key."'");
}
return true;
}
////Вывод аватара
public function avatar(
$id,$w=56,$h=55,$url=0){
global 
$db;
$nas = $db -> query("SELECT `name`,`parametr` FROM `settings` where `name`='ststyle'");
while (
$assoc = $nas -> fetch_assoc()) {
$nastr[$assoc['name']]=$assoc['parametr'];
}
$nas->free();
$arr = $db -> query("SELECT `login`,`foto`,`sex` FROM `users` WHERE `id` = '".$id."' LIMIT 1");
if (
$arr -> num_rows > 0) {
$array = $arr -> fetch_assoc();
if(
$url==0){
$url1='<a href="/id'.$id.'">';
$url2='</a>';
}else
{$url1=$url2=null;}
if(
$array['foto']!=0){
$foto = $db -> query("SELECT `url` FROM `files` where `what`='foto' and `id`='".$array['foto']."'")->fetch_assoc();
$avatar=$url1.'<img src="/system/resize.php?img=../downloads/foto/'.$foto['url'].'&width='.$w.'&height='.$h.'&i=0">'.$url2;
}else{
$avatar=$url1.'<img src="/styles/'.STYLE.'/images/'.$array['sex'].'.png" width='.$w.' height='.$h.' alt="нет авы"/>'.$url2;
}
}else 
$avatar=null;
if(
$avatar!=null)$avatar=$avatar;
return 
$avatar;
}
// Функции обработки текста
public function smiles(
$text){
global 
$db;
////Функция АнтиПост
$s = $db -> query("SELECT `mess`,`messoff` FROM `antimessage`");
while (
$anti = $s -> fetch_assoc()) {
$text = strtr($text, array($anti['mess']=>$anti['messoff']));}
///Смайлы
$nas = $db -> query("SELECT `name`,`parametr` FROM `settings` where `name`='smiles'");
while (
$assoc = $nas -> fetch_assoc()) {
$nastr[$assoc['name']]=$assoc['parametr'];
}
$nas->free();
if(
$nastr['smiles']=='on'){
$sm = $db -> query("SELECT * FROM `smiles`");
if (
$sm -> num_rows > 0) {
while (
$smile = $sm -> fetch_assoc()) {
if(mb_strlen(
$smile['smile']) >= 2)$text = strtr($text, array($smile['smile']=>'<img src="'.ROOT.'downloads/smiles/'.$smile['file'].'" alt="'.$smile['smile'].'"/>'));
}
}
}
///
return 
$text;
}
//Функция вывода онлайн или нет
public function online(
$user,$off=false){
global 
$db;
$arr = $db -> query("SELECT `login`,`lasttime` FROM `users` WHERE `id` = '$user'")->fetch_array();
if (
$arr> 0){
if(
$online=1){
$only = $db -> query("SELECT `login` FROM `online` WHERE `login` = '$arr[login]'")->fetch_array();
if(
$only>''){
$log='<span class="date"/><b>Online</b></span>';
}else{
if(
$off==true)$log='<span class="date"/><b>Offline</b></span>';
}
}
}else 
$log=null;
return 
$log;
}
//Функция вывода ника
public function login(
$user,$url=1) {
global 
$db;
$arr = $db -> query("SELECT `login` FROM `users` WHERE `id` = '$user'")->fetch_array();
if (
$arr> 0){
if(
$url==1)$log='<a href="'.ROOT.'id'.$user.'">'.$arr['login'].'</a>'; else $log=$arr['login'];
}else 
$log='[Удалён]';
return 
$log;
}
//Функция вывода Имя Фамилия или если не указаны-просто ник
public function famname(
$user,$url=1) {
global 
$db;
$arr = $db -> query("SELECT `login`,`name`,`fami` FROM `users` WHERE `id` = '$user'")->fetch_array();
if (
$arr> 0){
if(mb_strlen(
$arr['name'])>0 or mb_strlen($arr['fami'])>0)
{
if(
$url==1)$log='<a href="'.ROOT.'id'.$user.'">'.$arr['name'].' '.$arr['fami'].'</a>'; else $log=$arr['name'].' '.$arr['fami'];
}else{
if(
$url==1)$log='<a href="'.ROOT.'id'.$user.'">'.$arr['login'].'</a>'; else $log=$arr['login'];
}
}else 
$log='[Удалён]';
return 
$log;
}
//Функция вывода ника+статус
public function user(
$user) {
global 
$db;
$arr = $db -> query("SELECT `login` FROM `users` WHERE `id` = '$user'")->fetch_array();
if (
$arr> 0){
$only = $db -> query("SELECT `login` FROM `online` WHERE `login` = '$arr[login]'")->fetch_array();
if(
$only>''){
$log='<a href="'.ROOT.'id'.$user.'">'.$arr['login'].'</a> [Online]';
}else{
$log='<a href="'.ROOT.'id'.$user.'">'.$arr['login'].'</a> [Offline]';
}
}else 
$log='[Удалён]';
return 
$log;
}
//-------------функции зодиака-------------//
public function zodiak(
$d,$m)
{
if (
$d != NULL and $m != NULL) {
    
if ((
$d >= 20) and ($m == 3)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_aries.png" title = "Овен" alt="Овен"/>';
}
elseif ((
$d <= 20) and ($m == 4)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_aries.png" title = "Овен" alt="Овен"/>';
}
if ((
$d >= 20) and ($m == 4)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_taurus.png" title = "Телец" alt="Телец"/>';
}
elseif ((
$d <= 21) and ($m == 5)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_taurus.png" title = "Телец" alt="Телец"/>';
}
if ((
$d >= 21) and ($m == 5)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_gemini.png" title = "Близнецы" alt="Близнецы"/>';
}
elseif ((
$d <= 21) and ($m == 6)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_gemini.png" title = "Близнецы" alt="Близнецы"/>';
}
if ((
$d >= 21) and ($m == 6)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_cancer.png" title = "Рак" alt="Рак"/>';
}
elseif ((
$d <= 22) and ($m == 7)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_cancer.png" title = "Рак" alt="Рак"/>';
}
if ((
$d >= 22) and ($m == 7)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_leo.png" title = "Лев" alt="Лев"/>';
}
elseif ((
$d <= 22) and ($m == 8)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_leo.png" title = "Лев" alt="Лев"/>';
}
if ((
$d >= 23) and ($m == 8)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_virgo.png" title = "Дева" alt="Дева"/>';
}
elseif ((
$d <= 20) and ($m == 9)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_virgo.png" title = "Дева" alt="Дева"/>';
}
if ((
$d >= 23) and ($m == 9)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_libra.png" title = "Весы" alt="Весы"/>';
}
elseif ((
$d <= 23) and ($m == 10)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_libra.png" title = "Весы" alt="Весы"/>';
}
if ((
$d >= 24) and ($m == 10)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_scorpio.png" title = "Скорпион" alt="Скорпион"/>';
}
elseif ((
$d <= 22) and ($m == 11)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_scorpio.png" title = "Скорпион" alt="Скорпион"/>';
}
if ((
$d >= 23) and ($m == 11)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_sagittarius.png" title = "Стрелец" alt="Стрелец"/>';
}
elseif ((
$d <= 21) and ($m == 12)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_sagittarius.png" title = "Стрелец" alt="Стрелец"/>';
}
if ((
$d >= 22) and ($m == 12)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_capricorn.png" title = "Козерог" alt="Козерог"/>';
}
elseif ((
$d <= 20) and ($m == 1)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_capricorn.png" title = "Козерог" alt="Козерог"/>';
}
if ((
$d >= 21) and ($m == 1)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac.png" title = "Водолей" alt="Водолей"/>';
}
elseif ((
$d <= 18) and ($m == 2)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac.png" title = "Водолей" alt="Водолей"/>';
}
if ((
$d >= 19) and ($m == 2)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_pisces.png" title = "Рыбы" alt="Рыбы"/>';
}
elseif ((
$d <= 20) and ($m == 3)) {
   
$znak = '<img src="/styles/'.STYLE.'/images/zodiak/zodiac_pisces.png" title = "Рыбы" alt="Рыбы"/>';
}
   return 
$znak;
}
}
//Функция проверки авторизации
public function aut() {
global 
$db;
if ((isset(
$_SESSION['uid']) && isset($_SESSION['pass']))or(isset($_COOKIE['uid']) && isset($_COOKIE['pass']))) {
$uid = abs(intval($_SESSION['uid']));
$pass = shit($_SESSION['pass']);
$sql = $db -> query("SELECT * FROM `users` WHERE `id` = '".$uid."' AND `pass` = '".$pass."' LIMIT 1");
if (
$sql -> num_rows == 0) {
$aut=false;
unset(
$_SESSION['uid']);
unset(
$_SESSION['pass']);
header('Location: /aut.php');
exit();
}
}else{
header('Location: /aut.php');
exit();
}
}
//Навигация
public function pagenav(
$act,$page,$total) {
// Проверяем нужны ли стрелки назад  
if (
$page != 1) $pervpage = ' <a class="page_nave" href="'.$act.'&page=1"><<</a>  
                               <a class="page_nave" href="'.
$act.'&page='. ($page - 1) .'"><</a>  ';  
// Проверяем нужны ли стрелки вперед  
if (
$page != $total$nextpage = ' <a class="page_nave" href="'.$act.'&page='. ($page + 1) .'">></a>   <a class="page_nave" href="'.$act.'&page=' .$total. '">>></a>';  
// Находим три ближайшие станицы с обоих краев, если они есть  
if(
$page - 3 > 0) $page3left = ' <a class="page_nave" href="'.$act.'&page='. ($page - 3) .'">'. ($page - 3) .'</a>  ';  
if(
$page - 2 > 0) $page2left = ' <a class="page_nave" href="'.$act.'&page='. ($page - 2) .'">'. ($page - 2) .'</a>  ';  
if(
$page - 1 > 0) $page1left = ' <a class="page_nave" href="'.$act.'&page='. ($page - 1) .'">'. ($page - 1) .'</a>  ';  
if(
$page + 3 <= $total$page3right = '  <a class="page_nave" href="'.$act.'&page='. ($page + 3) .'">'. ($page + 3) .'</a>';  
if(
$page + 2 <= $total$page2right = '  <a class="page_nave" href="'.$act.'&page='. ($page + 2) .'">'. ($page + 2) .'</a>';  
if(
$page + 1 <= $total$page1right = '  <a class="page_nave" href="'.$act.'&page='. ($page + 1) .'">'. ($page + 1) .'</a>'; 
// Вывод страниц
$nav = $pervpage.$page3left.$page2left.$page1left.' <span class="page_nave"/><b>'.$page.'</b></span> '.$page1right.$page2right.$page3right.$nextpage;
$class= '</div><div class="page">'.$nav.'</div>';
if(
$page != $total or $page != 1){
return 
$class;}
}
//Навигация тип 2
public function next_prev(
$act,$page,$total) {
if(
$page - 1 > 0) $back = ' <a class="button_menu" href="'.$act.'&page='. ($page - 1) .'">Показать предыдущее</a>  ';  
if(
$page + 1 <= $total$next = '  <a class="button_menu" href="'.$act.'&page='. ($page + 1) .'">Показать следующее</a>'; 
if(
$page != $total or $page != 1){
return '<div class="but_menu">'.
$back.''.$next.'</div>';
}
}
}
?>
Онлайн: 0
Реклама