Перейти к содержанию
CMSTOOLS.org - форум поддержки и развития CMS

Рекомендуемые сообщения

Инструкция:

1) Закинуть файлы по папкам с заменой.

 

2) В /system/inc/massaction.php над:

	//Перевод в группу пользователи 

Добавить:

//Перевод в главного агента
else if($mass_type == 25)
$db->query("UPDATE `".PREFIX."_users` SET user_group = '3' WHERE user_id = '".$user_id."'"); 

3) В этом же файле над:

//Информация о переведении в группу 

Добавить:

//Информация о переведении в группу
else if($mass_type == 25)
msgbox('Перевод в группу', 'Пользователь был переведен в группу  главной техподдержки', '?mod=users'); 

4) в /system/inc/users.php над:

	else if($row['user_real'] == 1) 

Добавить: 

		else if($row['user_group'] == 3)
		$color = 'color:black'; 

5) В этом же файле после:

<font color="green">Техподдержка</font> 

Добавить:

<font color="black">Главная Техподдержка</font> 

6) В этом же файле после:

 <option value="16">Перевести в «Техподдержка»</option> 

Добавить:

<option value="25">Перевести в «гл. Техподдержка»</option> 

7) В БД 

vii_support_answers 

создать поле со значениями  

agent_id int(11)

8)дать нужному пользователю группу 3 через phpMyAdmin

Готово!

 

 

Скачать: 

Панель главного агента.zip

  • Upvote 2
Ссылка на комментарий
Поделиться на другие сайты

А точно работает?)

сделал по твоей инструкции, только чуть-чуть заменил имена файлов.

в php по прежнему MODER_DIR

еще переделал маленько дизайн

Ссылка на комментарий
Поделиться на другие сайты

 

А точно работает?)

сделал по твоей инструкции, только чуть-чуть заменил имена файлов.

в php по прежнему MODER_DIR

еще переделал маленько дизайн

 

Хорошо. Главное что работает, ибо я не проверял тему, делал по памяти...

Ссылка на комментарий
Поделиться на другие сайты

 

 

А точно работает?)

сделал по твоей инструкции, только чуть-чуть заменил имена файлов.

в php по прежнему MODER_DIR

еще переделал маленько дизайн

 

Хорошо. Главное что работает, ибо я не проверял тему, делал по памяти...

 

мне кажется, что работает, потому что я пытался делать, но не так делал. 

Ссылка на комментарий
Поделиться на другие сайты

 

 

А точно работает?)

сделал по твоей инструкции, только чуть-чуть заменил имена файлов.

в php по прежнему MODER_DIR

еще переделал маленько дизайн

 

Хорошо. Главное что работает, ибо я не проверял тему, делал по памяти...

 

проверю завтра, отпишусь

Ссылка на комментарий
Поделиться на другие сайты

А зачем 2 раза штамповать по факту одно и тоже? просто ту тему бы дополнили...

Там по сути F.A.Q.-урок и он будет дальше наполняться по теме примера. Цель была что-бы пользователь сам прочёл, сам понял и сам сделал, а не скачал, залил и потом обратно задавал вопросы. Ну ничего, кто захочет - тот научиться...

Ссылка на комментарий
Поделиться на другие сайты

 

А зачем 2 раза штамповать по факту одно и тоже? просто ту тему бы дополнили...

Там по сути F.A.Q.-урок и он будет дальше наполняться по теме примера. Цель была что-бы пользователь сам прочёл, сам понял и сам сделал, а не скачал, залил и потом обратно задавал вопросы. Ну ничего, кто захочет - тот научиться...

 

и откуда у тебя такой словарный запас?

Ссылка на комментарий
Поделиться на другие сайты

 

 

А зачем 2 раза штамповать по факту одно и тоже? просто ту тему бы дополнили...

Там по сути F.A.Q.-урок и он будет дальше наполняться по теме примера. Цель была что-бы пользователь сам прочёл, сам понял и сам сделал, а не скачал, залил и потом обратно задавал вопросы. Ну ничего, кто захочет - тот научиться...

 

и откуда у тебя такой словарный запас?

 

Даже и сам не знаю. Это скорей как учиться печатать на клавиатуре, сначала ты всматриваешься в каждую клавишу, проверяешь каждое слово, а со временем ловишь себя на мысли что только стоит придумать слово в голове - как оно уже напечатано)

Ссылка на комментарий
Поделиться на другие сайты

 

 

 

А зачем 2 раза штамповать по факту одно и тоже? просто ту тему бы дополнили...

Там по сути F.A.Q.-урок и он будет дальше наполняться по теме примера. Цель была что-бы пользователь сам прочёл, сам понял и сам сделал, а не скачал, залил и потом обратно задавал вопросы. Ну ничего, кто захочет - тот научиться...

 

и откуда у тебя такой словарный запас?

 

Даже и сам не знаю. Это скорей как учиться печатать на клавиатуре, сначала ты всматриваешься в каждую клавишу, проверяешь каждое слово, а со временем ловишь себя на мысли что только стоит придумать слово в голове - как оно уже напечатано)

 

понятно

Ссылка на комментарий
Поделиться на другие сайты

Всё робит кроме одного , главный агент не может отвечать на вопросы = /

ты архив скачал? закинь файлы по папкам с заменой.

Ссылка на комментарий
Поделиться на другие сайты

ты архив скачал? закинь файлы по папкам с заменой.

Всё сделал , в боковом меню заменилась ссылка на май статс , когда вбиваю ссылку /support появляется то что на скринахtUY4BpZ.pngnhUR02r.png

Ссылка на комментарий
Поделиться на другие сайты

Задавали((

Хм... Не знаю, у меня всё прекрасно. 

 

Тогда попробуй удалить всё из файла support.php из папки /system/modules/

и вставь это:

<?php
/* 
	Appointment: Помощь
	File: support.php 
	Author: f0rt1 
	Engine: Vii Engine
	Copyright: NiceWeb Group (с) 2011
	e-mail: [email protected]
	URL: http://www.niceweb.in.ua/
	ICQ: 427-825-959
	Данный код защищен авторскими правами
*/
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":
			$mobile_speedbar = 'Новый вопрос';

			$tpl->load_template('support/new.tpl');
			$tpl->set('{uid}', $user_id);
			$tpl->compile('content');
		break;
		
		//################### Отправка нового вопроса  ###################//
		case "send":
			NoAjaxQuery();
			$title = ajax_utf8(textFilter($_POST['title']), false, true);
			$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
				$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3)
				$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
				$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'] == 4  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3 AND isset($answer) AND !empty($answer)){
				if($user_info['user_group'] == 4  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
					$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}', agent_id='{$user_id}', 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}', 'Агент поддержки #'.$user_id);
					$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
					$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3)
				$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, agent_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}', 'Агент поддержки #'.$row_answer['agent_id']);
						$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
						$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3)
					$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
					$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3)
						$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
							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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3)
						msgbox('', $lang['support_no_quest3'], 'info_2');
					else
						msgbox('', $lang['support_no_quest2'], 'info_2');
	}
	$tpl->clear();
	$db->free();
} else {
	$user_speedbar = $lang['no_infooo'];
	msgbox('', $lang['not_logged'], 'info');
}
?>
Ссылка на комментарий
Поделиться на другие сайты

 

Хм... Не знаю, у меня всё прекрасно. 

 

Тогда попробуй удалить всё из файла support.php из папки /system/modules/

и вставь это:

<?php
/* 
	Appointment: Помощь
	File: support.php 
	Author: f0rt1 
	Engine: Vii Engine
	Copyright: NiceWeb Group (с) 2011
	e-mail: [email protected]
	URL: http://www.niceweb.in.ua/
	ICQ: 427-825-959
	Данный код защищен авторскими правами
*/
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":
			$mobile_speedbar = 'Новый вопрос';

			$tpl->load_template('support/new.tpl');
			$tpl->set('{uid}', $user_id);
			$tpl->compile('content');
		break;
		
		//################### Отправка нового вопроса  ###################//
		case "send":
			NoAjaxQuery();
			$title = ajax_utf8(textFilter($_POST['title']), false, true);
			$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
				$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3)
				$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
				$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'] == 4  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3 AND isset($answer) AND !empty($answer)){
				if($user_info['user_group'] == 4  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
					$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}', agent_id='{$user_id}', 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}', 'Агент поддержки #'.$user_id);
					$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
					$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3)
				$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, agent_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}', 'Агент поддержки #'.$row_answer['agent_id']);
						$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
						$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3)
					$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
					$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3)
						$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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3){
							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  OR $user_info['user_group'] ==1  OR $user_info['user_group'] ==3)
						msgbox('', $lang['support_no_quest3'], 'info_2');
					else
						msgbox('', $lang['support_no_quest2'], 'info_2');
	}
	$tpl->clear();
	$db->free();
} else {
	$user_speedbar = $lang['no_infooo'];
	msgbox('', $lang['not_logged'], 'info');
}
?>

 

Стало получше , теперь я вижу вопросы от пользователей , но не вижу статуса : есть ответ , ожидает ответа . И когда нажимаю на сам вопрос появляется этот текст "Unknown column 'agent_id' in 'field list' Ошибка сервера, попробуйте обновить страницу позже."

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Стало получше , теперь я вижу вопросы от пользователей , но не вижу статуса : есть ответ , ожидает ответа . И когда нажимаю на сам вопрос появляется этот текст "Unknown column 'agent_id' in 'field list' Ошибка сервера, попробуйте обновить страницу позже."

Мой косяк. 

В базе найди  vii_support_answers и создай значение agent_id int(11)

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...