Вход Регистрация
Файл: system/modules/groups.php
Строк: 851
<?php
/*
    Appointment: Группы
    File: groups.php

*/
if(!defined('MOZG'))
    die(
'Hacking attempt!');

if(
$ajax == 'yes')
    
NoAjaxQuery();

if(
$logged){
    
$act = $_GET['act'];
    
$user_id = $user_info['user_id'];

    if(
$_GET['page'] > 0) $page = intval($_GET['page']); else $page = 1;
    
$gcount = 20;
    
$limit_page = ($page-1)*$gcount;

    
$metatags['title'] = $lang['communities'];

    switch(
$act){

        
//################### Отправка сообщества БД ###################//
        
case "send":
            
NoAjaxQuery();
            
$title = ajax_utf8(textFilter($_POST['title'], false, true));
            if(isset(
$title) AND !empty($title)){
                
$db->query("INSERT INTO `".PREFIX."_communities` SET title = '{$title}', type = 1, discussion=1, traf = 1, ulist = '|{$user_id}|', date = NOW(), admin = 'id{$user_id}|', real_admin = '{$user_id}', comments = 1");
                
$cid = $db->insert_id();
                
$db->query("INSERT INTO `".PREFIX."_friends` SET friend_id = '{$cid}', user_id = '{$user_id}', friends_date = NOW(), subscriptions = 2");
                
$db->query("UPDATE `".PREFIX."_users` SET user_public_num = user_public_num+1 WHERE user_id = '{$user_id}'");

                @
mkdir(ROOT_DIR.'/uploads/groups/'.$cid.'/', 0777);
                @
chmod(ROOT_DIR.'/uploads/groups/'.$cid.'/', 0777);

                @
mkdir(ROOT_DIR.'/uploads/groups/'.$cid.'/photos/', 0777);
                @
chmod(ROOT_DIR.'/uploads/groups/'.$cid.'/photos/', 0777);

                
mozg_mass_clear_cache_file("user_{$user_id}/profile_{$user_id}|groups/{$user_id}");

                echo 
$cid;
            } else
                echo 
'no_title';

            die();
        break;

        
//################### Выход из сообщества ###################//
        
case "exit":
            
NoAjaxQuery();
            
$id = intval($_POST['id']);
            
$check = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_friends` WHERE friend_id = '{$id}' AND user_id = '{$user_id}' AND subscriptions = 2");
            if(
$check['cnt']){
                
$db->query("DELETE FROM `".PREFIX."_friends` WHERE friend_id = '{$id}' AND user_id = '{$user_id}' AND subscriptions = 2");
                
$db->query("UPDATE `".PREFIX."_users` SET user_public_num = user_public_num-1 WHERE user_id = '{$user_id}'");
                
$db->query("UPDATE `".PREFIX."_communities` SET traf = traf-1, ulist = REPLACE(ulist, '|{$user_id}|', '') WHERE id = '{$id}'");

                
mozg_mass_clear_cache_file("user_{$user_id}/profile_{$user_id}|groups/{$user_id}");
            }
            die();
        break;
     
//################### Бокс инвайт от MainTalk.ru ###################//
case "invitebox":
NoAjaxQuery();
$group_id = intval($_POST['group_id']);

$sql_ = $db->super_query("SELECT SQL_CALC_FOUND_ROWS tb1.friend_id, tb2.user_id, user_search_pref, user_photo, user_country_city_name, user_status FROM `".PREFIX."_friends` tb1, `".PREFIX."_users` tb2 WHERE tb1.user_id = '{$user_id}' AND tb1.friend_id = tb2.user_id AND tb1.subscriptions = 0 ORDER by `friends_date` DESC LIMIT 0, 40", 1);


$checkg = $db->super_query("SELECT ulist, ban, del FROM `".PREFIX."_communities` WHERE id = '{$group_id}'");


foreach(
$sql_ as $row){

$checkq = $db->super_query("SELECT * FROM `".PREFIX."_communities_demands` WHERE for_user_id = '{$row['user_id']}' AND groups_id = '{$group_id}'");

if(
stripos($checkg['ulist'], "|{$row['user_id']}|") === false AND $checkg['del'] == 0 AND $checkg['ban'] == 0){
if(
$row['user_photo']) {
$ava = $config['home_url'].'uploads/users/'.$row['friend_id'].'/50_'.$row['user_photo'];
}else{
$ava = 'templates/Default/images/no_ava_50.png';}
if(
$checkq) {
echo 
"<div class="oneusergr"><a href="/u{$row['user_id']}"><img src="{$ava}"></a><a href="/u{$row['user_id']}"><span>{$row['user_search_pref']}</span></a><div class="sendgroup" style="width:250px;"><a>Уже приглашен на MainTalk.ru!</a></div></div>";
} else {
echo 
"<div class="oneusergr"><a href="/u{$row['user_id']}"><img src="{$ava}"></a><a href="/u{$row['user_id']}"><span>{$row['user_search_pref']}</span></a><div class="sendgroup"><a href="" onclick="groups.send({$row['user_id']},{$group_id}); return false">Выслать приглашение</a></div></div>";
}
}
}



die();
break;


//################### Отправка инвайта ###################//
case "invitesend":
NoAjaxQuery();
$group_id = intval($_POST['group_id']);
$for_user_id = intval($_POST['user_id']);


$db->query("INSERT INTO `".PREFIX."_communities_demands` SET user_id = '{$user_id}', for_user_id = '{$for_user_id}', date = '{$server_time}', groups_id = '{$group_id}'");
$db->query("UPDATE `".PREFIX."_users` SET demands = demands+1 WHERE user_id = '{$for_user_id}'");
mozg_mass_clear_cache_file("user_{$for_user_id}/profile_{$for_user_id}|groups/{$for_user_id}");
mozg_clear_cache_file('user_'.$for_user_id.'/profile_'.$for_user_id);
die();
break;

//################### Страница заявок в сообществе ###################//
case "requests":
$user_id = $user_info['user_id'];



if(
$user_info['user_id']){
$sql_ = $db->super_query("SELECT SQL_CALC_FOUND_ROWS user_id, groups_id, for_user_id FROM `".PREFIX."_communities_demands` WHERE for_user_id = '{$user_id}' ORDER by `date` DESC LIMIT 0, 5", 1);

$tpl->load_template('groups/request.tpl');
foreach(
$sql_ as $row){
$gid = $row['groups_id'];
$uid = $row['user_id'];
$rowg= $db->super_query("SELECT * FROM `".PREFIX."_communities` WHERE id = '{$gid}'");
$riwu = $db->super_query("SELECT user_id, user_search_pref FROM `".PREFIX."_users` WHERE user_id = '{$uid}'");
$tpl->set('{user-id}', $riwu['user_id']);
$tpl->set('{name}', $rowg['title']);
$tpl->set('{group-id}', $rowg['id']);
$tpl->set('{invname}', $riwu['user_search_pref']);
$tpl->set('{user_id}', $user_info['user_id']);

if(
$rowg['photo'])
$tpl->set('{ava}', $config['home_url'].'uploads/groups/'.$rowg['id'].'/100_'.$rowg['photo']);
else
$tpl->set('{ava}', '{theme}/images/100_no_ava.png');

$tpl->compile('content');
}
navigation($gcount, $user_info['user_friends_demands'], $config['home_url'].'friends/requests/page/');

} else
msgbox('', 'У Вас нет приглашений в сообщество', 'info_2');

break;


//################### окей ###################//
case "inviteyes":
NoAjaxQuery();
$group_id = intval($_POST['gi']);
$userid = intval($_POST['ui']);

//Проверка на существования юзера в сообществе
$row = $db->super_query("SELECT ulist, del, ban FROM `".PREFIX."_communities` WHERE id = '{$group_id}'");
if(
stripos($row['ulist'], "|{$userid}|") === false AND $row['del'] == 0 AND $row['ban'] == 0){
$ulist = $row['ulist']."|{$userid}|";
$db->query("UPDATE `".PREFIX."_communities` SET traf = traf+1, ulist = '{$ulist}' WHERE id = '{$group_id}'");
$db->query("UPDATE `".PREFIX."_users` SET user_public_num = user_public_num+1 WHERE user_id = '{$userid}'");
$db->query("INSERT INTO `".PREFIX."_friends` SET friend_id = '{$group_id}', user_id = '{$userid}', friends_date = NOW(), subscriptions = 2");
$db->query("DELETE FROM `".PREFIX."_communities_demands` WHERE groups_id = '{$group_id}' AND for_user_id = '{$userid}'");
$db->query("UPDATE `".PREFIX."_users` SET demands = demands-1 WHERE user_id = '{$userid}'");
mozg_mass_clear_cache_file("user_{$userid}/profile_{$userid}|groups/{$userid}");
mozg_clear_cache_file('user_'.$userid.'/profile_'.$userid);
}
die();
break;


//################### ноу ###################//
case "inviteno":
NoAjaxQuery();
$group_id = intval($_POST['gi']);
$userid = intval($_POST['ui']);


$db->query("DELETE FROM `".PREFIX."_communities_demands` WHERE groups_id = '{$group_id}' AND for_user_id = '{$userid}'");
$db->query("UPDATE `".PREFIX."_users` SET demands = demands-1 WHERE user_id = '{$userid}'");
mozg_mass_clear_cache_file("user_{$userid}/profile_{$userid}|groups/{$userid}");
mozg_clear_cache_file('user_'.$userid.'/profile_'.$userid);

die();
break;

        
//################### Страница загрузки главного фото сообщества ###################//
        
case "loadphoto_page":
            
NoAjaxQuery();
            
$tpl->load_template('groups/load_photo.tpl');
            
$tpl->set('{id}', $_POST['id']);
            
$tpl->compile('content');
            
AjaxTpl();
            die();
        break;

        
//################### Загрузка и изминение главного фото сообщества ###################//
        
case "loadphoto":
            
NoAjaxQuery();

            
$id = intval($_GET['id']);

            
//Проверка на то, что фото обновляет адмиH
            
$row = $db->super_query("SELECT admin, photo, del, ban FROM `".PREFIX."_communities` WHERE id = '{$id}'");
            if(
stripos($row['admin'], "id{$user_id}|") !== false AND $row['del'] == 0 AND $row['ban'] == 0){

                
//Разришенные форматы
                
$allowed_files = array('jpg', 'jpeg', 'jpe', 'png', 'gif');

                
//Получаем данные о фотографии
                
$image_tmp = $_FILES['uploadfile']['tmp_name'];
                
$image_name = totranslit($_FILES['uploadfile']['name']); // оригинальное название для оприделения формата
                
$image_rename = substr(md5($server_time+rand(1,100000)), 0, 20); // имя фотографии
                
$image_size = $_FILES['uploadfile']['size']; // размер файла
                
$type = end(explode(".", $image_name)); // формат файла

                //Проверям если, формат верный то пропускаем
                
if(in_array(strtolower($type), $allowed_files)){
                    if(
$image_size < 5000000){
                        
$res_type = strtolower('.'.$type);

                        
$upload_dir = ROOT_DIR."/uploads/groups/{$id}/";

                        if(
move_uploaded_file($image_tmp, $upload_dir.$image_rename.$res_type)){
                            
//Подключаем класс для фотографий
                            
include ENGINE_DIR.'/classes/images.php';

                            
//Создание оригинала
                            
$tmb = new thumbnail($upload_dir.$image_rename.$res_type);
                            
$tmb->size_auto('200', 1);
                            
$tmb->jpeg_quality('97');
                            
$tmb->save($upload_dir.$image_rename.$res_type);

                            
//Создание маленькой копии 100
                            
$tmb = new thumbnail($upload_dir.$image_rename.$res_type);
                            
$tmb->size_auto('100x100');
                            
$tmb->jpeg_quality('100');
                            
$tmb->save($upload_dir.'100_'.$image_rename.$res_type);

                            
//Создание маленькой копии 50
                            
$tmb = new thumbnail($upload_dir.$image_rename.$res_type);
                            
$tmb->size_auto('50x50');
                            
$tmb->jpeg_quality('100');
                            
$tmb->save($upload_dir.'50_'.$image_rename.$res_type);

                            if(
$row['photo']){
                                @
unlink($upload_dir.$row['photo']);
                                @
unlink($upload_dir.'50_'.$row['photo']);
                                @
unlink($upload_dir.'100_'.$row['photo']);
                            }

                            
//Вставляем фотографию
                            
$db->query("UPDATE `".PREFIX."_communities` SET photo = '{$image_rename}{$res_type}' WHERE id = '{$id}'");

                            
//Результат для ответа
                            
echo $image_rename.$res_type;

                            
mozg_clear_cache_folder('groups');
                        } else
                            echo 
'big_size';
                    } else
                        echo 
'big_size';
                } else
                    echo 
'bad_format';
            }
            die();
        break;

        
//################### Удаление фото сообщества ###################//
        
case "delphoto":
            
NoAjaxQuery();
            
$id = intval($_POST['id']);

            
//Проверка на то, что фото удалет админ
            
$row = $db->super_query("SELECT photo, admin FROM `".PREFIX."_communities` WHERE id = '{$id}'");
            if(
stripos($row['admin'], "id{$user_id}|") !== false){
                
$upload_dir = ROOT_DIR."/uploads/groups/{$id}/";
                @
unlink($upload_dir.$row['photo']);
                @
unlink($upload_dir.'50_'.$row['photo']);
                @
unlink($upload_dir.'100_'.$row['photo']);
                
$db->query("UPDATE `".PREFIX."_communities` SET photo = '' WHERE id = '{$id}'");

                
mozg_clear_cache_folder('groups');
            }
            die();
        break;

//Загрузка фотографии на обложку
case "upload_cover":
NoAjaxQuery();

            
$id = intval($_GET['id']);

            
//Проверка на то, что фото обновляет адмиH
            
$row = $db->super_query("SELECT admin, photo, del, ban FROM `".PREFIX."_communities` WHERE id = '{$id}'");
            if(
stripos($row['admin'], "id{$user_id}|") !== false AND $row['del'] == 0 AND $row['ban'] == 0){

                
//Разришенные форматы
                
$allowed_files = array('jpg', 'jpeg', 'jpe', 'png', 'gif');

                
//Получаем данные о фотографии
                
$image_tmp = $_FILES['uploadfile']['tmp_name'];
                
$image_name = totranslit($_FILES['uploadfile']['name']); // оригинальное название для оприделения формата
                
$image_rename = substr(md5($server_time+rand(1,100000)), 0, 20); // имя фотографии
                
$image_size = $_FILES['uploadfile']['size']; // размер файла
                
$type = end(explode(".", $image_name)); // формат файла

                //Проверям если, формат верный то пропускаем
                
if(in_array(strtolower($type), $allowed_files)){
                    if(
$image_size < 5000000){
                        
$res_type = strtolower('.'.$type);

                        
$upload_dir = ROOT_DIR."/uploads/groups/{$id}/";

                        if(
move_uploaded_file($image_tmp, $upload_dir.$image_rename.$res_type)){
                            
//Подключаем класс для фотографий
                            
include ENGINE_DIR.'/classes/images.php';

                            
//Создание оригинала
                            
$tmb = new thumbnail($upload_dir.$image_rename.$res_type);
                            
$tmb->size_auto('770', 1);
                            
$tmb->jpeg_quality('95');
                            
$tmb->save($upload_dir.$image_rename.$res_type);

$image_rename = $db->safesql($image_rename);
$res_type = $db->safesql($res_type);

$cover = $id.'/'.$image_rename.$res_type;

//Заносим данные об обложке в бд
$db->query("UPDATE `".PREFIX."_communities` SET cover = '{$cover}' WHERE id = '{$id}'");
echo 
$id.'/'.$image_rename.$res_type;
} else
echo 
'bad';
} else
echo 
'big_size';
} else
echo 
'bad_format';
}
die();
break;

  
//Cохранение позиции у обложки
  
case "savecoverpos":
  
$id = intval($_GET['id']);
  
//Проверка на то, что фото удалет админ
  
$row = $db->super_query("SELECT photo, admin FROM `".PREFIX."_communities` WHERE id = '{$id}'");
  if(
stripos($row['admin'], "id{$user_id}|") !== false){
  
$pos = $_POST['pos'];
  if(
$id){
  if(
$pos){
        
$db->query("UPDATE `".PREFIX."_communities` SET cover_pos = '{$pos}' WHERE id = '{$id}'");
   }
  }
  }
  die();
  break;

//Удаление фотографии в обложках
case "delcover":
NoAjaxQuery();
$id = intval($_GET['id']);
//Проверка на то, что фото удалет админ
$row = $db->super_query("SELECT photo, admin FROM `".PREFIX."_communities` WHERE id = '{$id}'");
if(
stripos($row['admin'], "id{$user_id}|") !== false){
$uploaddir = ROOT_DIR.'/uploads/groups/{$id}/';
$row = $db->super_query("SELECT cover FROM `".PREFIX."_communities` WHERE id = '{$id}'");

$db->query("UPDATE `".PREFIX."_communities` SET cover = '' WHERE id = '{$id}'");
@
unlink($uploaddir.$row['cover']);
}
die();
break;

        
//################### Вступление в сообщество ###################//
        
case "login":
            
NoAjaxQuery();
            
$id = intval($_POST['id']);

            
//Проверка на существования юзера в сообществе
            
$row = $db->super_query("SELECT ulist, del, ban FROM `".PREFIX."_communities` WHERE id = '{$id}'");
            if(
stripos($row['ulist'], "|{$user_id}|") === false AND $row['del'] == 0 AND $row['ban'] == 0){
                
$ulist = $row['ulist']."|{$user_id}|";
                
$db->query("UPDATE `".PREFIX."_communities` SET traf = traf+1, ulist = '{$ulist}' WHERE id = '{$id}'");
                
$db->query("UPDATE `".PREFIX."_users` SET user_public_num = user_public_num+1 WHERE user_id = '{$user_id}'");
                
$db->query("INSERT INTO `".PREFIX."_friends` SET friend_id = '{$id}', user_id = '{$user_id}', friends_date = NOW(), subscriptions = 2");

                
mozg_mass_clear_cache_file("user_{$user_id}/profile_{$user_id}|groups/{$user_id}");
            }
            die();
        break;

        
//################### Страница добавления контактов ###################//
        
case "addfeedback_pg":
            
NoAjaxQuery();
            
$tpl->load_template('groups/addfeedback_pg.tpl');
            
$tpl->set('{id}', $_POST['id']);
            
$tpl->compile('content');
            
AjaxTpl();
            die();
        break;

        
//################### Добавления контакт в БД ###################//
        
case "addfeedback_db":
            
NoAjaxQuery();
            
$id = intval($_POST['id']);
            
$upage = intval($_POST['upage']);
            
$office = ajax_utf8(textFilter($_POST['office'], false, true));
            
$phone = ajax_utf8(textFilter($_POST['phone'], false, true));
            
$email = ajax_utf8(textFilter($_POST['email'], false, true));

            
//Проверка на то, что действиие делает админ
            
$checkAdmin = $db->super_query("SELECT admin FROM `".PREFIX."_communities` WHERE id = '{$id}'");

            
//Проверяем что такой юзер есть на сайте
            
$row = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_users` WHERE user_id = '{$upage}'");

            
//Проверяем на то что юзера нет в списке контактов
            
$checkSec = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_communities_feedback` WHERE fuser_id = '{$upage}' AND cid = '{$id}'");

            if(
$row['cnt'] AND stripos($checkAdmin['admin'], "id{$user_id}|") !== false AND !$checkSec['cnt']){
                
$db->query("UPDATE `".PREFIX."_communities` SET feedback = feedback+1 WHERE id = '{$id}'");
                
$db->query("INSERT INTO `".PREFIX."_communities_feedback` SET cid = '{$id}', fuser_id = '{$upage}', office = '{$office}', fphone = '{$phone}', femail = '{$email}', fdate = '{$server_time}'");
            } else
                echo 
1;

            die();
        break;

        
//################### Удаление контакта из БД ###################//
        
case "delfeedback":
            
NoAjaxQuery();
            
$id = intval($_POST['id']);
            
$uid = intval($_POST['uid']);

            
//Проверка на то, что действиие делает админ
            
$checkAdmin = $db->super_query("SELECT admin FROM `".PREFIX."_communities` WHERE id = '{$id}'");

            
//Проверяем на то что юзера есть в списке контактов
            
$checkSec = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_communities_feedback` WHERE fuser_id = '{$uid}' AND cid = '{$id}'");

            if(
stripos($checkAdmin['admin'], "id{$user_id}|") !== false AND $checkSec['cnt']){
                
$db->query("UPDATE `".PREFIX."_communities` SET feedback = feedback-1 WHERE id = '{$id}'");
                
$db->query("DELETE FROM `".PREFIX."_communities_feedback` WHERE fuser_id = '{$uid}' AND cid = '{$id}'");
            }

            die();
        break;

        
//################### Выводим фотографию юзера при указании ИД страницы ###################//
        
case "checkFeedUser":
            
NoAjaxQuery();
            
$id = intval($_POST['id']);
            
$row = $db->super_query("SELECT user_photo, user_search_pref FROM `".PREFIX."_users` WHERE user_id = '{$id}'");
            if(
$row) echo $row['user_search_pref']."|".$row['user_photo'];
            die();
        break;

        
//################### Сохранение отредактированых данных контакт в БД ###################//
        
case "editfeeddave":
            
NoAjaxQuery();
            
$id = intval($_POST['id']);
            
$upage = intval($_POST['uid']);
            
$office = ajax_utf8(textFilter($_POST['office'], false, true));
            
$phone = ajax_utf8(textFilter($_POST['phone'], false, true));
            
$email = ajax_utf8(textFilter($_POST['email'], false, true));

            
//Проверка на то, что действиие делает админ
            
$checkAdmin = $db->super_query("SELECT admin FROM `".PREFIX."_communities` WHERE id = '{$id}'");

            
//Проверяем на то что юзера есть в списке контактов
            
$checkSec = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_communities_feedback` WHERE fuser_id = '{$upage}' AND cid = '{$id}'");

            if(
stripos($checkAdmin['admin'], "id{$user_id}|") !== false AND $checkSec['cnt']){
                
$db->query("UPDATE `".PREFIX."_communities_feedback` SET office = '{$office}', fphone = '{$phone}', femail = '{$email}' WHERE fuser_id = '{$upage}' AND cid = '{$id}'");
            } else
                echo 
1;

            die();
        break;

        
//################### Все контакты (БОКС) ###################//
        
case "allfeedbacklist":
            
NoAjaxQuery();
            
$id = intval($_POST['id']);

            
//Выводим ИД админа
            
$owner = $db->super_query("SELECT admin FROM `".PREFIX."_communities` WHERE id = '{$id}'");

            
$sql_ = $db->super_query("SELECT tb1.fuser_id, office, fphone, femail, tb2.user_search_pref, user_photo FROM `".PREFIX."_communities_feedback` tb1, `".PREFIX."_users` tb2 WHERE tb1.cid = '{$id}' AND tb1.fuser_id = tb2.user_id ORDER by `fdate` ASC", 1);
            
$tpl->load_template('groups/allfeedbacklist.tpl');
            if(
$sql_){
                foreach(
$sql_ as $row){
                    
$tpl->set('{id}', $id);
                    
$tpl->set('{name}', $row['user_search_pref']);
                    
$tpl->set('{office}', stripslashes($row['office']));
                    
$tpl->set('{phone}', stripslashes($row['fphone']));
                    
$tpl->set('{user-id}', $row['fuser_id']);
                    if(
$row['fphone'] AND $row['femail']) $tpl->set('{email}', ', '.stripslashes($row['femail']));
                    else 
$tpl->set('{email}', stripslashes($row['femail']));
                    if(
$row['user_photo']) $tpl->set('{ava}', '/uploads/users/'.$row['fuser_id'].'/50_'.$row['user_photo']);
                    else 
$tpl->set('{ava}', '{theme}/images/no_ava_50.png');
                    if(
stripos($owner['admin'], "id{$user_id}|") !== false){
                        
$tpl->set('[admin]', '');
                        
$tpl->set('[/admin]', '');
                    } else
                        
$tpl->set_block("'\[admin\](.*?)\[/admin\]'si","");
                    
$tpl->compile('content');
                }
                
AjaxTpl();
            } else
                echo 
'<div align="center" style="padding-top:10px;color:#777;font-size:13px;">Список контактов пуст.</div>';

            if(
stripos($owner['admin'], "id{$user_id}|") !== false)
                echo 
"<style>#box_bottom_left_text{padding-top:6px;float:left}</style><script>$('#box_bottom_left_text').html('<a href="/" onClick="groups.addcontact({$id}); return false">Добавить контакт</a>');</script>";

            die();
        break;

            
//################### Сохранение отредактированых данных группы ###################//
        
case "saveinfo":
            
NoAjaxQuery();
            
$id = intval($_POST['id']);
            
$comments = intval($_POST['comments']);
            
$title = ajax_utf8(textFilter($_POST['title'], false, true));
            
$adres_page = ajax_utf8(strtolower(textFilter($_POST['adres_page'], false, true)));
            
$descr = ajax_utf8(textFilter($_POST['descr'], 5000));
            
            if(!
preg_match("/^[a-zA-Z0-9_-]+$/", $adres_page)) $adress_ok = false;
            else 
$adress_ok = true;

            
//Проверка на то, что действиие делает админ
            
$checkAdmin = $db->super_query("SELECT admin FROM `".PREFIX."_communities` WHERE id = '".$id."'");

            if(
stripos($checkAdmin['admin'], "u{$user_id}|") !== false AND isset($title) AND !empty($title) AND $adress_ok){
                if(
preg_match('/public[0-9]/i', $adres_page))
                    
$adres_page = '';
                    
                
//Проверка на то, что адрес страницы свободен
                
if($adres_page)
                    
$checkAdres = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_communities` WHERE adres = '".$adres_page."' AND id != '".$id."'");
                
                if(!
$checkAdres['cnt'] OR $adres_page == ''){
                    
$db->query("UPDATE `".PREFIX."_communities` SET title = '".$title."', descr = '".$descr."', comments = '".$comments."', adres = '".$adres_page."' WHERE id = '".$id."'");
                    if(!
$adres_page)
                        echo 
'no_new';
                } else
                    echo 
'err_adres';
                    
                
mozg_clear_cache_folder('groups');
            }
            
            die();
        break;

        
//################### Выводим информацию о пользователе которого будем делать админом ###################//
        
case "new_admin":
            
NoAjaxQuery();
            
$new_admin_id = intval($_POST['new_admin_id']);
            
$row = $db->super_query("SELECT tb1.user_id, tb2.user_photo, user_search_pref, user_sex FROM `".PREFIX."_friends` tb1, `".PREFIX."_users` tb2 WHERE tb1.user_id = '{$new_admin_id}' AND tb1.user_id = tb2.user_id AND tb1.subscriptions = 2");
            if(
$row AND $user_id != $new_admin_id){
                if(
$row['user_photo']) $ava = "/uploads/users/{$new_admin_id}/100_{$row['user_photo']}";
                else 
$ava = "/templates/{$config['temp']}/images/100_no_ava.png";
                if(
$row['user_sex'] == 1) $gram = 'был';
                else 
$gram = 'была';
                echo 
"<div style="padding:15px"><img src="{$ava}" align="left" style="margin-right:10px" id="adm_ava" />Вы хотите чтоб <b id="adm_name">{$row['user_search_pref']}</b> {$gram} одним из руководителей страницы?</div>";
            } else
                echo 
"<div style="padding:15px"><div class="err_red">Пользователь с таким адресом страницы не подписан на эту страницу.</div></div><script>$('#box_but').hide()</script>";

            die();
        break;

        
//################### Запись нового админа в БД ###################//
        
case "send_new_admin":
            
NoAjaxQuery();
            
$id = intval($_POST['id']);
            
$new_admin_id = intval($_POST['new_admin_id']);
            
$row = $db->super_query("SELECT admin, ulist FROM `".PREFIX."_communities` WHERE id = '{$id}'");
            if(
stripos($row['admin'], "id{$user_id}|") !== false AND stripos($row['admin'], "id{$new_admin_id}|") === false AND stripos($row['ulist'], "|{$user_id}|") !== false){
                
$admin = $row['admin']."id{$new_admin_id}|";
                
$db->query("UPDATE `".PREFIX."_communities` SET admin = '{$admin}' WHERE id = '{$id}'");
            }
            die();
        break;

        
//################### Удаление админа из БД ###################//
        
case "deladmin":
            
NoAjaxQuery();
            
$id = intval($_POST['id']);
            
$uid = intval($_POST['uid']);
            
$row = $db->super_query("SELECT admin, ulist, real_admin FROM `".PREFIX."_communities` WHERE id = '{$id}'");
            if(
stripos($row['admin'], "id{$user_id}|") !== false AND stripos($row['admin'], "id{$uid}|") !== false AND $uid != $row['real_admin']){
                
$admin = str_replace("id{$uid}|", '', $row['admin']);
                
$db->query("UPDATE `".PREFIX."_communities` SET admin = '{$admin}' WHERE id = '{$id}'");
            }
            die();
        break;

        
//################### Добавление записи на стену ###################//
        
case "wall_send":
            
NoAjaxQuery();
            
$id = intval($_POST['id']);
            
$wall_text = ajax_utf8(textFilter($_POST['wall_text']));
            
$attach_files = ajax_utf8(textFilter($_POST['attach_files'], false, true));

            
//Проверка на админа
            
$row = $db->super_query("SELECT admin, del, ban FROM `".PREFIX."_communities` WHERE id = '{$id}'");
            if(
stripos($row['admin'], "id{$user_id}|") !== false AND isset($wall_text) AND !empty($wall_text) OR isset($attach_files) AND !empty($attach_files) AND $row['del'] == 0 AND $row['ban'] == 0){

                    
//Оприделение изображения к ссылке
                    
if(stripos($attach_files, 'link|') !== false){
                        
$attach_arr = explode('||', $attach_files);
                        
$cnt_attach_link = 1;
                        foreach(
$attach_arr as $attach_file){
                            
$attach_type = explode('|', $attach_file);
                            if(
$attach_type[0] == 'link' AND preg_match('/http://(.*?)+$/i', $attach_type[1]) AND $cnt_attach_link == 1){
                                
$domain_url_name = explode('/', $attach_type[1]);
                                
$rdomain_url_name = str_replace('http://', '', $domain_url_name[2]);
                                
$rImgUrl = $attach_type[4];
                                
$rImgUrl = str_replace("\", "/", $rImgUrl);
                                
$img_name_arr = explode(".", $rImgUrl);
                                
$img_format = totranslit(end($img_name_arr));
                                
$image_name = substr(md5($server_time.md5($rImgUrl)), 0, 15);

                                //Разришенные форматы
                                
$allowed_files = array('jpg', 'jpeg', 'jpe', 'png', 'gif');

                                //Загружаем картинку на сайт
                                if(in_array(strtolower(
$img_format), $allowed_files) AND preg_match("/http://(.*?)(.jpg|.png|.gif|.jpeg|.jpe)/i", $rImgUrl)){

                                    //Директория загрузки фото
                                    
$upload_dir = ROOT_DIR.'/uploads/attach/'.$user_id;

                                    
//Если нет папки юзера, то создаём её
                                    
if(!is_dir($upload_dir)){
                                        @
mkdir($upload_dir, 0777);
                                        @
chmod($upload_dir, 0777);
                                    }

                                    
//Подключаем класс для фотографий
                                    
include ENGINE_DIR.'/classes/images.php';

                                    if(@
copy($rImgUrl, $upload_dir.'/'.$image_name.'.'.$img_format)){
                                        
$tmb = new thumbnail($upload_dir.'/'.$image_name.'.'.$img_format);
                                        
$tmb->size_auto('100x80');
                                        
$tmb->jpeg_quality(100);
                                        
$tmb->save($upload_dir.'/'.$image_name.'.'.$img_format);

                                        
$attach_files = str_replace($attach_type[4], '/uploads/attach/'.$user_id.'/'.$image_name.'.'.$img_format, $attach_files);
                                    }
                                }
                                
$cnt_attach_link++;
                            }
                        }
                    }

                
$attach_files = str_replace('vote|', 'hack|', $attach_files);
                
$attach_files = str_replace(array('&amp;#124;', '&amp;raquo;', '&amp;quot;'), array('&#124;', '&raquo;', '&quot;'), $attach_files);

                
//Голосование
                
$vote_title = ajax_utf8(textFilter($_POST['vote_title'], false, true));
                
$vote_answer_1 = ajax_utf8(textFilter($_POST['vote_answer_1'], false, true));

                
$ansers_list = array();

                if(isset(
$vote_title) AND !empty($vote_title) AND isset($vote_answer_1) AND !empty($vote_answer_1)){

                    for(
$vote_i = 1; $vote_i <= 10; $vote_i++){

                        
$vote_answer = ajax_utf8(textFilter($_POST['vote_answer_'.$vote_i], false, true));
                        
$vote_answer = str_replace('|', '&#124;', $vote_answer);

                        if(
$vote_answer)
                            
$ansers_list[] = $vote_answer;

                    }

                    
$sql_answers_list = implode('|', $ansers_list);

                    
//Вставляем голосование в БД
                    
$db->query("INSERT INTO `".PREFIX."_votes` SET title = '{$vote_title}', answers = '{$sql_answers_list}'");

                    
$attach_files = $attach_files."vote|{$db->insert_id()}||";

                }

                
//Вставляем саму запись в БД
                
$db->query("INSERT INTO `".PREFIX."_communities_wall` SET public_id = '{$id}', text = '{$wall_text}', attach = '{$attach_files}', add_date = '{$server_time}'");
                
$dbid = $db->insert_id();
                
$db->query("UPDATE `".PREFIX."_communities` SET rec_num = rec_num+1 WHERE id = '{$id}'");

                
//Вставляем в ленту новотсей
                
$db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$id}', action_type = 11, action_text = '{$wall_text}', obj_id = '{$dbid}', action_time = '{$server_time}'");

                
//Загружаем все записи
                
if(stripos($row['admin'], "id{$user_id}|") !== false)
                    
$public_admin = true;
                else
                    
$public_admin = false;

                
$limit_select = 10;
                
$pid = $id;
                include 
ENGINE_DIR.'/classes/wall.public.php';
                
$wall = new wall();
                
$wall->query("SELECT SQL_CALC_FOUND_ROWS tb1.id, text, public_id, add_date, fasts_num, attach, likes_num, likes_users, tell_uid, public, tell_date, tell_comm, tb2.title, photo, comments FROM `".PREFIX."_communities_wall` tb1, `".PREFIX."_communities` tb2 WHERE tb1.public_id = '{$id}' AND tb1.public_id = tb2.id AND fast_comm_id = 0 ORDER by `add_date` DESC LIMIT 0, {$limit_select}");
                
$wall->template('groups/record.tpl');
                
$wall->compile('content');
                
$wall->select($public_admin, $server_time);
                
AjaxTpl();
            }
            die();
        break;

        
//################### Добавление комментария к записи ###################//
        
case "wall_send_comm":
            
NoAjaxQuery();
            
$rec_id = intval($_POST['rec_id']);
            
$public_id = intval($_POST['public_id']);
            
$wall_text = ajax_utf8(textFilter($_POST['wall_text']));

            
//Проверка на админа и проверяем включены ли комменты
            
$row = $db->super_query("SELECT tb1.fasts_num, tb2.admin, comments FROM `".PREFIX."_communities_wall` tb1, `".PREFIX."_communities` tb2 WHERE tb1.public_id = tb2.id AND tb1.id = '{$rec_id}'");

            if(
$row['comments'] OR stripos($row['admin'], "id{$user_id}|") !== false AND isset($wall_text) AND !empty($wall_text)){

                
//Вставляем саму запись в БД
                
$db->query("INSERT INTO `".PREFIX."_communities_wall` SET public_id = '{$user_id}', text = '{$wall_text}', add_date = '{$server_time}', fast_comm_id = '{$rec_id}'");
                
$db->query("UPDATE `".PREFIX."_communities_wall` SET fasts_num = fasts_num+1 WHERE id = '{$rec_id}'");

                
$row['fasts_num'] = $row['fasts_num']+1;

                if(
$row['fasts_num'] > 3)
                    
$comments_limit = $row['fasts_num']-3;
                else
                    
$comments_limit = 0;

                
$sql_comments = $db->super_query("SELECT SQL_CALC_FOUND_ROWS tb1.id, public_id, text, add_date, tb2.user_photo, user_search_pref FROM `".PREFIX."_communities_wall` tb1, `".PREFIX."_users` tb2 WHERE tb1.public_id = tb2.user_id AND tb1.fast_comm_id = '{$rec_id}' ORDER by `add_date` ASC LIMIT {$comments_limit}, 3", 1);

                
//Загружаем кнопку "Показать N запсии"
                
$tpl->load_template('groups/record.tpl');
                
$tpl->set('{gram-record-all-comm}', gram_record(($row['fasts_num']-3), 'prev').' '.($row['fasts_num']-3).' '.gram_record(($row['fasts_num']-3), 'comments'));
                if(
$row['fasts_num'] < 4)
                    
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");
                else {
                    
$tpl->set('{rec-id}', $rec_id);
                    
$tpl->set('[all-comm]', '');
                    
$tpl->set('[/all-comm]', '');
                }
                
$tpl->set('{public-id}', $public_id);
                
$tpl->set_block("'\[record\](.*?)\[/record\]'si","");
                
$tpl->set_block("'\[comment-form\](.*?)\[/comment-form\]'si","");
                
$tpl->set_block("'\[comment\](.*?)\[/comment\]'si","");
                
$tpl->compile('content');

                
$tpl->load_template('groups/record.tpl');
                
//Сообственно выводим комменты
                
foreach($sql_comments as $row_comments){
                    
$tpl->set('{public-id}', $public_id);
                    
$tpl->set('{name}', $row_comments['user_search_pref']);
                    if(
$row_comments['user_photo'])
                        
$tpl->set('{ava}', $config['home_url'].'uploads/users/'.$row_comments['public_id'].'/50_'.$row_comments['user_photo']);
                    else
                        
$tpl->set('{ava}', '{theme}/images/no_ava_50.png');
                    
$tpl->set('{comm-id}', $row_comments['id']);
                    
$tpl->set('{user-id}', $row_comments['public_id']);

                    
$expBR2 = explode('<br />', $row_comments['text']);
                    
$textLength2 = count($expBR2);
                    
$strTXT2 = strlen($row_comments['text']);
                    if(
$textLength2 > 6 OR $strTXT2 > 470)
                        
$row_comments['text'] = '<div class="wall_strlen" id="hide_wall_rec'.$row_comments['id'].'" style="max-height:102px"">'.$row_comments['text'].'</div><div class="wall_strlen_full" onMouseDown="wall.FullText('.$row_comments['id'].', this.id)" id="hide_wall_rec_lnk'.$row_comments['id'].'">Показать полностью..</div>';

                    
$tpl->set('{text}', stripslashes($row_comments['text']));
                    
megaDate($row_comments['add_date']);
                    if(
stripos($row['admin'], "id{$user_id}|") !== false OR $user_id == $row_comments['public_id']){
                        
$tpl->set('[owner]', '');
                        
$tpl->set('[/owner]', '');
                    } else
                        
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");

                    
$tpl->set('[comment]', '');
                    
$tpl->set('[/comment]', '');
                    
$tpl->set_block("'\[record\](.*?)\[/record\]'si","");
                    
$tpl->set_block("'\[comment-form\](.*?)\[/comment-form\]'si","");
                    
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");
                    
$tpl->compile('content');
                }

                
//Загружаем форму ответа
                
$tpl->load_template('groups/record.tpl');
                
$tpl->set('{rec-id}', $rec_id);
                
$tpl->set('{user-id}', $public_id);
                
$tpl->set('[comment-form]', '');
                
$tpl->set('[/comment-form]', '');
                
$tpl->set_block("'\[record\](.*?)\[/record\]'si","");
                
$tpl->set_block("'\[comment\](.*?)\[/comment\]'si","");
                
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");
                
$tpl->compile('content');

                
AjaxTpl();
            }
            die();
        break;

        
//################### Удаление записи ###################//
        
case "wall_del":
            
NoAjaxQuery();
            
$rec_id = intval($_POST['rec_id']);
            
$public_id = intval($_POST['public_id']);

            
//Проверка на админа и проверяем включены ли комменты
            
if($public_id){
                
$row = $db->super_query("SELECT admin FROM `".PREFIX."_communities` WHERE id = '{$public_id}'");
                
$row_rec = $db->super_query("SELECT fast_comm_id, public_id FROM `".PREFIX."_communities_wall` WHERE id = '{$rec_id}'");
            } else
                
$row = $db->super_query("SELECT tb1.public_id, attach, tb2.admin FROM `".PREFIX."_communities_wall` tb1, `".PREFIX."_communities` tb2 WHERE tb1.public_id = tb2.id AND tb1.id = '{$rec_id}'");

            if(
stripos($row['admin'], "id{$user_id}|") !== false OR $user_id == $row_rec['public_id']){
                if(
$public_id)
                    
$db->query("UPDATE `".PREFIX."_communities_wall` SET fasts_num = fasts_num-1 WHERE id = '{$row_rec['fast_comm_id']}'");
                else {
                    
$db->query("DELETE FROM `".PREFIX."_communities_wall` WHERE fast_comm_id = '{$rec_id}'");
                    
$db->query("DELETE FROM `".PREFIX."_news` WHERE obj_id = '{$rec_id}' AND action_type = '11'");
                    
$db->query("UPDATE `".PREFIX."_communities` SET rec_num = rec_num-1 WHERE id = '{$row['public_id']}'");

                    
//Удаляем фотку из прикрипленой ссылке, если она есть
                    
if(stripos($row['attach'], 'link|') !== false){
                        
$attach_arr = explode('link|', $row['attach']);
                        
$attach_arr2 = explode('|/uploads/attach/'.$user_id.'/', $attach_arr[1]);
                        
$attach_arr3 = explode('||', $attach_arr2[1]);
                        if(
$attach_arr3[0])
                            @
unlink(ROOT_DIR.'/uploads/attach/'.$user_id.'/'.$attach_arr3[0]);
                    }
                }

                
$db->query("DELETE FROM `".PREFIX."_communities_wall` WHERE id = '{$rec_id}'");
            }
            die();
        break;

        
//################### Показ всех комментариев к записи ###################//
        
case "all_comm":
            
NoAjaxQuery();
            
$rec_id = intval($_POST['rec_id']);
            
$public_id = intval($_POST['public_id']);

            
//Проверка на админа и проверяем включены ли комменты
            
$row = $db->super_query("SELECT tb2.admin, comments FROM `".PREFIX."_communities_wall` tb1, `".PREFIX."_communities` tb2 WHERE tb1.public_id = tb2.id AND tb1.id = '{$rec_id}'");

            if(
$row['comments'] OR stripos($row['admin'], "id{$user_id}|") !== false){
                
$sql_comments = $db->super_query("SELECT SQL_CALC_FOUND_ROWS tb1.id, public_id, text, add_date, tb2.user_photo, user_search_pref FROM `".PREFIX."_communities_wall` tb1, `".PREFIX."_users` tb2 WHERE tb1.public_id = tb2.user_id AND tb1.fast_comm_id = '{$rec_id}' ORDER by `add_date` ASC", 1);
                
$tpl->load_template('groups/record.tpl');
                
//Сообственно выводим комменты
                
foreach($sql_comments as $row_comments){
                    
$tpl->set('{public-id}', $public_id);
                    
$tpl->set('{name}', $row_comments['user_search_pref']);
                    if(
$row_comments['user_photo'])
                        
$tpl->set('{ava}', $config['home_url'].'uploads/users/'.$row_comments['public_id'].'/50_'.$row_comments['user_photo']);
                    else
                        
$tpl->set('{ava}', '{theme}/images/no_ava_50.png');
                    
$tpl->set('{comm-id}', $row_comments['id']);
                    
$tpl->set('{user-id}', $row_comments['public_id']);

                    
$expBR2 = explode('<br />', $row_comments['text']);
                    
$textLength2 = count($expBR2);
                    
$strTXT2 = strlen($row_comments['text']);
                    if(
$textLength2 > 6 OR $strTXT2 > 470)
                        
$row_comments['text'] = '<div class="wall_strlen" id="hide_wall_rec'.$row_comments['id'].'" style="max-height:102px"">'.$row_comments['text'].'</div><div class="wall_strlen_full" onMouseDown="wall.FullText('.$row_comments['id'].', this.id)" id="hide_wall_rec_lnk'.$row_comments['id'].'">Показать полностью..</div>';

                    
$tpl->set('{text}', stripslashes($row_comments['text']));
                    
megaDate($row_comments['add_date']);
                    if(
stripos($row['admin'], "id{$user_id}|") !== false OR $user_id == $row_comments['public_id']){
                        
$tpl->set('[owner]', '');
                        
$tpl->set('[/owner]', '');
                    } else
                        
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");

                    
$tpl->set('[comment]', '');
                    
$tpl->set('[/comment]', '');
                    
$tpl->set_block("'\[record\](.*?)\[/record\]'si","");
                    
$tpl->set_block("'\[comment-form\](.*?)\[/comment-form\]'si","");
                    
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");
                    
$tpl->compile('content');
                }

                
//Загружаем форму ответа
                
$tpl->load_template('groups/record.tpl');
                
$tpl->set('{rec-id}', $rec_id);
                
$tpl->set('{user-id}', $public_id);
                
$tpl->set('[comment-form]', '');
                
$tpl->set('[/comment-form]', '');
                
$tpl->set_block("'\[record\](.*?)\[/record\]'si","");
                
$tpl->set_block("'\[comment\](.*?)\[/comment\]'si","");
                
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");
                
$tpl->compile('content');

                
AjaxTpl();
            }
            die();
        break;

        
//################### Страница загрузки фото в сообщество ###################//
        
case "photos":
            
NoAjaxQuery();
            
$public_id = intval($_POST['public_id']);
            
$rowPublic = $db->super_query("SELECT admin, photos_num FROM `".PREFIX."_communities` WHERE id = '{$public_id}'");
            if(
stripos($rowPublic['admin'], "id{$user_id}|") !== false){

                if(
$_POST['page'] > 0) $page = intval($_POST['page']); else $page = 1;
                
$gcount = 36;
                
$limit_page = ($page-1)*$gcount;

                
//HEAD
                
$tpl->load_template('public/photos/head.tpl');
                
$tpl->set('{photo-num}', $rowPublic['photos_num'].' '.gram_record($rowPublic['photos_num'], 'photos'));
                
$tpl->set('{public_id}', $public_id);
                
$tpl->set('[top]', '');
                
$tpl->set('[/top]', '');
                
$tpl->set_block("'\[bottom\](.*?)\[/bottom\]'si","");
                
$tpl->compile('info');

                
//Выводим фотографии
                
if($rowPublic['photos_num']){
                    
$sql_ = $db->super_query("SELECT SQL_CALC_FOUND_ROWS photo FROM `".PREFIX."_communities_photos` WHERE public_id = '{$public_id}' ORDER by `add_date` DESC LIMIT {$limit_page}, {$gcount}", 1);
                    
$tpl->load_template('public/photos/photo.tpl');
                    foreach(
$sql_ as $row){
                        
$tpl->set('{photo}', $row['photo']);
                        
$tpl->set('{public-id}', $public_id);
                        
$tpl->compile('content');
                    }
                    
box_navigation($gcount, $rowPublic['photos_num'], $page, 'groups.wall_attach_addphoto', $public_id);
                } else
                    
msgbox('', '<div class="clear" style="margin-top:150px;margin-left:27px"></div>В альбоме сообщества нет загруженных фотографий.', 'info_2');

                
//BOTTOM
                
$tpl->load_template('public/photos/head.tpl');
                
$tpl->set('[bottom]', '');
                
$tpl->set('[/bottom]', '');
                
$tpl->set_block("'\[top\](.*?)\[/top\]'si","");
                
$tpl->compile('content');

                
AjaxTpl();
            }
            die();
        break;

        
//################### Выводим инфу о видео при прикриплении видео на стену ###################//
        
case "select_video_info":
            
NoAjaxQuery();
            
$video_id = intval($_POST['video_id']);
            
$row = $db->super_query("SELECT photo FROM `".PREFIX."_videos` WHERE id = '".$video_id."'");
            if(
$row){
                
$photo = end(explode('/', $row['photo']));
                echo 
$photo;
            } else
                echo 
'1';

            die();
        break;

        
//################### Ставим мне нравится ###################//
        
case "wall_like_yes":
            
NoAjaxQuery();
            
$rec_id = intval($_POST['rec_id']);
            
$row = $db->super_query("SELECT likes_users FROM `".PREFIX."_communities_wall` WHERE id = '".$rec_id."'");
            if(
$row AND stripos($row['likes_users'], "id{$user_id}|") === false){
                
$likes_users = "id{$user_id}|".$row['likes_users'];
                
$db->query("UPDATE `".PREFIX."_communities_wall` SET likes_num = likes_num+1, likes_users = '{$likes_users}' WHERE id = '".$rec_id."'");
                
$db->query("INSERT INTO `".PREFIX."_communities_wall_like` SET rec_id = '".$rec_id."', user_id = '".$user_id."', date = '".$server_time."'");
            }
            die();
        break;

        
//################### Убераем мне нравится ###################//
        
case "wall_like_remove":
            
NoAjaxQuery();
            
$rec_id = intval($_POST['rec_id']);
            
$row = $db->super_query("SELECT likes_users FROM `".PREFIX."_communities_wall` WHERE id = '".$rec_id."'");
            if(
stripos($row['likes_users'], "id{$user_id}|") !== false){
                
$likes_users = str_replace("id{$user_id}|", '', $row['likes_users']);
                
$db->query("UPDATE `".PREFIX."_communities_wall` SET likes_num = likes_num-1, likes_users = '{$likes_users}' WHERE id = '".$rec_id."'");
                
$db->query("DELETE FROM `".PREFIX."_communities_wall_like` WHERE rec_id = '".$rec_id."' AND user_id = '".$user_id."'");
            }
            die();
        break;

        
//################### Выводим последних 7 юзеров кто поставил "Мне нравится" ###################//
        
case "wall_like_users_five":
            
NoAjaxQuery();
            
$rec_id = intval($_POST['rec_id']);
            
$sql_ = $db->super_query("SELECT SQL_CALC_FOUND_ROWS tb1.user_id, tb2.user_photo FROM `".PREFIX."_communities_wall_like` tb1, `".PREFIX."_users` tb2 WHERE tb1.user_id = tb2.user_id AND tb1.rec_id = '{$rec_id}' ORDER by `date` DESC LIMIT 0, 7", 1);
            if(
$sql_){
                foreach(
$sql_ as $row){
                    if(
$row['user_photo']) $ava = '/uploads/users/'.$row['user_id'].'/50_'.$row['user_photo'];
                    else 
$ava = '/templates/'.$config['temp'].'/images/no_ava_50.png';
                    echo 
'<a href="/u'.$row['user_id'].'" id="Xlike_user'.$row['user_id'].'_'.$rec_id.'" onClick="Page.Go(this.href); return false"><img src="'.$ava.'" width="32" /></a>';
                }
            }
            die();
        break;

        
//################### Выводим всех юзеров которые поставили "мне нравится" ###################//
        
case "all_liked_users":
            
NoAjaxQuery();
            
$rid = intval($_POST['rid']);
            
$liked_num = intval($_POST['liked_num']);

            if(
$_POST['page'] > 0) $page = intval($_POST['page']); else $page = 1;
            
$gcount = 24;
            
$limit_page = ($page-1)*$gcount;

            if(!
$liked_num)
                
$liked_num = 24;

            if(
$rid AND $liked_num){
                
$sql_ = $db->super_query("SELECT SQL_CALC_FOUND_ROWS tb1.user_id, tb2.user_photo, user_search_pref FROM `".PREFIX."_communities_wall_like` tb1, `".PREFIX."_users` tb2 WHERE tb1.user_id = tb2.user_id AND tb1.rec_id = '{$rid}' ORDER by `date` DESC LIMIT {$limit_page}, {$gcount}", 1);

                if(
$sql_){
                    
$tpl->load_template('profile_subscription_box_top.tpl');
                    
$tpl->set('[top]', '');
                    
$tpl->set('[/top]', '');
                    
$tpl->set('{subcr-num}', 'Понравилось '.$liked_num.' '.gram_record($liked_num, 'like'));
                    
$tpl->set_block("'\[bottom\](.*?)\[/bottom\]'si","");
                    
$tpl->compile('content');

                    
$tpl->result['content'] = str_replace('Всего', '', $tpl->result['content']);

                    
$tpl->load_template('profile_friends.tpl');
                    foreach(
$sql_ as $row){
                        if(
$row['user_photo'])
                            
$tpl->set('{ava}', $config['home_url'].'uploads/users/'.$row['user_id'].'/50_'.$row['user_photo']);
                        else
                            
$tpl->set('{ava}', '{theme}/images/no_ava_50.png');
                        
$friend_info_online = explode(' ', $row['user_search_pref']);
                        
$tpl->set('{user-id}', $row['user_id']);
                        
$tpl->set('{name}', $friend_info_online[0]);
                        
$tpl->set('{last-name}', $friend_info_online[1]);
                        
$tpl->compile('content');
                    }
                    
box_navigation($gcount, $liked_num, $rid, 'groups.wall_all_liked_users', $liked_num);

                    
AjaxTpl();
                }
            }
            die();
        break;

        
//################### Рассказать друзьям "Мне нравится" ###################//
        
case "wall_tell":
            
NoAjaxQuery();
            
$rid = intval($_POST['rec_id']);

            
//Проверка на существование записи
            
$row = $db->super_query("SELECT add_date, text, public_id, attach, tell_uid, tell_date, public FROM `".PREFIX."_communities_wall` WHERE fast_comm_id = 0 AND id = '{$rid}'");

            if(
$row){
                if(
$row['tell_uid']){
                    
$row['add_date'] = $row['tell_date'];
                    
$row['author_user_id'] = $row['tell_uid'];
                    
$row['public_id'] = $row['tell_uid'];
                } else
                    
$row['public'] = 1;

                
//Проверяем на существование этой записи у себя на стене
                
$myRow = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_wall` WHERE tell_uid = '{$row['public_id']}' AND tell_date = '{$row['add_date']}' AND author_user_id = '{$user_id}' AND public = '{$row['public']}'");
                if(
$row['tell_uid'] != $user_id AND $myRow['cnt'] == false){
                    
$row['text'] = $db->safesql($row['text']);
                    
$row['attach'] = $db->safesql($row['attach']);

                    
//Всталвяем себе на стену
                    
$db->query("INSERT INTO `".PREFIX."_wall` SET author_user_id = '{$user_id}', for_user_id = '{$user_id}', text = '{$row['text']}', add_date = '{$server_time}', fast_comm_id = 0, tell_uid = '{$row['public_id']}', tell_date = '{$row['add_date']}', public = '{$row['public']}', attach = '".$row['attach']."'");
                    
$dbid = $db->insert_id();
                    
$db->query("UPDATE `".PREFIX."_users` SET user_wall_num = user_wall_num+1 WHERE user_id = '{$user_id}'");

                    
//Вставляем в ленту новостей
                    
$db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 1, action_text = '{$row['text']}', obj_id = '{$dbid}', action_time = '{$server_time}'");

                    
//Чистим кеш
                    
mozg_clear_cache_file("user_{$user_id}/profile_{$user_id}");
                } else
                    echo 
1;
            } else
                echo 
1;

            die();
        break;

        
//################### Показ всех подпискок ###################//
        
case "all_people":
            
NoAjaxQuery();

            if(
$_POST['page'] > 0) $page = intval($_POST['page']); else $page = 1;
            
$gcount = 24;
            
$limit_page = ($page-1)*$gcount;

            
$public_id = intval($_POST['public_id']);
            
$subscr_num = intval($_POST['num']);

            
$sql_ = $db->super_query("SELECT tb1.user_id, tb2.user_name, user_lastname, user_photo FROM `".PREFIX."_friends` tb1, `".PREFIX."_users` tb2 WHERE tb1.friend_id = '{$public_id}' AND tb1.user_id = tb2.user_id AND tb1.subscriptions = 2 ORDER by `friends_date` DESC LIMIT {$limit_page}, {$gcount}", 1);

            if(
$sql_){
                
$tpl->load_template('profile_subscription_box_top.tpl');
                
$tpl->set('[top]', '');
                
$tpl->set('[/top]', '');
                
$tpl->set('{subcr-num}', $subscr_num.' '.gram_record($subscr_num, 'subscribers'));
                
$tpl->set_block("'\[bottom\](.*?)\[/bottom\]'si","");
                
$tpl->compile('content');

                
$tpl->load_template('profile_friends.tpl');
                foreach(
$sql_ as $row){
                    if(
$row['user_photo'])
                        
$tpl->set('{ava}', '/uploads/users/'.$row['user_id'].'/50_'.$row['user_photo']);
                    else
                        
$tpl->set('{ava}', '{theme}/images/no_ava_50.png');
                    
$tpl->set('{user-id}', $row['user_id']);
                    
$tpl->set('{name}', $row['user_name']);
                    
$tpl->set('{last-name}', $row['user_lastname']);
                    
$tpl->compile('content');
                }

                
box_navigation($gcount, $subscr_num, $public_id, 'groups.all_people', $subscr_num);

            }

            
AjaxTpl();

            die();
        break;

        
//################### Показ всех сообщества юзера на которые он подписан (BOX) ###################//
        
case "all_groups_user":
            if(
$_POST['page'] > 0) $page = intval($_POST['page']); else $page = 1;
            
$gcount = 20;
            
$limit_page = ($page-1)*$gcount;

            
$for_user_id = intval($_POST['for_user_id']);
            
$subscr_num = intval($_POST['num']);

            
$sql_ = $db->super_query("SELECT SQL_CALC_FOUND_ROWS tb1.friend_id, tb2.id, title, photo, traf, adres FROM `".PREFIX."_friends` tb1, `".PREFIX."_communities` tb2 WHERE tb1.user_id = '{$for_user_id}' AND tb1.friend_id = tb2.id AND tb1.subscriptions = 2 ORDER by `traf` DESC LIMIT {$limit_page}, {$gcount}", 1);

            if(
$sql_){
                
$tpl->load_template('profile_subscription_box_top.tpl');
                
$tpl->set('[top]', '');
                
$tpl->set('[/top]', '');
                
$tpl->set('{subcr-num}', $subscr_num.' '.gram_record($subscr_num, 'subscr'));
                
$tpl->set_block("'\[bottom\](.*?)\[/bottom\]'si","");
                
$tpl->compile('content');

                
$tpl->load_template('profile_group.tpl');
                foreach(
$sql_ as $row){
                    if(
$row['photo']) $tpl->set('{ava}', '/uploads/groups/'.$row['id'].'/50_'.$row['photo']);
                    else 
$tpl->set('{ava}', '{theme}/images/no_ava_50.png');
                    
$tpl->set('{name}', stripslashes($row['title']));
                    
$tpl->set('{public-id}', $row['id']);
                    
$tpl->set('{num}', '<span id="traf">'.$row['traf'].' '.gram_record($row['traf'], 'subscribers'));
                    if(
$row['adres']) $tpl->set('{adres}', $row['adres']);
                    else 
$tpl->set('{adres}', 'public'.$row['id']);
                    
$tpl->compile('content');
                }

                
box_navigation($gcount, $subscr_num, $for_user_id, 'groups.all_groups_user', $subscr_num);

            }

            
AjaxTpl();

            die();
        break;

        default:

            
//################### Вывод всех сообществ ###################//
            
$owner = $db->super_query("SELECT user_public_num FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'");

            if(
$act == 'admin'){
                
$tpl->load_template('groups/head_admin.tpl');
                
$sql_sort = "SELECT SQL_CALC_FOUND_ROWS id, title, photo, traf, adres FROM `".PREFIX."_communities` WHERE admin regexp '[[:<:]](id{$user_id})[[:>:]]' ORDER by `traf` DESC LIMIT {$limit_page}, {$gcount}";
                
$sql_count = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_communities` WHERE admin regexp '[[:<:]](id{$user_id})[[:>:]]'");
                
$owner['user_public_num'] = $sql_count['cnt'];
            } else {
                
$sql_sort = "SELECT SQL_CALC_FOUND_ROWS tb1.friend_id, tb2.id, title, photo, traf, adres FROM `".PREFIX."_friends` tb1, `".PREFIX."_communities` tb2 WHERE tb1.user_id = '{$user_id}' AND tb1.friend_id = tb2.id AND tb1.subscriptions = 2 ORDER by `traf` DESC LIMIT {$limit_page}, {$gcount}";
                
$tpl->load_template('groups/head.tpl');
            }

            if(
$owner['user_public_num']){
                
$tpl->set('{num}', $owner['user_public_num'].' '.gram_record($owner['user_public_num'], 'groups'));
                
$tpl->set('[yes]', '');
                
$tpl->set('[/yes]', '');
                
$tpl->set_block("'\[no\](.*?)\[/no\]'si","");
            } else {
                
$tpl->set('[no]', '');
                
$tpl->set('[/no]', '');
                
$tpl->set_block("'\[yes\](.*?)\[/yes\]'si","");
            }
            
$tpl->compile('info');

            if(
$owner['user_public_num']){

                
$sql_ = $db->super_query($sql_sort, 1);

                
$tpl->load_template('groups/group.tpl');
                foreach(
$sql_ as $row){
                    
$tpl->set('{id}', $row['id']);
                    if(
$row['adres']) $tpl->set('{adres}', $row['adres']);
                    else 
$tpl->set('{adres}', 'public'.$row['id']);

                    
$tpl->set('{name}', stripslashes($row['title']));
                    
$tpl->set('{traf}', $row['traf'].' '.gram_record($row['traf'], 'groups_users'));

                    if(
$act != 'admin'){
                        
$tpl->set('[admin]', '');
                        
$tpl->set('[/admin]', '');
                    } else
                        
$tpl->set_block("'\[admin\](.*?)\[/admin\]'si","");

                    if(
$row['photo'])
                        
$tpl->set('{photo}', "/uploads/groups/{$row['id']}/100_{$row['photo']}");
                    else
                        
$tpl->set('{photo}', "{theme}/images/no_ava_groups_100.gif");

                    
$tpl->compile('content');
                }

                if(
$act == 'admin') $admn_act = 'act=admin&';

                
navigation($gcount, $owner['user_public_num'], 'groups?'.$admn_act.'page=');

            }
    }
    
$tpl->clear();
    
$db->free();
} else {
    
$user_speedbar = $lang['no_infooo'];
    
msgbox('', $lang['not_logged'], 'info');
}
?>
Онлайн: 1
Реклама