View file adm_panel/opsos.php

File size: 3.51Kb
<?php

include_once '../sys/inc/start.php';
include_once COMPRESS;
include_once SESS;
include_once '../sys/inc/home.php';
include_once SETTINGS;
include_once DB_CONNECT;
include_once IPUA;
include_once FNC;
include_once ADM_CHECK;
include_once USER;

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

adm_check();

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

include_once THEAD;

title();

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 = 'Неверный формат IP';
    }

    if (!preg_match("#^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$#", $_POST['max'])) {
        $err = 'Неверный формат IP';
    }

    if ($_POST['opsos'] == NULL) {
        $err = 'Введите название оператора';
    }

    $min = ip2long($_POST['min']);
    $max = ip2long($_POST['max']);
    $opsos = my_esc(stripcslashes(htmlspecialchars($_POST['opsos'])));

    dbquery("INSERT INTO `opsos` (`min`, `max`, `opsos`) values('$min', '$max', '$opsos')", $db);

    msg('Диапазон успешно добавлен');
}

if (isset($_GET['delmin']) && isset($_GET['delmax']) &&
        dbresult(dbquery("SELECT COUNT(*) FROM `opsos` WHERE `min` = '" . $_GET['delmin'] . "' AND `max` = '" . $_GET['delmax'] . "' LIMIT 1", $db), 0) != 0) {

    dbquery("DELETE FROM `opsos` WHERE `min` = '" . $_GET['delmin'] . "' AND `max` = '" . $_GET['delmax'] . "' LIMIT 1");
    dbquery("OPTIMIZE TABLE `opsos`");

    msg('Диапазон успешно удален');
}

err();
aut();

$k_post = dbresult(dbquery("SELECT COUNT(*) FROM `opsos`"), 0);
$k_page = k_page($k_post, $set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];

echo '<div class="list-group">';

if ($k_post == 0) {
    echo "<div class='list-group-item'>\n";
    echo "Нет результатов\n";
    echo "</div>\n";
}

$q = dbquery("SELECT * FROM `opsos` ORDER BY `opsos` ASC LIMIT $start, $set[p_str]");

while ($post = dbassoc($q)) {
    echo "<div class='list-group-item'>\n";
    echo long2ip($post['min']) . ' - ' . long2ip($post['max']);

    echo "<a href=\"?page=$page&amp;delmin=$post[min]&amp;delmax=$post[max]\" style='float:right' title='Удалить'><i class='mdi mdi-delete'></i></a>\n";
    echo "$post[opsos]<br />\n";
    echo "</div>\n";
}


if ($k_page > 1) {
    str('?', $k_page, $page);
} // Вывод страниц

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

echo "<div class='mb-3'>";
echo "Начальный IP адрес:<br />\n<input name=\"min\" class='form-control' value=\"\" type=\"text\" />\n";
echo "</div>\n";

echo "<div class='mb-3'>";
echo "Завершающий IP:<br />\n<input name=\"max\" class='form-control' value=\"\" type=\"text\" />\n";
echo "</div>\n";

echo "<div class='mb-3'>";
echo "Оператор:<br />\n<input name=\"opsos\" class='form-control' value=\"$opsos\" type=\"text\" />\n";
echo "</div>\n";

echo "<button type='submit' class='btn btn-primary'>Добавить</button>\n";
echo "</form>\n";

if (user_access('adm_panel_show')) {
    echo "<div class='list-group-item list-group-item-light'>\n";
    echo "<a href='index.php'><i class='mdi mdi-arrow-left'></i> Панель управления</a><br />";
    echo "</div>\n";
}
echo "</div>\n";

include_once TFOOT;
?>