Вход Регистрация
Файл: modules/profile/friends.php
Строк: 143
<?php
if(!defined('SHCMS_ENGINE')) {
    die( 
"Неправильное действие" );
}
if(isset(
$id_user)) {
//Выводим данные всех друзей и пользователей по значениям $id and $id_user
$all_friend $db->get_array($db->query("SELECT * FROM `friends` WHERE (`id_user` = '".$id."' AND `id_friends` = '".$id_user."') OR (`id_user` = '".$id_user."' AND `id_friends` = '".$id."')"));

switch(
$do):
    
    
/*
     * Добавление пользователя в друзья
    */
    
case 'new_friend':

        
//Если существует $ID  то выполнит следующие действие
    
if(isset($_GET['id']) and is_numeric($_GET['id'])) {
        
//Из $_GET преобразуем обычную $ 
        
$id = (int) $_GET['id'];
                    
//Если захотите добавить самого себя то выведит сразу ошибку
                    
if($id_user == $id) {
                        echo 
engine::error(Lang::__('Данного пользователя запрещено добавить в друзья'));
                        echo 
engine::home(array(Lang::__('Назад'),'?id='.$id.''));
                        exit;                    
                    }
                    
            
//Проверка  прошло ли время с момента удаление друга
            
$add_frend $db->get_array($db->query("SELECT * FROM `friends_flood` WHERE `id_friends` = '".$id."' AND `id_user` = '".$id_user."'"));
                        
            
//Выполнение функции со временем это обязательный параметр советую не убирать для точного добавления выбранного пользователя
            
if(isset($add_frend['time'])) {
                if(
$add_frend['time'] > time()) {
                    echo 
engine::error(Lang::__('В течение 10 минут вы не сможете добавить только что удаленного пользователя в друзья'));
                    echo 
engine::home(array(Lang::__('Назад'),'?id='.$id.''));
                    exit;
                }
            }    
            
            
//Проверка введенного $id
            
$insert $db->get_array($db->query("SELECT * FROM `users` WHERE `id` = '".$id."'"));
                    
                    
//Проверка добавлен ли пользователь в друзья
                    
$select  $db->get_array($db->query("SELECT * FROM `friends` WHERE `id_friends` = '".$id."' AND `id_user` = '".$id_user."'"));
                        
                        
//Проверка если пользователь уже иммется в друзьях то выводит ошибку ниже
                        
if($select['id_friends'] == $id) {
                            echo 
engine::error(Lang::__('Произошла ошибка'),Lang::__('Пользователь уже у вас друзьях'));
                            echo 
engine::home(array(Lang::__('Назад'),'?id='.$id.''));
                            exit;
                        }
                        
                
//Если под введенным $id отсутствует пользователь то выведит ошибку ниже указанный
                
if($id != $insert['id']) {
                    
engine::error(Lang::__('Произошли ошибки при удаление'),Lang::__('Пользователь не найден')); //Ошибка
                    
echo engine::home(array(Lang::__('Назад'),'friends.php')); //Переадресация 
                    
exit; //Закрываем доступ 
                
}
                            
//Проверяем если пользователь не в друзьях то выводим ему кнопку добавить в друзья
                    
if($all_friend['id_friends'] != $id and $id_user != $id) {
                        if(
$all_friend['approved'] == 0) {
                            
//Если же все правильно введено и нет ошибок выполняется добавления в друзья пользователя с обеих сторон 
                                
$db->query("INSERT INTO `friends` (`id_user`,`id_friends`,`approved`,`time`) VALUES ('".$id_user."','".$id."','0','".time()."')");
                                
header("Location: /modules/profile.php?id=$id"); //Переадресует на переходящую страницу
                        
}        
                    }    


    }
    break;
    
    
/*
     * Удаление пользователя из друзей
    */
    
    
case 'delete_friend':
        
//Если существует $ID  то выполнит следующие действие
    
if(isset($_GET['id']) and is_numeric($_GET['id'])) {
        
//Из $_GET преобразуем обычную $ 
        
$id = (int) $_GET['id'];
        
            
//Проверка введенного $id
            
$delete $db->get_array($db->query("SELECT * FROM `friends` WHERE `id_friends` = '".$id."' AND `id_user` = '".$id_user."'"));
                
                
//Если под введенным $id отсутствует пользователь то выведит ошибку ниже указанный
                
if($id != $delete['id_friends']) {
                    
engine::error(Lang::__('Произошли ошибки при удаление'),Lang::__('Пользователь не найден у вас в друзьях')); //Ошибка
                    
echo engine::home(array(Lang::__('Назад'),'friends.php')); //Переадресация 
                    
exit; //Закрываем доступ 
                
}
                if(
$all_friend['id_friends'] == $id and $all_friend['id_user'] == $id_user) {
                    if(
$all_friend['approved'] == 0) { 
                        echo 
engine::error(Lang::__('Заявка уже отправлено Дождитесь ответа'));
                        exit;
                    }
                }    
                        
//Если же все правильно введено и нет ошибок выполняется удаление пользователя с обеих сторон 
                            
$db->query("DELETE FROM `friends` WHERE `id_user` = '".$id_user."' AND `id_friends` = '".$id."' OR `id_user` = '".$id."' AND `id_friends` = '".$id_user."'");
                    
                        
//Удаленного пользователя и друга добавим в список запоминаний
                            
$db->query("DELETE FROM `friends_flood` WHERE `id_user` = '".$id_user."' AND `id_friends` = '".$id."' OR `id_user` = '".$id."' AND `id_friends` = '".$id_user."'");
                            
$db->query("INSERT INTO `friends_flood` (`id_user`,`id_friends`,`time`) VALUES ('".$id_user."','".$id."','".(time()+600)."')");
                                
header("Location: /modules/profile.php?id=$id"); //Переадресует на переходящую страницу
                    
                
    
}
    
    break;

endswitch;


    echo 
'<div class="privice">';
        
        
//Проверяем если пользователь не в друзьях то выводим ему кнопку добавить в друзья
        
if($all_friend['id_friends'] != $id and $id_user != $id) {
            if(
$all_friend['approved'] == 0) {
            echo 
'<a href="?do=new_friend&id='.$id.'" class="btn btn-small"><img src="/engine/template/icons/user_add.png">&nbsp;'.Lang::__('Добавить в друзья').'</a>&nbsp;';
            }else {
                        echo 
'<a href="?do=delete_friend&id='.$id.'" class="btn btn-small"><img src="/engine/template/icons/user_add.png">&nbsp;'.Lang::__('Удалить из друзей').'</a>&nbsp;';
            }
        
//Если пользователь в друзьях и вы заходите удалить его то нажмите на Удалить из друзей
        
}elseif($all_friend['id_friends'] == $id and $all_friend['id_user'] == $id_user) {
            if(
$all_friend['approved'] == 0) {
                echo 
'Заявка на дружбу отправлена&nbsp;';
            }else {   
              echo 
'<a href="?do=delete_friend&id='.$id.'" class="btn btn-small"><img src="/engine/template/icons/user_add.png">&nbsp;'.Lang::__('Удалить из друзей').'</a>&nbsp;';
            }
        }
        
//Проверяем если пользователь является подходящий id с вашим то выведит ошибку
        
if($id_user != $id) {
            
//Отправка личного сообщения пользователю
            
echo '<a href="/modules/messaging.php?act=newsend&id='.$id.'" class="btn btn-small"><img src="/engine/template/icons/email_open1.png">&nbsp;'.Lang::__('Отправить в ЛС').'</a>&nbsp;';
        }
    echo 
'</div>';
}
Онлайн: 1
Реклама