Вход Регистрация
Файл: system/modules/support.php
Строк: 187
<?php
/* 
    Appointment: Помощь
    File: support.php 
 
*/
if(!defined('MOZG'))
    die(
'Hacking attempt!');

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

    if(
$logged)
    {
    
$act $_GET['act'];
    
$user_id $user_info['user_id'];
    
$metatags['title'] = $lang['support_title'];

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

    switch(
$act){
        
        
//################### Страница создание нового вопроса  ###################//
        
case "new":
            
$tpl->load_template('support/new.tpl');
            
$tpl->set('{uid}'$user_id);
            
$tpl->compile('content');
        break;
        
        
//################### Отправка нового вопроса  ###################//
        
case "send":
            
NoAjaxQuery();
            
$title ajax_utf8(textFilter($_POST['title']), falsetrue);
            
$question ajax_utf8(textFilter($_POST['question']));
            
$limitTime $server_time-3600;
            
$rowLast $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_support` WHERE сdate > '{$limitTime}'");
            if(!
$rowLast['cnt'] AND isset($title) AND !empty($title) AND isset($question) AND !empty($question) AND $user_info['user_group'] != 4){
                
$question preg_replace('`(http(?:s)?://w+[^s[]<]+)`i''<!--link:$1--><a href="$1" target="_blank">$1</a><!--/link-->'$question);
                
$db->query("INSERT INTO `".PREFIX."_support` SET title = '{$title}', question = '{$question}', suser_id = '{$user_id}', sfor_user_id = '{$user_id}', sdate = '{$server_time}', сdate = '{$server_time}'");
                
$dbid $db->insert_id();
                
$row $db->super_query("SELECT user_search_pref, user_photo FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'");
                
$tpl->load_template('support/show.tpl');
                
$tpl->set('{title}'stripslashes($title));
                
$tpl->set('{question}'stripslashes($question));
                
$tpl->set('{qid}'$dbid);
                
megaDate($server_time);
                
$tpl->set('{status}''Вопрос ожидает обработки.');
                
$tpl->set('{name}'$row['user_search_pref']);
                
$tpl->set('{uid}'$user_id);
                if(
$row['user_photo'])
                    
$tpl->set('{ava}''/uploads/users/'.$user_id.'/50_'.$row['user_photo']);
                else
                    
$tpl->set('{ava}''{theme}/images/no_ava_50.png');
                
$tpl->set('{answers}''');
                
$tpl->compile('content');
                
AjaxTpl();
                echo 
'r|x'.$dbid;
            } else
                echo 
'limit';
            
            die();
        break;
        
        
//################### Удаление вопроса  ###################//
        
case "delet":
            
NoAjaxQuery();
            
$qid intval($_POST['qid']);
            
$row $db->super_query("SELECT suser_id FROM `".PREFIX."_support` WHERE id = '{$qid}'");
            if(
$row['suser_id'] == $user_id OR $user_info['user_group'] == 4){
                
$db->query("DELETE FROM `".PREFIX."_support` WHERE id = '{$qid}'");
                
$db->query("DELETE FROM `".PREFIX."_support_answers` WHERE qid = '{$qid}'");
            }
            die();
        break;
        
        
//################### Удаление Ответа  ###################//
        
case "delet_answer":
            
NoAjaxQuery();
            
$id intval($_POST['id']);
            
$row $db->super_query("SELECT auser_id FROM `".PREFIX."_support_answers` WHERE id = '{$id}'");
            if(
$row['auser_id'] == $user_id OR $user_info['user_group'] == 4)
                
$db->query("DELETE FROM `".PREFIX."_support_answers` WHERE id = '{$id}'");

            die();
        break;
        
        
//################### Закрытие вопроса  ###################//
        
case "close":
            
NoAjaxQuery();
            
$qid intval($_POST['qid']);
            if(
$user_info['user_group'] == 4){
                
$row $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_support` WHERE id = '{$qid}'");
                if(
$row['cnt'])
                    
$db->query("UPDATE `".PREFIX."_support` SET sfor_user_id = 0 WHERE id = '{$qid}'");
            }
            die();
        break;
        
        
//################### Отправка ответа ###################//
        
case "answer":
            
NoAjaxQuery();
            
$qid intval($_POST['qid']);
            
$answer ajax_utf8(textFilter($_POST['answer']));
            
$check $db->super_query("SELECT suser_id FROM `".PREFIX."_support` WHERE id = '{$qid}'");
            if(
$check['suser_id'] == $user_id OR $user_info['user_group'] == AND isset($answer) AND !empty($answer)){
                if(
$user_info['user_group'] == 4){
                    
$auser_id 0;
                    
$db->query("UPDATE `".PREFIX."_users` SET user_support = user_support+1 WHERE user_id = '{$check['suser_id']}'");
                } else
                    
$auser_id $user_id;
                    
                
$answer preg_replace('`(http(?:s)?://w+[^s[]<]+)`i''<!--link:$1--><a href="$1" target="_blank">$1</a><!--/link-->'$answer);
                
                
$db->query("INSERT INTO `".PREFIX."_support_answers` SET qid = '{$qid}', auser_id = '{$auser_id}', adate = '{$server_time}', answer = '{$answer}'");
                
$db->query("UPDATE `".PREFIX."_support` SET sfor_user_id = '{$auser_id}', sdate = '{$server_time}' WHERE id = '{$qid}'");
                
                
$row $db->super_query("SELECT user_search_pref, user_photo FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'");
                
                
$tpl->load_template('support/answer.tpl');
                if(!
$auser_id){
                    
$tpl->set('{name}''Агент поддержки');
                    
$tpl->set('{ava}''{theme}/images/support.png');
                    
$tpl->set_block("'\[no-agent\](.*?)\[/no-agent\]'si","");
                } else {
                    
$tpl->set('{name}'$row['user_search_pref']);
                    if(
$row['user_photo'])
                        
$tpl->set('{ava}''/uploads/users/'.$user_id.'/50_'.$row['user_photo']);
                    else
                        
$tpl->set('{ava}''{theme}/images/no_ava_50.png');
                            
                    
$tpl->set('[no-agent]''');
                    
$tpl->set('[/no-agent]''');
                }
                    
                if(
$auser_id == $user_id OR $user_info['user_group'] == 4){
                    
$tpl->set('[owner]''');
                    
$tpl->set('[/owner]''');
                } else
                    
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");
                    
                
$tpl->set('{uid}'$user_id);
                
$tpl->set('{answer}'stripslashes($answer));
                
megaDate($server_time);
                
$tpl->compile('content');
                
AjaxTpl();
            }
            die();
        break;
        
        
//################### Просмотр вопроса ###################//
        
case "show":
            
$qid intval($_GET['qid']);

            if(
$user_info['user_group'] == 4)
                
$sql_where "";
            else
                
$sql_where "AND tb1.suser_id = '{$user_id}'";

            
$row $db->super_query("SELECT tb1.id, title, question, sdate, sfor_user_id, suser_id, tb2.user_search_pref, user_photo FROM `".PREFIX."_support` tb1, `".PREFIX."_users` tb2 WHERE tb1.id = '{$qid}' AND tb1.suser_id = tb2.user_id {$sql_where}");
            if(
$row){
                
//Выводим ответы
                
$sql_answer $db->super_query("SELECT SQL_CALC_FOUND_ROWS id, adate, answer, auser_id FROM `".PREFIX."_support_answers` WHERE qid = '{$qid}' ORDER by `adate` ASC LIMIT 0, 100"1);
                
                
$tpl->load_template('support/answer.tpl');
                foreach(
$sql_answer as $row_answer){
                    if(!
$row_answer['auser_id']){
                        
$tpl->set('{name}''Агент поддержки');
                        
$tpl->set('{ava}''{theme}/images/support.png');
                        
$tpl->set_block("'\[no-agent\](.*?)\[/no-agent\]'si","");
                    } else {
                        
$tpl->set('{name}'$row['user_search_pref']);
                        if(
$row['user_photo'])
                            
$tpl->set('{ava}''/uploads/users/'.$row['suser_id'].'/50_'.$row['user_photo']);
                        else
                            
$tpl->set('{ava}''{theme}/images/no_ava_50.png');
                            
                        
$tpl->set('[no-agent]''');
                        
$tpl->set('[/no-agent]''');
                    }
                    
                    if(
$row_answer['auser_id'] == $user_id OR $user_info['user_group'] == 4){
                        
$tpl->set('[owner]''');
                        
$tpl->set('[/owner]''');
                    } else
                        
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");
                    
                    
$tpl->set('{id}'$row_answer['id']);
                    
$tpl->set('{uid}'$user_id);
                    
$tpl->set('{answer}'stripslashes($row_answer['answer']));
                    
megaDate($row_answer['adate']);
                    
$tpl->compile('answers');
                }
                
                
$tpl->load_template('support/show.tpl');
                
$tpl->set('{title}'stripslashes($row['title']));
                
$tpl->set('{question}'stripslashes($row['question']));
                
$tpl->set('{qid}'$qid);
                
megaDate($row['sdate']);
                
                if(
$row['sfor_user_id'] == $row['suser_id'])
                    
$tpl->set('{status}''Вопрос ожидает обработки.');
                else
                    
$tpl->set('{status}''Есть ответ.');
                
                
$tpl->set('{name}'$row['user_search_pref']);
                
                if(
$user_info['user_group'] == 4)
                    
$tpl->set('{uid}'$row['suser_id']);
                else
                    
$tpl->set('{uid}'$user_id);
                
                if(
$row['user_photo'])
                    
$tpl->set('{ava}''/uploads/users/'.$row['suser_id'].'/50_'.$row['user_photo']);
                else
                    
$tpl->set('{ava}''{theme}/images/no_ava_50.png');
                
                
$tpl->set('{answers}'$tpl->result['answers']);
                
$tpl->compile('content');
            } else {
                
$speedbar $lang['error'];
                
msgbox(''$lang['support_no_quest'], 'info');
            }
        break;
            
            
//################### Просмотр всех вопросов ###################//
            
default:
                if(
$user_info['user_support'] AND $user_info['user_group'] != 4)
                    
$db->query("UPDATE `".PREFIX."_users` SET user_support = 0 WHERE user_id = '{$user_id}'");
                
                if(
$user_info['user_group'] == 4){
                    
$sql_where "ORDER by `sfor_user_id` DESC";
                    
$sql_where_cnt "";
                } else {
                    
$sql_where "AND tb1.suser_id = '{$user_id}' ORDER by `sdate` DESC";
                    
$sql_where_cnt "WHERE suser_id = '{$user_id}'";
                }
                
                
$sql_ $db->super_query("SELECT SQL_CALC_FOUND_ROWS tb1.id, title, suser_id, sfor_user_id, sdate, tb2.user_photo, user_search_pref FROM `".PREFIX."_support` tb1, `".PREFIX."_users` tb2 WHERE tb1.suser_id = tb2.user_id {$sql_where} LIMIT {$limit_page}{$gcount}"1);
                
                if(
$sql_)
                    
$count $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_support` {$sql_where_cnt}");
                    
                
$tpl->load_template('support/head.tpl');
                if(
$sql_)
                    if(
$user_info['user_group'] == 4)
                        
$tpl->set('{cnt}'$count['cnt'].' '.gram_record($count['cnt'], 'questions'));
                    else
                        
$tpl->set('{cnt}''Вы задали '.$count['cnt'].' '.gram_record($count['cnt'], 'questions'));
                else
                    
$tpl->set('{cnt}''');

                
$tpl->compile('info');
                
                if(
$sql_){
                    
$tpl->load_template('support/question.tpl');
                    foreach(
$sql_ as $row){
                        
$tpl->set('{title}'stripslashes($row['title']));
                        
megaDate($row['sdate']);
                        if(
$row['sfor_user_id'] == $row['suser_id'] OR $user_info['user_group'] == 4){
                            if(
$row['sfor_user_id'] == $row['suser_id'])
                                
$tpl->set('{status}''Вопрос ожидает обработки.');
                            else
                                
$tpl->set('{status}''Есть ответ.');
                            
$tpl->set('{name}'$row['user_search_pref']);
                            
$tpl->set('{answer}''');
                            if(
$row['user_photo'])
                                
$tpl->set('{ava}''/uploads/users/'.$row['suser_id'].'/50_'.$row['user_photo']);
                            else
                                
$tpl->set('{ava}''{theme}/images/no_ava_50.png');
                        } else {
                            
$tpl->set('{name}''Агент поддержки');
                            
$tpl->set('{status}''Есть ответ.');
                            
$tpl->set('{ava}''{theme}/images/support.png');
                            
$tpl->set('{answer}''ответил');
                        }
                        
$tpl->set('{qid}'$row['id']);
                        
$tpl->compile('content');
                    }
                    
navigation($gcount$count['cnt'], '/support?page=');
                } else
                    if(
$user_info['user_group'] == 4)
                        
msgbox(''$lang['support_no_quest3'], 'info_2');
                    else
                        
msgbox(''$lang['support_no_quest2'], 'info_2');
    }
    
$tpl->clear();
    
$db->free();
    }
    else 
msgbox(null"<b>Войдите в систему для того, чтобы задать вопрос</b>""info_red");
?>
Онлайн: 1
Реклама