Файл: 4wx.ru/scripts/admin/services.php
Строк: 284
<?php
include_once '../../sys/fnc.php';
/* ---- */
if (!isset($user) || $user->position != 'admin') {
header('location: /');
exit;
}
/* ---- */
$title = 'Услуги';
include_once '../../sys/head.php';
$dir['id'] = "0";
$dir['id_dir'] = "0";
if (isset($_GET['id']) && intval($_GET['id']) != 0) {
$dir = mysql_fetch_assoc(mysql_query("SELECT * FROM `services_dir` WHERE `id` = '". intval($_GET['id']) ."' LIMIT 1"));
}
/*
===========================
Админ управление
===========================
*/
switch(isset($_GET['act'])?htmlspecialchars($_GET['act']):false) {
case 'add_dir':
if (!isset($_GET['id']) || isset($_GET['id']) && intval($_GET['id']) != 0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `services_dir` WHERE `id` = '". intval($_GET['id']) ."'"), 0) == 0) {
header("location: /servicesADM");
exit;
}
$dir['id'] = "0";
$dir['id_dir'] = "0";
if (isset($_GET['id']) && intval($_GET['id']) != 0) {
$dir = mysql_fetch_assoc(mysql_query("SELECT * FROM `services_dir` WHERE `id` = '". intval($_GET['id']) ."' LIMIT 1"));
}
$error = false;
$errort = '';
if (isset($_POST['submit'])) {
$name = mysql_real_escape_string($_POST['name']);
if (empty($name)) {
$error = true;
$errort .= '<div class="err">Вы не ввели название</div>';
} elseif(strlen($name) > 50) {
$error = true;
$errort .= '<div class="err">Большое название</div>';
}
mysql_query("INSERT INTO `services_dir` (`id`, `name`) VALUES ('". $dir['id'] ."', '". $name ."')");
header("location: /servicesADM?dir=". $dir['id']);
}
echo $errort;
echo '<form method="post" class="post">
Название:<br/><input type="text" name="name"><br>
<input type="submit" name="submit" value="Добавить"><br>
</form>
<div class="post"><a href="/servicesADM?dir='. $dir['id'] .'">Назад</a></div>';
break;
case 'del_dir':
if (!isset($_GET['id']) || isset($_GET['id']) && intval($_GET['id']) != 0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `services_dir` WHERE `id` = '". intval($_GET['id']) ."'"), 0) == 0) {
header('location: /servicesADM');
exit;
}
$dir['id'] = "0";
$dir['id_dir'] = "0";
if (isset($_GET['id']) && intval($_GET['id']) != 0) {
$dir = mysql_fetch_assoc(mysql_query("SELECT * FROM `services_dir` WHERE `id` = '". intval($_GET['id']) ."'"));
}
$post = mysql_fetch_assoc(mysql_query("SELECT * FROM `services_orders` WHERE `id_dir` = '". $dir['id'] ."'"));
if (isset($_POST['yes'])) {
mysql_query("DELETE FROM `services_dir` WHERE `id` = '". $dir['id'] ."'");
mysql_query("DELETE FROM `services_orders` WHERE `id_dir` = '". $dir['id'] ."'");
header('Location: /servicesADM');
exit;
}
echo '
<form method="post"><div class="post">
Вы уверены что хотите удалить эту услугу со всеми файлами и папками (если они существуют) которые находятся в этой папке?<br>
<input type="submit" name="yes" value="Да" /> <a href="/servicesADM?dir='. $dir['id'] .'">Нет</a>
</div></form>';
include_once '../../sys/foot.php';
break;
/* -- */
case 'add':
if (!isset($_GET['id']) || isset($_GET['id']) && intval($_GET['id']) != 0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `services_dir` WHERE `id` = '". intval($_GET['id']) ."'"), 0) == 0) {
header('location: /servicesADM');
exit;
}
if (isset($_GET['id']) && intval($_GET['id']) != 0) {
$dir = mysql_fetch_assoc(mysql_query("SELECT * FROM `services_dir` WHERE `id` = '". intval($_GET['id']) ."'"));
}
$error = false;
$errort = '';
if (isset($_POST['save'])) {
$name = mysql_real_escape_string($_POST['name']);
$name_preset = mysql_real_escape_string($_POST['name_preset']);
$disk = intval($_POST['disk']);
$traffic = intval($_POST['traffic']);
$domain = intval($_POST['domain']);
$sub_domains = intval($_POST['sub_domains']);
$FTP = intval($_POST['FTP']);
$installation = intval($_POST['installation']);
$price = intval($_POST['price']);
if (strlen($name) > 31) {
$error = true;
$errort .= '<div class="err">В поле "Название" превышен лимит символов.</div>';
}
if (strlen($name_preset) > 31) {
$error = true;
$errort .= '<div class="err">В поле "Название шаблона" превышен лимит символов.</div>';
}
if (!empty($price) && !preg_match('#^([0-9_])+$#ui', $price)) {
$error = true;
$errort .= '<div class="err">В поле "Цена в месяц", разрешается писать только цифры.</div>';
}
if (!empty($installation) && !preg_match('#^([0-9_])+$#ui', $installation)) {
$error = true;
$errort .= '<div class="err">В поле "Цена установки", разрешается писать только цифры.</div>';
}
if (!empty($FTP) && !preg_match('#^([0-9_])+$#ui', $FTP)) {
$error = true;
$errort .= '<div class="err">В поле "FTP-доступ", разрешается писать только цифры.</div>';
}
if (!empty($sub_domains) && !preg_match('#^([0-9_])+$#ui', $sub_domains)) {
$error = true;
$errort .= '<div class="err">В поле "Под-доменов", разрешается писать только цифры.</div>';
}
if (!empty($domain) && !preg_match('#^([0-9_])+$#ui', $domain)) {
$error = true;
$errort .= '<div class="err">В поле "Доменов", разрешается писать только цифры.</div>';
}
if (!empty($traffic) && !preg_match('#^([0-9_])+$#ui', $traffic)) {
$error = true;
$errort .= '<div class="err">В поле "Трафик", разрешается писать только цифры.</div>';
}
if (!empty($disk) && !preg_match('#^([0-9_])+$#ui', $disk)) {
$error = true;
$errort .= '<div class="err">В поле "Место на диске", разрешается писать только цифры.</div>';
}
if (strlen($name) < 1 || strlen($name_preset) < 1 || strlen($price) < 1 || strlen($traffic) < 1 || strlen($domain) < 1 || strlen($sub_domains) < 1 || strlen($FTP) < 1 || strlen($installation) < 1 || strlen($price) < 1) {
$error = true;
$errort .= '<div class="err">Все поля должны быть заполнены.</div>';
}
if (!$error) {
mysql_query("INSERT INTO `services_orders` (`name`, `name_preset`, `id_dir`, `disk`, `traffic`, `domain`, `sub_domains`, `FTP`, `installation`, `price`) values ('".$name."', '".$name_preset."', '".$dir['id']."', '".$disk."', '".$traffic."', '".$domain."', '".$sub_domains."', '".$FTP."', '".$installation."', '".$price."')");
header('Location: /servicesADM');
}
}
echo $errort;
echo "<div class='post'><form method='post'>
Название: (5-30)<br><input type='text' name='name'><br>
Название шаблона: (5-30)<br><input type='text' name='name_preset'><br>
Место на диске (mb):<br><input type='text' size='6' name='disk'><br>
Трафик:<br><input type='text' size='6' name='traffic'><br>
Доменов:<br><input type='text' size='3' name='domain'><br>
Под-доменов:<br><input type='text' size='3' name='sub_domains'><br>
FTP-доступ:<br><input type='text' size='3' name='FTP'><hr>
Цена установки:<br><input type='text' size='6' name='installation'><br>
Цена в месяц:<br><input type='text' size='6' name='price'><br>";
echo '<input type="submit" name="save" value="Создать" /></form></div>';
echo '<div class="menu"> » <a href="/servicesADM">Назад</a></div>';
include_once '../../sys/foot.php';
break;
}
/*
=====================
Удаление услуги
=====================
*/
if (isset($_GET['del']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `services_orders` WHERE `id` = '".intval($_GET['del'])."'"),0)==1)
{
$post=mysql_fetch_assoc(mysql_query("SELECT * FROM `services_orders` WHERE `id` = '".intval($_GET['del'])."' LIMIT 1"));
mysql_query("DELETE FROM `services_orders` WHERE `id` = '$post[id]'");
header("Location: ?dir=".intval($_GET['dir']));
}
/*
=====================
Релактировать тариф
=====================
*/
if (isset($_GET['edit']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `services_orders` WHERE `id` = '".intval($_GET['edit'])."'"),0)==1)
{
$service_id = mysql_fetch_assoc(mysql_query("SELECT * FROM `services_orders` WHERE `id` = '".intval($_GET['edit'])."'"));
$error = false;
$errort = '';
if (isset($_POST['save2'])) {
$name = html($_POST['name']);
$name_preset = html($_POST['name_preset']);
$disk = intval($_POST['disk']);
$traffic = intval($_POST['traffic']);
$domain = intval($_POST['domain']);
$sub_domains = intval($_POST['sub_domains']);
$FTP = intval($_POST['FTP']);
$installation = intval($_POST['installation']);
$price = intval($_POST['price']);
if (strlen($name) > 32) {
$error = true;
$errort .= '<div class="err">В поле "Название" превышен лимит символов.</div>';
}
if (strlen($name_preset) > 32) {
$error = true;
$errort .= '<div class="err">В поле "Название шаблона" превышен лимит символов.</div>';
}
if (isset($_POST['status_activity']) && ($_POST['status_activity']==0 || $_POST['status_activity']==1))
{
$status_activity = intval($_POST['status_activity']);
}
if (!$error) {
mysql_query("UPDATE `services_orders` SET `name` = '$name', `name_preset` = '$name_preset', `disk` = '$disk', `domain` = '$domain', `sub_domains` = '$sub_domains', `FTP` = '$FTP', `installation` = '$installation', `price` = '$price', `status_activity` = '$status_activity' WHERE `id` = '". $service_id['id'] ."'");
// Изменяем цену уже для заказаных услуг
$q = mysql_query("SELECT * FROM `my_orders` WHERE `price` = '$service_id[price]'");
while($r = mysql_fetch_array($q)){
mysql_query("UPDATE `my_orders` SET `price` = '$price' WHERE `id` = '$r[id]'");
}
// Изменяем тариф уже для заказаных услуг
$q1 = mysql_query("SELECT * FROM `my_orders` WHERE `name` = '$service_id[name]'");
while($r1 = mysql_fetch_array($q1)){
mysql_query("UPDATE `my_orders` SET `name` = '$name' WHERE `id` = '$r1[id]'");
}
header('Location: /scripts/admin/services.php?dir='.intval($_GET['dir']).'&edit='.$service_id['id'].'');
}
}
echo $errort;
echo "<div class='post'><form method='post'>
Название: (5-30)<br><input type='text' name='name'
". (isset($_POST['name']) ? 'value="'. html($_POST['name']) .'"' : 'value="'. html($service_id['name']) .'"') .")'><br>
Название шаблона: (5-30)<br><input type='text' name='name_preset'
". (isset($_POST['name_preset']) ? 'value="'. html($_POST['name_preset']) .'"' : 'value="'. html($service_id['name_preset']) .'"') .")'><br>
Место на диске (mb):<br><input type='text' size='6' name='disk' value='". intval($service_id['disk']) ."'><br>
Трафик:<br><input type='text' size='6' name='traffic' value='". intval($service_id['traffic']) ."'><br>
Доменов:<br><input type='text' size='3' name='domain' value='". intval($service_id['domain']) ."'><br>
Под-доменов:<br><input type='text' size='3' name='sub_domains' value='". intval($service_id['sub_domains']) ."'><br>
FTP-доступ:<br><input type='text' size='3' name='FTP' value='". intval($service_id['FTP']) ."'><hr>
Цена установки:<br><input type='text' size='6' name='installation' value='". intval($service_id['installation']) ."'><br>
Цена в месяц:<br><input type='text' size='6' name='price' value='". intval($service_id['price']) ."'><br>";
echo "Статус услуги:<br />n<select name='status_activity'>n";
echo "<option value='0'".($service_id['status_activity']==0?" selected='selected'":null).">Активен</option>n";
echo "<option value='1'".($service_id['status_activity']==1?" selected='selected'":null).">Приостановлен</option>n";
echo "</select><br />n";
echo '<input type="submit" name="save2" value="Сохранить" />
</form></div>';
echo '<div class="menu"> » <a href="/scripts/admin/services.php?dir='.intval($_GET['dir']).'"> Назад</a></div>';
include_once '../../sys/foot.php';
exit();
}
/*
=====================
Вверх и вниз
=====================
*/
if (isset($_GET['up'])){
// вверх
$service_id = mysql_fetch_assoc(mysql_query("SELECT * FROM `services_orders` WHERE `id` = '".intval($_GET['up'])."'"));
mysql_query("UPDATE `services_orders` SET `up` = '".($service_id['up']+1)."' WHERE `id` = '".$service_id['id']."' LIMIT 1");
header('Location: /scripts/admin/services.php?dir='.intval($_GET['dir']));
} elseif (isset($_GET['down'])){
// Вниз
$service_id = mysql_fetch_assoc(mysql_query("SELECT * FROM `services_orders` WHERE `id` = '".intval($_GET['up'])."'"));
mysql_query("UPDATE `services_orders` SET `up` = '".($service_id['up']-1)."' WHERE `id` = '".$service_id['id']."' LIMIT 1");
header('Location: /scripts/admin/services.php?dir='.intval($_GET['dir']));
}
/*
=====================
Вывод разделов
=====================
*/
if (isset($_GET['dir'])){
$dir['id'] = intval($_GET['dir']);
}
if ($dir['id'] == 0){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `services_dir"), 0) == 0) {
echo '<div class="post">Услуг не было добавлено</div>';
}
$query = mysql_query("SELECT * FROM `services_dir` ORDER BY `id` ASC");
while ($folder = mysql_fetch_assoc($query)) {
echo '<div class="menu"><img src="/style/img/link_g.png"> <a href="?dir='. $folder['id'] .'">
'. html($folder['name']) .' ('. mysql_result(mysql_query("SELECT COUNT(*) FROM `services_orders` WHERE `id_dir` like '%". $folder['id'] ."%'"), 0) .')
</a></div>';
}
}
/*
======================
Вывод услуг
======================
*/
if ($dir['id'] != 0){
$c_p = mysql_result(mysql_query("SELECT COUNT(*) FROM `services_orders` WHERE `id_dir` = '".$dir['id']."'"),0);
$p_page = '10';
$k_page = k_page($c_p, 10);
$page = page($k_page);
$start = 10*$page-10;
if ($c_p == 0) {
echo '<div class="post">Нет услуг</div>';
}
$i = 0;
$query = mysql_query("SELECT * FROM `services_orders` WHERE `id_dir` = '".$dir['id']."' ORDER BY `up` DESC LIMIT $start, ". $p_page);
while ($post = mysql_fetch_assoc($query)) {
echo $i % 2 ? '<div class="post">' : '<div class="razd_menu">';
echo '<div class="menu">'. html($post['name']) .'</div>
<div class="post">
Место на диске: '. $post['disk'] .' mb<br />
Трафик: '. $post['traffic'] .' <br />
Доменов: '. $post['domain'] .' <br />
Под-доменов: '. $post['sub_domains'] .' <br />
FTP-доступ: '. $post['FTP'] .' <hr />
'.($post['installation'] > 0 ? 'Цена установки: '. $post['installation'] .' Руб <br />' : '').'
Цена в месяц: '. $post['price'] .' Руб <br />
[<a href="/scripts/admin/services.php?dir='. $dir['id'] .'&del='. $post['id'] .'">Удалить</a>] | [<a href="/scripts/admin/services.php?dir='. $dir['id'] .'&edit='. $post['id'] .'">Ред</a>] | [<a href="/scripts/admin/services.php?dir='. $dir['id'] .'&up='. $post['id'] .'">Вверх</a>] | [<a href="/scripts/admin/services.php?dir='. $dir['id'] .'&down='. $post['id'] .'">Вниз</a>] '.($post['status_activity'] == 1 ? ' | <font color="red">Приостановлен</font>' : NULL).'
</div>';
}
if ($k_page > 1) str('?dir='. $dir['id'] .'&', $k_page, $page);
echo '<div class="menu"> » <a href="?act=add&id='. $dir['id'] .'"> Добавить услугу</a></div>';
echo '<div class="menu"> » <a href="?act=del_dir&id='. $dir['id'] .'"> Удалить текущую услугу</a></div>';
}
/* ---- */
if ($dir['id'] == 0)echo '<div class="menu"> » <a href="/scripts/admin/services.php?act=add_dir&id='. $dir['id'] .'">Добавить раздел</a></div>';
if ($dir['id'] != 0) echo '<div class="menu"> » <a href="/scripts/admin/services.php">Назад</a></div>';
echo $div->div_menu.' » <a href="/admin">Админ управление</a></div>';
/* ---- */
include_once '../../sys/foot.php';
?>