Файл: adm_panel/menu.php
Строк: 278
<?php
require_once '../sys/inc/start.php';
require_once '../sys/inc/compress.php';
require_once '../sys/inc/sess.php';
require_once '../sys/inc/settings.php';
require_once '../sys/inc/db_connect.php';
require_once '../sys/inc/ipua.php';
require_once '../sys/inc/fnc.php';
require_once '../sys/inc/adm_check.php';
require_once '../sys/inc/user.php';
user_access('adm_menu', null, 'index.php?' . SID);
adm_check();
$set['title'] = 'Главное меню';
require_once '../sys/inc/thead.php';
$opendiricon = opendir(H . 'style/icons');
while ($icons = readdir($opendiricon)) {
#запись всех тем в массив
if (preg_match('#^.|default.png#', $icons)) {
continue;
}
$icon[] = $icons;
}
closedir($opendiricon);
if (isset($_POST['add']) && isset($_POST['name']) && $_POST['name'] != NULL && isset($_POST['url']) && $_POST['url'] != NULL && isset($_POST['counter'])) {
$name = esc(stripcslashes(htmlspecialchars($_POST['name'])));
$url = esc(stripcslashes(htmlspecialchars($_POST['url'])));
$counter = esc(stripcslashes(htmlspecialchars($_POST['counter'])));
$pos = mysql_result(mysql_query("SELECT MAX(`pos`) FROM `menu`"), 0) + 1;
$icon = preg_replace('#[^a-z0-9 _-.]#i', null, $_POST['icon']);
mysql_query("INSERT INTO `menu` (`name`, `url`, `counter`, `pos`, `icon`) VALUES ('$name', '$url', '$counter', '$pos', '$icon')");
msg('Ссылка успешно добавлена');
}
if (isset($_POST['add']) && isset($_POST['name']) && $_POST['name'] != NULL && isset($_POST['counter']) && isset($_POST['type']) && $_POST['type'] == 'razd') {
$name = esc(stripcslashes(htmlspecialchars($_POST['name'])));
$url = esc(stripcslashes(htmlspecialchars($_POST['url'])));
$counter = esc(stripcslashes(htmlspecialchars($_POST['counter'])));
$pos = mysql_result(mysql_query("SELECT MAX(`pos`) FROM `menu`"), 0) + 1;
$icon = preg_replace('#[^a-z0-9 _-.]#i', null, $_POST['icon']);
mysql_query("INSERT INTO `menu` (`type`, `name`, `url`, `counter`, `pos`, `icon`) VALUES ('razd', '$name', '$url', '$counter', '$pos', '$icon')");
msg('Ссылка успешно добавлена');
}
if (isset($_POST['change']) && isset($_GET['id']) && isset($_POST['name']) && $_POST['name'] != NULL && isset($_POST['url']) && isset($_POST['counter'])) {
$id = intval($_GET['id']);
$name = esc(stripcslashes(htmlspecialchars($_POST['name'])));
$url = esc(stripcslashes(htmlspecialchars($_POST['url'])));
$counter = esc(stripcslashes(htmlspecialchars($_POST['counter'])));
$icon = preg_replace('#[^a-z0-9 _-.]#i', null, $_POST['icon']);
mysql_query("UPDATE `menu` SET `name` = '$name', `url` = '$url', `counter` = '$counter', `icon` = '$icon' WHERE `id` = '$id' LIMIT 1");
msg('Пункт меню успешно изменен');
}
if (isset($_GET['id']) && isset($_GET['act']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `menu` WHERE `id` = '" . intval($_GET['id']) . "'"), 0)) {
$menu = mysql_fetch_assoc(mysql_query("SELECT * FROM `menu` WHERE `id` = '" . intval($_GET['id']) . "' LIMIT 1"));
if ($_GET['act'] == 'up') {
mysql_query("UPDATE `menu` SET `pos` = '" . ($menu['pos']) . "' WHERE `pos` = '" . ($menu['pos'] - 1) . "' LIMIT 1");
mysql_query("UPDATE `menu` SET `pos` = '" . ($menu['pos'] - 1) . "' WHERE `id` = '" . intval($_GET['id']) . "' LIMIT 1");
msg('Пункт меню сдвинут на позицию вверх');
}
if ($_GET['act'] == 'down') {
mysql_query("UPDATE `menu` SET `pos` = '" . ($menu['pos']) . "' WHERE `pos` = '" . ($menu['pos'] + 1) . "' LIMIT 1");
mysql_query("UPDATE `menu` SET `pos` = '" . ($menu['pos'] + 1) . "' WHERE `id` = '" . intval($_GET['id']) . "' LIMIT 1");
msg('Пункт меню сдвинут на позицию вниз');
}
if ($_GET['act'] == 'del') {
mysql_query("DELETE FROM `menu` WHERE `id` = '" . intval($_GET['id']) . "' LIMIT 1");
msg('Пункт меню удален');
}
}
err();
aut();
$q = mysql_query("SELECT * FROM `menu` ORDER BY `pos` ASC");
while ($post = mysql_fetch_assoc($q)) {
echo "<table class = 'foot'><tr><td class = 'null'>";
if (!isset($post['icon'])) {
mysql_query('ALTER TABLE `menu` ADD `icon` VARCHAR( 32 ) NULL DEFAULT NULL');
}
if (!isset($post['type'])) {
mysql_query("ALTER TABLE `menu` ADD `type` ENUM('link', 'razd') NOT NULL DEFAULT 'link' AFTER `id`");
}
if ($post['type'] == 'link') {
echo icons($post['icon'], 'code');
}
echo "$post[pos]) $post[name] " . ($post['type'] == 'link' ? "($post[url])" : null);
echo "<br />";
if (isset($_GET['id']) && $_GET['id'] == $post['id'] && isset($_GET['act']) && $_GET['act'] == 'edit') {
echo "<form action="?id=$post[id]" method="post">";
echo "Тип: " . ($post['type'] == 'link' ? 'Ссылка' : 'Разделитель') . "<br />n";
echo "Название:<br />n";
echo "<input type='text' name='name' value="$post[name]" /><br />n";
if ($post['type'] == 'link') {
echo "Ссылка:<br />n";
echo "<input type='text' name='url' value='$post[url]' /><br />n";
} else {
echo "<input type='hidden' name='url' value='' />n";
}
echo "Счетчик:<br />n";
echo "<input type='text' name='counter' value='$post[counter]' /><br />n";
if ($post['type'] == 'link') {
echo "Иконка:<br />n";
echo "<select name='icon'>n";
echo "<option value='default.png'>По умолчанию</option>n";
for ($i = 0; $i < sizeof($icon); $i++) {
echo "<option value='$icon[$i]'" . ($post['icon'] == $icon[$i] ? " selected='selected'" : null) . ">$icon[$i]</option>n";
}
echo "</select><br />n";
} else
echo "<input type='hidden' name='icon' value='$post[icon]' />n";
echo "<div class = 'right' id = 'hide'>";
echo "<a href = '?$passgen' title = 'Отмена'><img src = '/style/icons/cross.png' /></a>";
echo "</div>";
echo "<button name = 'change' class = 'btn'>";
echo "<img src = '/style/icons/save.png' /> Сохранить изменения";
echo "</button></form>";
} else {
echo "Счетчик: " . ($post['counter'] == null ? 'отсутствует' : $post['counter']) . "<br />n";
echo "<div class = 'panel'>";
echo "<a href='?id=$post[id]&act=up&$passgen' title = 'Поднять выше'><img src = '/style/icons/verh.png' /></a> ";
echo "<a href='?id=$post[id]&act=down&$passgen' title = 'Опустить ниже'><img src = '/style/icons/vniz.png' /></a> ";
echo "<a href='?id=$post[id]&act=del&$passgen' title = 'Удалить'><img src = '/style/icons/cross.png' /></a> ";
echo "<a href='?id=$post[id]&act=edit&$passgen' title = 'Редактировать'><img src = '/style/icons/set.png' /></a><br />";
echo "</div>";
}
echo "</td></tr></table>n";
}
if (isset($_GET['add'])) {
echo "<form action='?add=$passgen' class = 'foot' method="post">";
echo "Тип:<br />n";
echo "<select name='type'>n";
echo "<option value='link'>Ссылка (1)</option>n";
echo "<option value='razd'>Раздел (2)</option>n";
echo "</select><br />n";
echo "Название (1,2):<br />n";
echo "<input type="text" name="name" value=""/><br />n";
echo "Ссылка(1):<br />n";
echo "<input type="text" name="url" value=""/><br />n";
echo "Счетчик (1,2):<br />n";
echo "<input type="text" name="counter" value=""/><br />n";
echo "Иконка (1):<br />n";
echo "<select name='icon'>n";
echo "<option value='default.png'>По умолчанию</option>n";
for ($i = 0; $i < sizeof($icon); $i++) {
echo "<option value='$icon[$i]'>$icon[$i]</option>n";
}
echo "</select><br />n";
echo "<div class = 'right' id = 'hide'>";
echo "<a href = '?$passgen' title = 'Отмена'><img src = '/style/icons/cross.png' /></a>";
echo "</div>";
echo "<button name = 'add' class = 'btn'>";
echo "<img src = '/style/icons/add.png' /> Добавить";
echo "</button></form>";
} else {
echo "<form action='?add=$passgen' class = 'foot' method="post">";
echo "<button class = 'btn'>";
echo "<img src = '/style/icons/add.png' /> Добавить пункт";
echo "</button></form>";
}
if (user_access('adm_panel_show')) {
echo "<div class='foot'>n";
echo "<img src = '/style/icons/left.png' /> <a href='/adm_panel/'>Панель управления</a><br />n";
echo "</div>n";
}
require_once '../sys/inc/tfoot.php';