Вход Регистрация
Файл: system/modules/functions.php
Строк: 1013
<?php
/* 
    Appointment: Основные функции сайта
    File: functions.php 
 
*/

class microTimer {
    function 
start(){
        global 
$starttime;
        
$mtime = microtime();
        
$mtime = explode( ' ', $mtime );
        
$mtime = $mtime[1] + $mtime[0];
        
$starttime = $mtime;
    }
    function 
stop(){
        global 
$starttime;
        
$mtime = microtime();
        
$mtime = explode( ' ', $mtime );
        
$mtime = $mtime[1] + $mtime[0];
        
$endtime = $mtime;
        
$totaltime = round( ($endtime - $starttime), 5 );
        return 
$totaltime;
    }
}
function 
set_vars($file, $data) {
    
    
$fp = fopen( ENGINE_DIR . '/cache/system/' . $file . '.php', 'wb+' );
    
fwrite( $fp, serialize( $data ) );
    
fclose( $fp );
    
    @
chmod( ENGINE_DIR . '/cache/system/' . $file . '.php', 0666 );
}

function 
get_vars($file) {
    
    return 
unserialize( @file_get_contents( ENGINE_DIR . '/cache/system/' . $file . '.php' ) );
}
//################### Мобильный статус ###################//
function detect_mobile_device(){
        
// Проверяем, если значение клиента пользователя претендует на Windows, но не Windows Mobile
if(stristr(@$_SERVER['HTTP_USER_AGENT'],'windows')&&!stristr(@$_SERVER['HTTP_USER_AGENT'],'windows ce')) return false;
        
// Проверяем, если вы зашли с компьютера то оповещаем, что это мобильный браузер
if(preg_match('/up.browser|up. link |windows ce|iemobile|mini|mmp|symbian|midp|wap|phone|pocket|mobile|pda|psp/i',
        @
$_SERVER['HTTP_USER_AGENT'])) return true;
        
// Проверка HTTP-заголовка принимают ли wap.wml или wap.xhtml поддержки.
if(isset($_SERVER['HTTP_ACCEPT'])&&(stristr($_SERVER['HTTP_ACCEPT'],'text/vnd.wap.wml')||
        
stristr($_SERVER['HTTP_ACCEPT'],'application/vnd.wap.xhtml xml'))) return true;
   
// Проверяем мобильное устройство.
if(isset($_SERVER['HTTP_X_WAP_PROFILE'])||isset($_SERVER['HTTP_PROFILE'])||
        isset(
$_SERVER['X-OperaMini-Features'])||isset($_SERVER['UA-pixels'])) return true;
        
// Создаем массив с первыми четырьмя персонажами из самых распространенных мобильных версий.
$a = array ('acs-','alav','alca','amoi','audi','aste','avan','benq','bird','blac',
        
'bla z','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
        
'ipaq','java', 'jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
        
'maui','maxo','midp','mi ts','mmef','mobi','mot-','moto','mwbp','nec-',
        
'newt','noki','opwv','palm','pana' ,'pant','pdxg','phil','play','pluc',
        
'port','prox','qtek','qwap','sage','sams','s any','sch-','sec-','send',
        
'seri','sgh-','shar','sie-','siem','smal','smar','sony ','sph-','symb',
        
't-mo','teli','tim-','tosh','tsm-','upg1','upsi','vk-v','voda',' w3c ',
        
'wap-','wapa','wapi','wapp','wapr','webc','winw','winw','xda','xda-');
        
// Проверяем, если первые четыре символа текущего клиента мобильных версий то устанавливается в качестве ключа в массиве.
if(isset($a[ substr (@$_SERVER['HTTP_USER_AGENT'],0,4)])) return true;
}

function 
totranslit($var, $lower = true, $punkt = true) {
    global 
$langtranslit;
    
    if ( 
is_array($var) ) return "";

    if (!
is_array ( $langtranslit ) OR !count( $langtranslit ) ) {

        
$langtranslit = array(
        
'а' => 'a', 'б' => 'b', 'в' => 'v',
        
'г' => 'g', 'д' => 'd', 'е' => 'e',
        
'ё' => 'e', 'ж' => 'zh', 'з' => 'z',
        
'и' => 'i', 'й' => 'y', 'к' => 'k',
        
'л' => 'l', 'м' => 'm', 'н' => 'n',
        
'о' => 'o', 'п' => 'p', 'р' => 'r',
        
'с' => 's', 'т' => 't', 'у' => 'u',
        
'ф' => 'f', 'х' => 'h', 'ц' => 'c',
        
'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch',
        
'ь' => '', 'ы' => 'y', 'ъ' => '',
        
'э' => 'e', 'ю' => 'yu', 'я' => 'ya',
        
"ї" => "yi", "є" => "ye",
        
        
'А' => 'A', 'Б' => 'B', 'В' => 'V',
        
'Г' => 'G', 'Д' => 'D', 'Е' => 'E',
        
'Ё' => 'E', 'Ж' => 'Zh', 'З' => 'Z',
        
'И' => 'I', 'Й' => 'Y', 'К' => 'K',
        
'Л' => 'L', 'М' => 'M', 'Н' => 'N',
        
'О' => 'O', 'П' => 'P', 'Р' => 'R',
        
'С' => 'S', 'Т' => 'T', 'У' => 'U',
        
'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C',
        
'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sch',
        
'Ь' => '', 'Ы' => 'Y', 'Ъ' => '',
        
'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya',
        
"Ї" => "yi", "Є" => "ye",
        );

    }
    
    
$var = trim( strip_tags( $var ) );
    
$var = preg_replace( "/s+/ms", "-", $var );
    
$var = str_replace( "/", "-", $var );

    
$var = strtr($var, $langtranslit);
    
    if ( 
$punkt ) $var = preg_replace( "/[^a-z0-9_-.]+/mi", "", $var );
    else 
$var = preg_replace( "/[^a-z0-9_-]+/mi", "", $var );

    
$var = preg_replace( '#[-]+#i', '-', $var );

    if ( 
$lower ) $var = strtolower( $var );

    
$var = str_ireplace( ".php", "", $var );
    
$var = str_ireplace( ".php", ".ppp", $var );
    
    if( 
strlen( $var ) > 200 ) {
        
        
$var = substr( $var, 0, 200 );
        
        if( (
$temp_max = strrpos( $var, '-' )) ) $var = substr( $var, 0, $temp_max );
    
    }
    
    return 
$var;
}
function 
makeDropDown($options=array(), $name, $selected)
{

     
$output = '<select name="'.$name.'" >';
     foreach(
$options as $value=>$description)
     {

          
$output .= '<option value='.$value;
          if(
intval($selected) == intval($value)){
               
$output .= ' selected ';
          }
          
$output .= '>'.$description.'</option>';
     }
     
$output .= '</select>';
     return 
$output;
}

function 
GetVar($v){
    if(
ini_get('magic_quotes_gpc'))
        return 
stripslashes($v) ;
    return 
$v;
}
function 
check_xss(){
    
$url = html_entity_decode(urldecode($_SERVER['QUERY_STRING']));
    
    if(
$url){
        if((
strpos( $url, '<' ) !== false) || (strpos( $url, '>' ) !== false) || (strpos( $url, '"' ) !== false) || (strpos( $url, './' ) !== false) || (strpos( $url, '../' ) !== false) || (strpos( $url, ''' ) !== false) || (strpos( $url, '.php' ) !== false)){
            if($_GET['
go'] != "search" AND $_GET['go'] != "messages") 
                die('
Hacking attempt!');
        }
    }
    
    $url = html_entity_decode( urldecode( $_SERVER['
REQUEST_URI'] ) );
    if($url){
        if((strpos($url, '
<') !== false) || (strpos($url, '>') !== false) || (strpos($url, '"') !== false) || (strpos($url, ''') !== false)){
            if(
$_GET['go'] != "search" AND $_GET['go'] != "messages")
                die('Hacking attempt!');
        }
    }
}
function langdate(
$format, $stamp){
    global 
$langdate;
    return strtr(@date(
$format, $stamp), $langdate);
}
function navigation(
$gc, $num, $type){
    global 
$tpl, $page;

    
$gcount = $gc;
    
$cnt = $num;
    
$items_count = $cnt;
    
$items_per_page = $gcount;
    
$page_refers_per_page = 5;
    
$pages = '';        
    
$pages_count = ( ( $items_count % $items_per_page != 0 ) ) ? floor( $items_count / $items_per_page ) + 1 : floor( $items_count / $items_per_page );
    
$start_page = ( $page - $page_refers_per_page <= 0  ) ? 1 : $page - $page_refers_per_page + 1;
    
$page_refers_per_page_count = ( ( $page - $page_refers_per_page < 0 ) ? $page : $page_refers_per_page ) + ( ( $page + $page_refers_per_page > $pages_count ) ? ( $pages_count - $page )  :  $page_refers_per_page - 1 );
            
    if(
$page > 1)
        
$pages .= '<a href="'.$type.($page-1).'" onClick="Page.Go(this.href); return false">&laquo;</a>';
    else
        
$pages .= '';
                
    if ( 
$start_page > 1 ) {
        
$pages .= '<a href="'.$type.'1" onClick="Page.Go(this.href); return false">1</a>';
        
$pages .= '<a href="'.$type.( $start_page - 1 ).'" onClick="Page.Go(this.href); return false">...</a>';
            
    }
                    
    for ( 
$index = -1; ++$index <= $page_refers_per_page_count-1; ) {
        if ( 
$index + $start_page == $page )
            
$pages .= '<span>' . ( $start_page + $index ) . '</span>';
        else 
            
$pages .= '<a href="'.$type.($start_page+$index).'" onClick="Page.Go(this.href); return false">'.($start_page+$index).'</a>';
    } 
            
    if ( 
$page + $page_refers_per_page <= $pages_count ) { 
        
$pages .= '<a href="'.$type.( $start_page + $page_refers_per_page_count ).'" onClick="Page.Go(this.href); return false">...</a>';
        
$pages .= '<a href="'.$type.$pages_count.'" onClick="Page.Go(this.href); return false">'.$pages_count.'</a>';    
    } 
                
    
$resif = $cnt/$gcount;
    if(ceil(
$resif) == $page)
        
$pages .= '';
    else
        
$pages .= '<a href="'.$type.($page+1).'" onClick="Page.Go(this.href); return false">&raquo;</a>';

    if ( 
$pages_count <= 1 )
        
$pages = '';

    
$tpl_2 = new mozg_template();
    
$tpl_2->dir = TEMPLATE_DIR;
    
$tpl_2->load_template('nav.tpl');
    
$tpl_2->set('{pages}', $pages);
    
$tpl_2->compile('content');
    
$tpl_2->clear();
    
$tpl->result['content'] .= $tpl_2->result['content'];
}
function box_navigation(
$gc, $num, $id, $function, $act){
    global 
$tpl, $page;
    
$gcount = $gc;
    
$cnt = $num;
    
$items_count = $cnt;
    
$items_per_page = $gcount;
    
$page_refers_per_page = 5;
    
$pages = '';        
    
$pages_count = ( ( $items_count % $items_per_page != 0 ) ) ? floor( $items_count / $items_per_page ) + 1 : floor( $items_count / $items_per_page );
    
$start_page = ( $page - $page_refers_per_page <= 0  ) ? 1 : $page - $page_refers_per_page + 1;
    
$page_refers_per_page_count = ( ( $page - $page_refers_per_page < 0 ) ? $page : $page_refers_per_page ) + ( ( $page + $page_refers_per_page > $pages_count ) ? ( $pages_count - $page )  :  $page_refers_per_page - 1 );
    
    if(!
$act)
        
$act = "''";
    else
        
$act = "'{$act}'";
            
    if(
$page > 1)
        
$pages .= '<a href="" onClick="'.$function.'('.$id.', '.($page-1).', '.$act.'); return false">&laquo;</a>';
    else
        
$pages .= '';
                
    if ( 
$start_page > 1 ) {
        
$pages .= '<a href="" onClick="'.$function.'('.$id.', 1, '.$act.'); return false">1</a>';
        
$pages .= '<a href="" onClick="'.$function.'('.$id.', '.($start_page-1).', '.$act.'); return false">...</a>';
            
    }
                    
    for ( 
$index = -1; ++$index <= $page_refers_per_page_count-1; ) {
        if ( 
$index + $start_page == $page )
            
$pages .= '<span>' . ( $start_page + $index ) . '</span>';
        else 
            
$pages .= '<a href="" onClick="'.$function.'('.$id.', '.($start_page+$index).', '.$act.'); return false">'.($start_page+$index).'</a>';
    } 
            
    if ( 
$page + $page_refers_per_page <= $pages_count ) { 
        
$pages .= '<a href="" onClick="'.$function.'('.$id.', '.($start_page + $page_refers_per_page_count).', '.$act.'); return false">...</a>';
        
$pages .= '<a href="" onClick="'.$function.'('.$id.', '.$pages_count.', '.$act.'); return false">'.$pages_count.'</a>';    
    } 
                
    
$resif = $cnt/$gcount;
    if(ceil(
$resif) == $page)
        
$pages .= '';
    else
        
$pages .= '<a href="/" onClick="'.$function.'('.$id.', '.($page+1).', '.$act.'); return false">&raquo;</a>';

    if ( 
$pages_count <= 1 )
        
$pages = '';

    
$tpl_2 = new mozg_template();
    
$tpl_2->dir = TEMPLATE_DIR;
    
$tpl_2->load_template('nav.tpl');
    
$tpl_2->set('{pages}', $pages);
    
$tpl_2->compile('content');
    
$tpl_2->clear();
    
$tpl->result['content'] .= $tpl_2->result['content'];
}
function msgbox(
$title, $text, $tpl_name) {
    global 
$tpl;
    
    
$tpl_2 = new mozg_template();
    
$tpl_2->dir = TEMPLATE_DIR;
    
    
$tpl_2->load_template($tpl_name.'.tpl');
    
$tpl_2->set('{error}', $text);
    
$tpl_2->set('{title}', $title);
    
$tpl_2->compile('info');
    
$tpl_2->clear();
    
    
$tpl->result['info'] .= $tpl_2->result['info'];
}
function check_smartphone() {
    if(
$_SESSION['mobile_enable'])
        return true;

    
$phone_array = array('iphone', 'android', 'pocket', 'palm', 'windows ce', 'windowsce', 'cellphone', 'opera mobi', 'operamobi', 'ipod', 'small', 'sharp', 'sonyericsson', 'symbian', 'symbos', 'opera mini', 'nokia', 'htc_', 'samsung', 'motorola', 'smartphone', 'blackberry', 'playstation portable', 'tablet browser', 'android');
    
$agent = strtolower($_SERVER['HTTP_USER_AGENT']);

    foreach(
$phone_array as $value){
        if(strpos(
$agent, $value) !== false) 
            return true;
    }

    return false;
}
function creat_system_cache(
$prefix, $cache_text){
    
$filename = ENGINE_DIR . '/cache/system/'.$prefix.'.php';

    
$fp = fopen($filename, 'wb+');
    fwrite(
$fp,$cache_text);
    fclose(
$fp);
    
    @chmod(
$filename, 0666);
}
function system_cache(
$prefix) {
    
$filename = ENGINE_DIR.'/cache/system/'.$prefix.'.php';
    return @file_get_contents(
$filename);
}
function mozg_clear_cache(){
    
$fdir = opendir(ENGINE_DIR.'/cache/'.$folder);
    
    while(
$file = readdir($fdir))
        if(
$file != '.' and $file != '..' and $file != '.htaccess' and $file != 'system')
            @unlink(ENGINE_DIR.'/cache/'.
$file);
}
function mozg_clear_cache_folder(
$folder){
    
$fdir = opendir(ENGINE_DIR.'/cache/'.$folder);
    
    while(
$file = readdir($fdir))
        @unlink(ENGINE_DIR.'/cache/'.
$folder.'/'.$file);
}
function mozg_clear_cache_file(
$prefix) {
    @unlink(ENGINE_DIR.'/cache/'.
$prefix.'.tmp');
}
function mozg_mass_clear_cache_file(
$prefix){
    
$arr_prefix = explode('|', $prefix);
    foreach(
$arr_prefix as $file)
        @unlink(ENGINE_DIR.'/cache/'.
$file.'.tmp');
}
function mozg_create_folder_cache(
$prefix){
    if(!is_dir(ROOT_DIR.'/system/cache/'.
$prefix)){
        @mkdir(ROOT_DIR.'/system/cache/'.
$prefix, 0777);
        @chmod(ROOT_DIR.'/system/cache/'.
$prefix, 0777);
    }
}

function mozg_create_cache(
$prefix, $cache_text) {
    
$filename = ENGINE_DIR.'/cache/'.$prefix.'.tmp';
    
$fp = fopen($filename, 'wb+');
    fwrite(
$fp, $cache_text);
    fclose(
$fp);
    @chmod(
$filename, 0666);
}
function mozg_cache(
$prefix) {
    
$filename = ENGINE_DIR.'/cache/'.$prefix.'.tmp';
    return @file_get_contents(
$filename);
}
function clean_url(
$url) {
    if( 
$url == '' ) return;
    
    
$url = str_replace( "http://", "", strtolower( $url ) );
    
$url = str_replace( "https://", "", $url );
    if( 
substr( $url, 0, 4 ) == 'www.' ) $url = substr( $url, 4 );
    
$url = explode( '/', $url );
    
$url = reset( $url );
    
$url = explode( ':', $url );
    
$url = reset( $url );
    
    return 
$url;
}

$domain_cookie = explode (".", clean_url( $_SERVER['HTTP_HOST'] ));
$domain_cookie_count = count($domain_cookie);
$domain_allow_count = -2;

if(
$domain_cookie_count > 2){

    if(
in_array($domain_cookie[$domain_cookie_count-2], array('com', 'net', 'org') )) 
        
$domain_allow_count = -3;
        
    if(
$domain_cookie[$domain_cookie_count-1] == 'ua' ) 
        
$domain_allow_count = -3;
        
    
$domain_cookie = array_slice($domain_cookie, $domain_allow_count);
}

$domain_cookie = ".".implode(".", $domain_cookie);

define('DOMAIN', $domain_cookie);

function 
set_cookie($name, $value, $expires) {
    
    if( 
$expires ) {
        
        
$expires = time() + ($expires * 86400);
    
    } else {
        
        
$expires = FALSE;
    
    }
    
    if( 
PHP_VERSION < 5.2 ) {
        
        
setcookie($name, $value, $expires, "/", DOMAIN . "; HttpOnly");
    
    } else {
        
        
setcookie($name, $value, $expires, "/", DOMAIN, NULL, TRUE);
    
    }
}
function 
strip_data($text) {
    
$quotes = array ("x27", "x22", "x60", "t", "n", "r", "'", ",", "/", ";", ":", "@", "[", "]", "{", "}", "=", ")", "(", "*", "&", "^", "%", "$", "<", ">", "?", "!", '"' );
    
$goodquotes = array ("-", "+", "#" );
    
$repquotes = array ("-", "+", "#" );
    
$text = stripslashes( $text );
    
$text = trim( strip_tags( $text ) );
    
$text = str_replace( $quotes, '', $text );
    
$text = str_replace( $goodquotes, $repquotes, $text );
    return 
$text;
}
function 
installationSelected($id, $options){
    
$source = str_replace('value="'.$id.'"', 'value="'.$id.'" selected', $options);
    return 
$source;
}
function 
ajax_utf8($source){
    return 
iconv('utf-8', 'windows-1251', $source);
}
function 
xfieldsdataload($id){
    if( 
$id == "" ) return;
    
    
$xfieldsdata = explode( "||", $id );
    foreach ( 
$xfieldsdata as $xfielddata ) {
        list ( 
$xfielddataname, $xfielddatavalue ) = explode( "|", $xfielddata );
        
$xfielddataname = str_replace( "&#124;", "|", $xfielddataname );
        
$xfielddataname = str_replace( "__NEWL__", "rn", $xfielddataname );
        
$xfielddatavalue = str_replace( "&#124;", "|", $xfielddatavalue );
        
$xfielddatavalue = str_replace( "__NEWL__", "rn", $xfielddatavalue );
        
$data[$xfielddataname] = $xfielddatavalue;
    }
    
    return 
$data;
}
function 
profileload() {
    
$path = ENGINE_DIR.'/data/xfields.txt';
    
$filecontents = file($path);

    if(!
is_array($filecontents)){
        exit(
'Невозможно загрузить файл');
    }
                
    foreach(
$filecontents as $name => $value){
        
$filecontents[$name] = explode("|", trim($value));
        foreach(
$filecontents[$name] as $name2 => $value2){
            
$value2 = str_replace("&#124;", "|", $value2); 
            
$value2 = str_replace("__NEWL__", "rn", $value2);
            
$filecontents[$name][$name2] = $value2;
        }
    }
    return 
$filecontents;
}
function 
NoAjaxQuery(){
    if(
clean_url($_SERVER['HTTP_REFERER']) != clean_url($_SERVER['HTTP_HOST']) AND $_SERVER['REQUEST_METHOD'] != 'POST')
        
header('Location: /index.php?go=none');
}
function 
replace_rn($source){
    
    
$find[] = "'r'";
    
$replace[] = "";
    
$find[] = "'n'";
    
$replace[] = "";
    
    
$source = preg_replace($find, $replace, $source);
    
    return 
$source;
    
}
function 
myBr($source){
    
    
$find[] = "'r'";
    
$replace[] = "<br />";
    
    
$find[] = "'n'";
    
$replace[] = "<br />";

    
$source = preg_replace($find, $replace, $source);
    
    return 
$source;
    
}
function 
myBrRn($source){

    
$find[] = "<br />";
    
$replace[] = "r";
    
$find[] = "<br />";
    
$replace[] = "n";
    
    
$source = str_replace($find, $replace, $source);
    
    return 
$source;
}
function 
rn_replace($source){
    
    
$find[] = "'r'";
    
$replace[] = "";
    
$find[] = "'n'";
    
$replace[] = "";
    
    
$source = preg_replace($find, $replace, $source);
    
    return 
$source;
    
}
function 
gram_record($num,$type){
    
    
$strlen_num = strlen($num);
    
    if(
$num <= 21){
        
$numres = $num;
    } elseif(
$strlen_num == 2){
        
$parsnum = substr($num,1,2);
        
$numres = str_replace('0','10',$parsnum);
    } elseif(
$strlen_num == 3){
        
$parsnum = substr($num,2,3);
        
$numres = str_replace('0','10',$parsnum);
    } elseif(
$strlen_num == 4){
        
$parsnum = substr($num,3,4);
        
$numres = str_replace('0','10',$parsnum);
    } elseif(
$strlen_num == 5){
        
$parsnum = substr($num,4,5);
        
$numres = str_replace('0','10',$parsnum);
    }
    
    if(
$type == 'rec'){
        if(
$numres == 1){
            
$gram_num_record = 'запись';
        } elseif(
$numres < 5){
            
$gram_num_record = 'записи';
        } elseif(
$numres < 21){
            
$gram_num_record = 'записей';
        } elseif(
$numres == 21){
            
$gram_num_record = 'запись';
        }
    }
    
    if(
$type == 'comments'){
        if(
$numres == 0){
            
$gram_num_record = 'комментариев';
        } elseif(
$numres == 1){
            
$gram_num_record = 'комментарий';
        } elseif(
$numres < 5){
            
$gram_num_record = 'комментария';
        } elseif(
$numres < 21){
            
$gram_num_record = 'комментариев';
        } elseif(
$numres == 21){
            
$gram_num_record = 'комментарий';
        }
    }
    
    if(
$type == 'albums'){
        if(
$numres == 0){
            
$gram_num_record = 'альбомов';
        } elseif(
$numres == 1){
            
$gram_num_record = 'альбом';
        } elseif(
$numres < 5){
            
$gram_num_record = 'альбома';
        } elseif(
$numres < 21){
            
$gram_num_record = 'альбомов';
        } elseif(
$numres == 21){
            
$gram_num_record = 'альбом';
        }
    }
    
    if(
$type == 'photos'){
        if(
$numres == 0){
            
$gram_num_record = 'фотографий';
        } elseif(
$numres == 1){
            
$gram_num_record = 'фотография';
        } elseif(
$numres < 5){
            
$gram_num_record = 'фотографии';
        } elseif(
$numres < 21){
            
$gram_num_record = 'фотографий';
        } elseif(
$numres == 21){
            
$gram_num_record = 'фотография';
        }
    }
    
    if(
$type == 'friends_demands'){
        if(
$numres == 0){
            
$gram_num_record = 'нет заявок в друзья';
        } elseif(
$numres == 1){
            
$gram_num_record = 'заявка в друзья';
        } elseif(
$numres < 5){
            
$gram_num_record = 'заявки в друзья';
        } elseif(
$numres < 21){
            
$gram_num_record = 'заявок в друзья';
        } elseif(
$numres == 21){
            
$gram_num_record = 'заявка в друзья';
        }
    }
    
    if(
$type == 'user_age'){
        if(
$numres == 0){
            
$gram_num_record = 'лет';
        } elseif(
$numres == 1){
            
$gram_num_record = 'год';
        } elseif(
$numres < 5){
            
$gram_num_record = 'года';
        } elseif(
$numres < 21){
            
$gram_num_record = 'лет';
        } elseif(
$numres == 21){
            
$gram_num_record = 'год';
        }
    }
    
    if(
$type == 'friends'){
        if(
$numres == 0){
            
$gram_num_record = 'нет друзей';
        } elseif(
$numres == 1){
            
$gram_num_record = 'друг';
        } elseif(
$numres < 5){
            
$gram_num_record = 'друга';
        } elseif(
$numres < 21){
            
$gram_num_record = 'дурзей';
        } elseif(
$numres == 21){
            
$gram_num_record = 'друг';
        }
    }
    
    if(
$type == 'friends_online'){
        if(
$numres == 0){
            
$gram_num_record = 'нет друзей';
        } elseif(
$numres == 1){
            
$gram_num_record = 'друг на сайте';
        } elseif(
$numres < 5){
            
$gram_num_record = 'друга на сайте';
        } elseif(
$numres < 21){
            
$gram_num_record = 'дурзей на сайте';
        } elseif(
$numres == 21){
            
$gram_num_record = 'друг на сайте';
        }
    }
    
    if(
$type == 'fave'){
        if(
$numres == 0){
            
$gram_num_record = 'нет людей';
        } elseif(
$numres == 1){
            
$gram_num_record = 'человек';
        } elseif(
$numres < 5){
            
$gram_num_record = 'человека';
        } elseif(
$numres < 21){
            
$gram_num_record = 'человек';
        } elseif(
$numres == 21){
            
$gram_num_record = 'человек';
        }
    }
    
    if(
$type == 'prev'){
        if(
$numres == 0){
            
$gram_num_record = 'нет комментариев';
        } elseif(
$numres == 1){
            
$gram_num_record = 'предыдущий';
        } elseif(
$numres < 5){
            
$gram_num_record = 'предыдущие';
        } elseif(
$numres < 21){
            
$gram_num_record = 'предыдущие';
        } elseif(
$numres == 21){
            
$gram_num_record = 'предыдущий';
        }
    }
    
    if(
$type == 'subscr'){
        if(
$numres == 0){
            
$gram_num_record = 'нет подписчиков';
        } elseif(
$numres == 1){
            
$gram_num_record = 'подписка';
        } elseif(
$numres < 5){
            
$gram_num_record = 'подписки';
        } elseif(
$numres < 21){
            
$gram_num_record = 'подписок';
        } elseif(
$numres == 21){
            
$gram_num_record = 'подписка';
        }
    }
    
    if(
$type == 'videos'){
        if(
$numres == 0){
            
$gram_num_record = 'нет видеозаписей';
        } elseif(
$numres == 1){
            
$gram_num_record = 'видеозапись';
        } elseif(
$numres < 5){
            
$gram_num_record = 'видеозаписи';
        } elseif(
$numres < 21){
            
$gram_num_record = 'видеозаписей';
        } elseif(
$numres == 21){
            
$gram_num_record = 'видеозапись';
        }
    }
    
    if(
$type == 'notes'){
        if(
$numres == 0){
            
$gram_num_record = 'нет игр';
        } elseif(
$numres == 1){
            
$gram_num_record = 'игра';
        } elseif(
$numres < 5){
            
$gram_num_record = 'игры';
        } elseif(
$numres < 21){
            
$gram_num_record = 'игр';
        } elseif(
$numres == 21){
            
$gram_num_record = 'игра';
        }
    }
    
    if(
$type == 'like'){
        if(
$numres == 0){
            
$gram_num_record = 'человеку';
        } elseif(
$numres == 1){
            
$gram_num_record = 'человеку';
        } elseif(
$numres < 5){
            
$gram_num_record = 'людям';
        } elseif(
$numres < 21){
            
$gram_num_record = 'людям';
        } elseif(
$numres == 21){
            
$gram_num_record = 'человеку';
        }
    }
    
    if(
$type == 'updates'){
        if(
$numres == 0){
            
$gram_num_record = '';
        } elseif(
$numres == 1){
            
$gram_num_record = 'человека';
        } elseif(
$numres < 5){
            
$gram_num_record = 'человек';
        } elseif(
$numres < 21){
            
$gram_num_record = 'человек';
        } elseif(
$numres == 21){
            
$gram_num_record = 'человека';
        }
    }
    
    if(
$type == 'msg'){
        if(
$numres == 1){
            
$gram_num_record = 'сообщение';
        } elseif(
$numres < 5){
            
$gram_num_record = 'сообщения';
        } elseif(
$numres < 21){
            
$gram_num_record = 'сообщений';
        } elseif(
$numres == 21){
            
$gram_num_record = 'сообщение';
        }
    }
    
    if(
$type == 'questions'){
        if(
$numres == 1){
            
$gram_num_record = 'вопрос';
        } elseif(
$numres < 5){
            
$gram_num_record = 'вопроса';
        } elseif(
$numres < 21){
            
$gram_num_record = 'вопросов';
        } elseif(
$numres == 21){
            
$gram_num_record = 'вопрос';
        }
    }

    if(
$type == 'gifts'){
        if(
$numres == 1){
            
$gram_num_record = 'подарок';
        } elseif(
$numres < 5){
            
$gram_num_record = 'подарка';
        } elseif(
$numres < 21){
            
$gram_num_record = 'подарков';
        } elseif(
$numres == 21){
            
$gram_num_record = 'подарок';
        }
    }

    if(
$type == 'groups_users'){
        if(
$numres == 1){
            
$gram_num_record = 'участник';
        } elseif(
$numres < 5){
            
$gram_num_record = 'участника';
        } elseif(
$numres < 21){
            
$gram_num_record = 'участников';
        } elseif(
$numres == 21){
            
$gram_num_record = 'участник';
        }
    }
    
    if(
$type == 'groups'){
        if(
$numres == 1){
            
$gram_num_record = 'сообществе';
        } elseif(
$numres < 5){
            
$gram_num_record = 'сообществах';
        } elseif(
$numres < 21){
            
$gram_num_record = 'сообществах';
        } elseif(
$numres == 21){
            
$gram_num_record = 'сообществе';
        }
    }
    
    if(
$type == 'subscribers'){
        if(
$numres == 1){
            
$gram_num_record = 'подписчик';
        } elseif(
$numres < 5){
            
$gram_num_record = 'подписчика';
        } elseif(
$numres < 21){
            
$gram_num_record = 'подписчиков';
        } elseif(
$numres == 21){
            
$gram_num_record = 'подписчик';
        }
    }
    
    if(
$type == 'subscribers2'){
        if(
$numres == 1){
            
$gram_num_record = 'Подписался <span id="traf2">'.$num.'</span> человек';
        } elseif(
$numres < 5){
            
$gram_num_record = 'Подписались <span id="traf2">'.$num.'</span> человека';
        } elseif(
$numres < 21){
            
$gram_num_record = 'Подписались <span id="traf2">'.$num.'</span> человек';
        } elseif(
$numres == 21){
            
$gram_num_record = 'Подписался <span id="traf2">'.$num.'</span> человек';
        }
    }
    
    if(
$type == 'feedback'){
        if(
$numres == 1){
            
$gram_num_record = 'контакт';
        } elseif(
$numres < 5){
            
$gram_num_record = 'контакта';
        } elseif(
$numres < 21){
            
$gram_num_record = 'контактов';
        } elseif(
$numres == 21){
            
$gram_num_record = 'контакт';
        }
    }

    if(
$type == 'se_groups'){
        if(
$numres == 1){
            
$gram_num_record = 'сообщество';
        } elseif(
$numres < 5){
            
$gram_num_record = 'сообщества';
        } elseif(
$numres < 21){
            
$gram_num_record = 'сообществ';
        } elseif(
$numres == 21){
            
$gram_num_record = 'сообщество';
        }
    }

    if(
$type == 'audio'){
  
        if(
$numres == 1){
            
$gram_num_record = 'песня';
        } elseif(
$numres < 5){
            
$gram_num_record = 'песни';
        } elseif(
$numres < 21){
            
$gram_num_record = 'песен';
        } elseif(
$numres == 21){
            
$gram_num_record = 'песня';
        }
        }


    if(
$type == 'apps'){
        if(
$numres == 0){
            
$gram_num_record = 'участников';
        } elseif(
$numres == 1){
            
$gram_num_record = 'участник';
        } elseif(
$numres < 5){
            
$gram_num_record = 'участника';
        } elseif(
$numres < 21){
            
$gram_num_record = 'участников';
        } elseif(
$numres == 21){
            
$gram_num_record = 'участник';
        }
    }
    
    if(
$type == 'video_views'){
        if(
$numres == 1){
            
$gram_num_record = 'просмотр';
        } elseif(
$numres < 5){
            
$gram_num_record = 'просмотра';
        } elseif(
$numres < 21){
            
$gram_num_record = 'просмотров';
        } elseif(
$numres == 21){
            
$gram_num_record = 'просмотр';
        }
    }
    
    return 
$gram_num_record;
}
function 
gramatikName($source){
    
$name_u_gram = $source;
    
$str_1_name = strlen($name_u_gram);
    
$str_2_name = $str_1_name-2;
    
$str_3_name = substr($name_u_gram, $str_2_name, $str_1_name);
    
$str_5_name = substr($name_u_gram, 0, $str_2_name);
    
$str_4_name = strtr($str_3_name,array(
                    
'ай' => 'ая',
                    
'ил' => 'ила',
                    
'др' => 'дра',
                    
'ей' => 'ея',
                    
'кс' => 'кса',
                    
'ша' => 'ши',
                    
'на' => 'ны',
                    
'ка' => 'ки',
                    
'ад' => 'ада',
                    
'ма' => 'мы',
                    
'ля' => 'ли',
                    
'ня' => 'ни',
                    
'ин' => 'ина',
                    
'ик' => 'ика',
                    
'ор' => 'ора',
                    
'им' => 'има',
                    
'ём' => 'ёма',
                    
'ий' => 'ия',
                    
'рь' => 'ря',
                    
'тя' => 'ти',
                    
'ся' => 'си',
                    
'из' => 'иза',
                    
'га' => 'ги',
                    
'ур' => 'ура',
                    
'са' => 'сы',
                    
'ис' => 'иса',
                    
'ст' => 'ста',
                    
'ел' => 'ла',
                    
'ав' => 'ава',
                    
'он' => 'она',
                    
'ра' => 'ры',
                    
'ан' => 'ана',
                    
'ир' => 'ира',
                    
'рд' => 'рда',
                    
'ян' => 'яна',
                    
'ов' => 'ова',
                    
'ла' => 'лы',
                    
'ия' => 'ии',
                    
'ва' => 'вой',
                    
'ыч' => 'ыча'
                    
));
    
$name_user_gram = $str_5_name.$str_4_name;
    return 
$name_user_gram;
}

function 
Hacking(){
    global 
$ajax, $lang;
    
    if(
$ajax){
        
NoAjaxQuery();
        echo <<<HTML
<script type="text/javascript">
document.title = '
{$lang['error']}';
document.getElementById('speedbar').innerHTML = '
{$lang['error']}';
document.getElementById('page').innerHTML = '
{$lang['no_notes']}';
</script>
HTML;
        die();
    } else
        return 
header('Location: /index.php?go=none');
}
function 
textFilter($source, $substr_num = false, $strip_tags = false){
    global 
$db;
    
    if(
function_exists("get_magic_quotes_gpc") AND get_magic_quotes_gpc())
        
$source = stripslashes($source);  
    
    
$find = array('/data:/i', '/about:/i', '/vbscript:/i', '/onclick/i', '/onload/i', '/onunload/i', '/onabort/i', '/onerror/i', '/onblur/i', '/onchange/i', '/onfocus/i', '/onreset/i', '/onsubmit/i', '/ondblclick/i', '/onkeydown/i', '/onkeypress/i', '/onkeyup/i', '/onmousedown/i', '/onmouseup/i', '/onmouseover/i', '/onmouseout/i', '/onselect/i', '/javascript/i');
        
    
$replace = array("d&#097;ta:", "&#097;bout:", "vbscript<b></b>:", "&#111;nclick", "&#111;nload", "&#111;nunload", "&#111;nabort", "&#111;nerror", "&#111;nblur", "&#111;nchange", "&#111;nfocus", "&#111;nreset", "&#111;nsubmit", "&#111;ndblclick", "&#111;nkeydown", "&#111;nkeypress", "&#111;nkeyup", "&#111;nmousedown", "&#111;nmouseup", "&#111;nmouseover", "&#111;nmouseout", "&#111;nselect", "j&#097;vascript");

    
$source = preg_replace("#<iframe#i", "&lt;iframe", $source);
    
$source = preg_replace("#<script#i", "&lt;script", $source);
        
    if(!
$substr_num)
        
$substr_num = 25000;

    
$source = $db->safesql(myBr(htmlspecialchars(substr(trim($source), 0, $substr_num))));
    
    
$source = str_ireplace("{", "&#123;", $source);
    
$source = str_ireplace("`", "&#96;", $source);
    
$source = str_ireplace("{theme}", "&#123;theme}", $source);
    
    
$source = preg_replace($find, $replace, $source);
    
    if(
$strip_tags)
        
$source = strip_tags($source);

    return 
$source;
}
function 
user_age($user_year, $user_month, $user_day){
    global 
$server_time;
    
    if(
$user_year){
        
$current_year = date('Y', $server_time);
        
$current_month = date('n', $server_time);
        
$current_day = date('j', $server_time);
        
        
$current_str = strtotime($current_year.'-'.$current_month.'-'.$current_day);
        
$current_user = strtotime($current_year.'-'.$user_month.'-'.$user_day);

        if(
$current_str >= $current_user)
            
$user_age = $current_year-$user_year;
        else
            
$user_age = $current_year-$user_year-1;

        if(
$user_month AND $user_month AND $user_day)
            return 
$user_age.' '.gram_record($user_age, 'user_age');
        else
            return 
false;
    }
}
function 
megaDate($date, $func = false, $full = false){
    global 
$tpl, $server_time;

    
$date_comm = $date;
    
    if(
date('Y-m-d', $date_comm) == date('Y-m-d', $server_time))
        return 
$tpl->set('{date}', langdate('сегодня в H:i', $date_comm));
    elseif(
date('Y-m-d', $date_comm) == date('Y-m-d', ($server_time-84600)))
        return 
$tpl->set('{date}', langdate('вчера в H:i', $date_comm));
    else
        if(
$func == 'no_year')
            return 
$tpl->set('{date}', langdate('j M в H:i', $date_comm));
        else
            if(
$full)
                return 
$tpl->set('{date}', langdate('j F Y в H:i', $date_comm));
            else
                return 
$tpl->set('{date}', langdate('j M Y в H:i', $date_comm));
}
function 
megaDateNoTpl($date, $func = false, $full = false){
    global 
$server_time;

    if(
date('Y-m-d', $date) == date('Y-m-d', $server_time))
        return 
$date = langdate('сегодня в H:i', $date);
    elseif(
date('Y-m-d', $date) == date('Y-m-d', ($server_time-84600)))
        return 
$date = langdate('вчера в H:i', $date);
    else
        if(
$func == 'no_year')
            return 
$date = langdate('j M в H:i', $date);
        else
            if(
$full)
                return 
$date = langdate('j F Y в H:i', $date);
            else
                return 
$date = langdate('j M Y в H:i', $date);
}
function 
OnlineTpl($time){
    global 
$tpl, $online_time, $lang;
    if(
$time >= $online_time)
        return 
$tpl->set('{online}', $lang['online']);
    else
        return 
$tpl->set('{online}', '');
}
function 
AjaxTpl(){
    global 
$tpl, $config;
    echo 
str_replace('{theme}', '/templates/'.$config['temp'], $tpl->result['info'].$tpl->result['content']);
}
function 
GenerateAlbumPhotosPosition($uid, $aid = false){
    global 
$db;
    
    
//Выводим все фотографии из альбома и обновляем их позицию только для просмотра альбома
    
if($uid AND $aid){
        
$sql_ = $db->super_query("SELECT SQL_CALC_FOUND_ROWS id FROM `".PREFIX."_photos` WHERE album_id = '{$aid}' ORDER by `position` ASC", 1);
        
$count = 1;
        foreach(
$sql_ as $row){
            
$db->query("UPDATE LOW_PRIORITY `".PREFIX."_photos` SET position = '{$count}' WHERE id = '{$row['id']}'");
            
$photo_info .= $count.'|'.$row['id'].'||';
            
$count++;
        }
        
mozg_create_cache('user_'.$uid.'/position_photos_album_'.$aid, $photo_info);
    }
}
function 
CheckFriends($friendId){
    global 
$user_info;
    
    
$openMyList = mozg_cache("user_{$user_info['user_id']}/friends");

    if(
stripos($openMyList, "id{$friendId}|") !== false)
        return 
true;
    else
        return 
false;
}
function 
CheckBlackList($userId){
    global 
$user_info;
    
    
$openMyList = mozg_cache("user_{$userId}/blacklist");

    if(
stripos($openMyList, "|{$user_info['user_id']}|") !== false)
        return 
true;
    else
        return 
false;
}
function 
MyCheckBlackList($userId){
    global 
$user_info;
    
    
$openMyList = mozg_cache("user_{$user_info['user_id']}/blacklist");

    if(
stripos($openMyList, "|{$userId}|") !== false)
        return 
true;
    else
        return 
false;
}
function 
showland($city){
global 
$db, $config, $lang, $user_group, $user_info;

        
$sql_floods = $db->query("SELECT id, name FROM " . PREFIX . "_city WHERE id = '$city'");
        while (
$rows = $db->get_row($sql_floods)){

        
$link .= $rows['name'];
        }

        
$city = $link;

        
$db->free();

       return 
$city;
}
function 
format_date_html($mysql_date,$bdate_view)
{

$array=explode('-',$mysql_date);

$month['01']='января';
$month['02']='февраля';
$month['03']='марта';
$month['04']='апреля';
$month['05']='мая';
$month['06']='июня';
$month['07']='июля';
$month['08']='августа';
$month['09']='сентября';
$month['10']='октября';
$month['11']='ноября';
$month['12']='декабря';

if(
$array[2]<10)
{
  
$array[2]=str_replace(0,'',$array[2]);
}


switch (
$bdate_view)
{
    case 
'0' :
    return 
$array[2] . ' ' . $month[$array[1]] . ' ' . $array[0] . ' года';
    break;

    case 
'1' :
    return 
$array[2] . ' ' . $month[$array[1]];
    break;

    case 
'2' :
    return 
'Скрыто';
    break;
}
}


function 
check_ip($ips){
    
$_IP = $_SERVER['REMOTE_ADDR'];
    
$blockip = FALSE;
    if(
is_array($ips)){
        foreach(
$ips as $ip_line){
            
$ip_arr = rtrim($ip_line['ip']);
            
$ip_check_matches = 0;
            
$db_ip_split = explode(".", $ip_arr);
            
$this_ip_split = explode(".", $_IP);
            for(
$i_i = 0; $i_i < 4; $i_i ++){
                if(
$this_ip_split[$i_i] == $db_ip_split[$i_i] or $db_ip_split[$i_i] == '*'){
                    
$ip_check_matches += 1;
                }
            }
            if(
$ip_check_matches == 4){
                
$blockip = $ip_line['ip'];
                break;
            }
        }
    }
    return 
$blockip;
}
?>
Онлайн: 1
Реклама