<?php

/* DCMS Special
 * Дата последнего редактирования 18.01.2016
 * Модифицировал densnet
 */

foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'adm_check', 'user') as $inc) {
    require_once "../sys/inc/{$inc}.php";
}

access('adm_ip_edit', null, 'index.php?' . SID);
adm_check();

$opsos = NULL;
$set['title'] = lang('Добавление оператора');

require_once H . 'sys/inc/thead.php';

if (isset($_POST['min']) && isset($_POST['max']) && isset($_POST['opsos'])) {
    if (!preg_match("#^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$#", $_POST['min'])) {
        $err = lang('Неверный формат IP');
    }
    if (!preg_match("#^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$#", $_POST['max'])) {
        $err = lang('Неверный формат IP');
    }
    if ($_POST['opsos'] == NULL) {
        $err = lang('Введите название оператора');
    }

    $min = ip2long($_POST['min']);
    $max = ip2long($_POST['max']);
    $opsos = $db->safesql(stripcslashes(htmlspecialchars($_POST['opsos'])));

    $db->query("INSERT INTO `opsos` (`min`, `max`, `opsos`) values('$min', '$max', '$opsos')", $db);
    msg('Диапазон успешно добавлен');
}

if (isset($_GET['delmin']) && isset($_GET['delmax'])) {
    $opsd = $db->super_query("SELECT COUNT(*) as count FROM `opsos` WHERE `min` = '" . $_GET['delmin'] . "' AND `max` = '" . $_GET['delmax'] . "' LIMIT 1");
    if ($opsd['count'] != 0) {
        $db->query("DELETE FROM `opsos` WHERE `min` = '" . $db->safesql($_GET['delmin']) . "' AND `max` = '" . $_GET['delmax'] . "' LIMIT 1");
    }
    $db->query("OPTIMIZE TABLE `opsos`");
    msg('Диапазон успешно удален');
}

aut();
err();

#Навигация
echo "<div class='list-group-item-null list-group-item-grey'><small>";
echo "<a href='/' class='hint--right' data-hint='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo "<a href='" . DIR_PANEL . "'>" . lang('Панель управления') . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
echo lang('Добавление оператора');
echo "</small></div><br />";

$kp = $db->super_query("SELECT COUNT(*) as count FROM `opsos`");
$k_post = $kp['count'];
$k_page = k_page($k_post, $set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];

if ($k_post == 0) {
    $doc->NoResult();
}

$q = $db->query("SELECT * FROM `opsos` ORDER BY `opsos` ASC LIMIT $start, $set[p_str]");
while ($post = $db->get_row($q)) {
    echo "<div class='list-group-item-null'>\n";
    echo "<div style='float:right;' id='hides'><a href='?page=$page&amp;delmin=$post[min]&amp;delmax=$post[max]' title='Удалить'><i class='fa fa-trash-o fa-fw'></i></a></div>";
    echo long2ip($post['min']) . ' - ' . long2ip($post['max']);
    echo "<br />";
    echo "$post[opsos]";
    echo "</div>";
    echo "<div class='hr'></div>";
}

if ($k_page > 1) {
    str('?', $k_page, $page);
}

echo "<form method='post' class='list-group-item-null' action=''>\n";

$doc->Input('min', 'Начальный IP адрес', 100);
$doc->Input('max', 'Завершающий IP адрес', 100);
$doc->Input('opsos', 'Оператор', 100, "$opsos");
echo "<br />";
$doc->Button('btn btn-success btn-sm', null, 'plus', 'Добавить');

echo "</form>\n";

require_once H . 'sys/inc/tfoot.php';
