Файл: adm_panel/support.php
Строк: 303
<?php
if (!defined('H')) {
define('H', $_SERVER['DOCUMENT_ROOT'] . '/');
}
include_once H . 'sys/inc/start.php';
include_once H . 'sys/inc/sess.php';
include_once H . 'sys/inc/settings.php';
include_once H . 'sys/inc/db_connect.php';
include_once H . 'sys/inc/ipua.php';
include_once H . 'sys/inc/fnc.php';
include_once H . 'sys/inc/adm_check.php';
include_once H . 'sys/inc/user.php';
user_access('license_support', null, '/');
adm_check();
$set['title'] = lang('Служба поддержки');
include_once H . 'sys/inc/thead.php';
title() . aut();
echo '<div class="err">Не проверено</div>'; // ???
include_once H . 'sys/inc/api_config.php';
if ($set['license_mod'] == 1) {
if (!is_file(H.'sys/ini/license_key.ini')) {
msg('Отсутствует файл с ключем');
echo "<div class='foot'>";
echo "« <a href='".APANEL."/'>".lang('В админку')."</a><br />";
echo "</div>";
include_once H.'sys/inc/tfoot.php';
exit;
}
$license_key = parse_ini_file(H . 'sys/ini/license_key.ini');
if ($license_key['key'] == null) {
msg('Лицензия еще не активирована');
echo "<div class='foot'>";
echo "« <a href='".APANEL."/'>".lang('В админку')."</a><br />";
echo "« <a href='?activator'>".lang('Активация лицензии')."</a><br />";
echo "</div>";
include_once H.'sys/inc/tfoot.php';
exit;
}
if (isset($_GET['delete'])) {
$iddata = [$_GET['delete'], 1];
$post = $db->query('SELECT * FROM `license_support` WHERE `id`=?i LIMIT ?i', $iddata)->row();
if ($post['id'] > 0) {
$db->query('DELETE FROM `license_support` WHERE `id`=?i LIMIT ?i', $iddata);
$_SESSION['message'] = lang('Вопрос удален');
exit(header('Location: ?'));
} else {
$_SESSION['message'] = lang('Вопрос не найден');
exit(header('Location: ?'));
}
}
if (isset($_GET['edit'])) {
$_SESSION['message'] = lang('В разработке');
exit(header('Location: ?'));
}
if (isset($_GET['tiket_add'])) {
//$post = $db->query('SELECT * FROM `license_support` WHERE `id`=?i LIMIT ?i', [$_GET['tiket_add'], 1])->row();
//$count_tiket = $db->query('SELECT COUNT(*) FROM `license_support` WHERE `id`=?i', [$post['id']])->el();
if (!$post = $db->query('SELECT * FROM `license_support` WHERE `id`=?i LIMIT ?i', [$_GET['tiket_add'], 1])->row()) {
$_SESSION['message'] = lang('Ошибка ,такого вопроса не существует или он удален');
exit(header('Location: ?'));
}
$post['key'] = base64_encode($post['key']);
$post['name'] = base64_encode($post['name']);
$post['msg'] = base64_encode($post['msg']);
$post['type'] = base64_encode($post['type']);
$license_key = parse_ini_file(H.'sys/ini/license_key.ini');
$key_license = $license_key['key'];
$key_license = base64_encode($key_license);
$arr = @json_decode(file_get_contents(API_SUPPORT_URL_I."?status={$post['status']}&key={$post['key']}&name={$post['name']}&msg={$post['msg']}&type={$post['type']}&key_license={$key_license}&site={$_SERVER['HTTP_HOST']}"), true);
if ($arr != null) {
foreach ($arr as $row) {
if ($row['error'] != null) {
msg(output_text(lang($row['error'])));
} else {
$db->query('UPDATE `license_support` SET `act`= "1" WHERE `id` =?i', [$post['id']]);
$_SESSION['message'] = lang('Успешно');
exit(header('Location: ?'));
}
}
}
}
//if (isset($_GET['license_support']))
//{
// $types = ' WHERE `type`="' . trim($_GET['license_support']) . '"';
//}
//else
//{
// $types = '';
//}
if (isset($_GET['new_tiket'])) {
if (isset($_POST['new_tiket'])) {
$name = trim($_POST['name']);
$opis = trim($_POST['opis']);
$name = trim($_POST['name']);
$type = trim($_POST['type']);
$key = passgen(32);
$status = trim($_POST['status']);
if (strlen2($name) > 999) {
$err[] = lang('Название слишком длинное');
}
if (strlen2($name) < 3 or strlen2($name) == null) {
$err[] = lang('Короткое Название');
}
if (strlen2($opis) > 999) {
$err[] = lang('Описание слишком длинное');
}
if (strlen2($opis) < 3 or strlen2($opis) == null) {
$err[] = lang('Короткое Описание');
}
$if = count::query('license_support', " `name` = '". $name ."'");
if ($if >= 1) {
$err[] = lang('Вы такой вопрос уже задавали');
}
if (!isset($err)) {
query("INSERT INTO `license_support` (`time` , `type` , `name` , `msg` , `key`,`status`)VALUES ( '".time()."', '$type', '$name', '$opis', '$key', '$status')");
$_SESSION['message'] = lang('Вопрос Создан');
exit(header("Location: ?"));
}
err();
}
echo "<div class='p_m'><form method='post' action=''>";
echo lang('Тема вопроса').":<br /> <input type='text' name='name' value='' /><br />";
echo lang('Вопрос').":<br /> <textarea name='opis'></textarea><br />";
echo "<select name='type'>";
echo "<option value='common'>".lang('Категория вопроса')." </option>";
echo "<option value='common'>".lang('Общие вопросы')."</option>";
echo "<option value='bags'>".lang('Баг или ошибка')."</option>";
echo "<option value='plugins_new'>".lang('Заказ модуля')."</option>";
echo "<option value='new_id'>".lang('Предложение по развитию')."</option>";
echo "<option value='admin'>".lang('Разработчикам')."</option>";
echo "</select><br />";
echo "<select name='status'>";
echo "<option value='0'>".lang('Важность')." </option>";
echo "<option value='1'>".lang('Низкая')."</option>";
echo "<option value='2'>".lang('Средняя')."</option>";
echo "<option value='3'>".lang('Высокая')."</option>";
echo "</select><br />";
echo lang('Отправляя запрос вы соглашаетесь с')." <a href='".FIERA_URL."/license/rules'><b>".lang('правилами')."</b></a>
".lang('И рекомендациями тех. поддержки')."<br />";
echo "<br /><input value='".lang('Сохранить')."' name='new_tiket' type='submit' />";
echo "<a href='?' class='adm_panel_span'>".lang('Отмена')."</a> </form></div>";
include_once H.'sys/inc/tfoot.php';
exit;
}
if (isset($_GET['license_support'])) {
$types = ' WHERE `type`=?';
$dtCnt = [$_GET['license_support']];
} else {
$types = '';
$dtCnt = [];
}
$k_post = $db->query('SELECT COUNT(*) FROM `license_support`'.$types.';', [$dtCnt])->el();
$k_page = k_page($k_post, $set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];
echo '<div style="text-align:center;" class="foot">'.lang('История вопросов').' <br/>
<a href="?license_support=common">'.lang('Общие вопросы').'</a> ::
<a href="?license_support=bags">'.lang('Баг или ошибка').'</a> ::
<a href="?license_support=plugins_new">'.lang('Заказ модуля').'</a> ::
<a href="?license_support=new_id">'.lang('Предложение по развитию').' </a> ::
<a href="?license_support=admin">'.lang('Разработчикам').' </a> ::
<a href="?">'.lang('Все').'</a><br/>
<a href="?new_tiket">'.lang('Задать вопрос вопрос в тех. поддержку').'</a>
</div>
';
if ($k_post == 0) {
msg(lang('Вопросов нету'));
}
if (isset($_GET['update_t'])) {
$key = $_GET['update_t'];
$arr = @json_decode(file_get_contents(API_SUPPORT_URL.'?post_update&key_license='.$license_key['key'] .'&msg_key='.$_GET['update_t'].'&site='.$_SERVER['HTTP_HOST']), true);
foreach ($arr as $otvet) {
if ($otvet['error'] != null) {
msg($otvet['error']);
} else {
$otvet['otvet'] = base64_decode($otvet['otvet']);
$otvet['support_agent_name'] = base64_decode($otvet['support_agent_name']);
$otvet['support_agent_id_fiera'] = base64_decode($otvet['support_agent_fiera_id']);
$otvet['time_otvet'] = (int) $otvet['time_otvet'];
$otvet['support_agent_pol'] = (int) $otvet['support_agent_pol'];
if ($otvet['otvet'] != null) {
$data = [
$otvet['otvet'],
$otvet['time_otvet'],
$otvet['support_agent_pol'],
$otvet['support_agent_name'],
$otvet['support_agent_fiera_id'],
$key
];
$db->query("UPDATE `license_support`
SET `support_agent_otvet` = ?,
`time_otvet` = ?i' ,
`support_agent_pol` = ?,
`support_agent_name` = ?,
`support_agent_id_fiera` = ?i'
WHERE `key` = ?I");
} else {
$_SESSION['message'] = lang('Ответ еще не обработан');
exit(header('Location: ?'));
}
}
}
}
$p_sql = $db->query('SELECT * FROM `license_support`' . $types . ' ORDER BY id DESC LIMIT ?i, ?i', [$start, $set['p_str']]);
while ($license = $p_sql->row()) {
echo "<div class='license_fon'>" . output_text($license['name']) . " - <span class='ank_n'>(" .
vremja($license['time']) . ")</span> <hr />" . output_text($license['msg']);
$keys = $license['key'];
if ($license['act'] != 0) {
if ($license['time_otvet'] > 0) {
echo ' <hr/> '.lang('Ответ дал') .($license['support_agent_pol'] == 1 ? false : 'а').' : <a href="//dcms-fiera.ru/id'.intval($license['support_agent_id_fiera']) .'">'.output_text($license['support_agent_name']) .'</a>
<span class="ank_n">('.vremja($license['time_otvet']).')</span>
<br/><br/>';
echo output_text($license['support_agent_otvet']);
//echo ' <br/>[<a href="?update_t='.($keys).'">Обновить ответ</a>]';
echo '<br/> [<a href="?delete='.$license['id'].'">'.lang('Удалить').'</a>]<br/>';
} else {
echo '<hr/>'.lang('Ожидание ,вопрос еще не был проверен администратором Fiera');
echo '<br/> [<a href="?update_t='.($keys).'">'.lang('Проверить ответ').'</a>]';
}
} else {
echo '<hr/>'.lang('Вопрос создан,отправить его в службу поддержки');
echo '? <br/> [<a href="?tiket_add='.($license['id']).'">'.lang('Отправить').'</a>]';
echo ' [<a href="?edit='.$license['id'].'">'.lang('Редактировать').'</a>]';
echo ' [<a href="?delete='.$license['id'].'">'.lang('Удалить').'</a>]<br/>';
}
echo "</div>";
}
if ($k_page > 1) {
str("?license_support=".trim($_GET['license_support'])."&", $k_page, $page);
}
} else {
msg(lang('Сервис API FIERA отключен'));
}
echo "<div class='foot'>";
echo "«<a href='".APANEL."/'>".lang('В админку')."</a><br />";
echo "</div>";
include_once H.'sys/inc/tfoot.php';