Размер файла: 8.42Kb
- <?php
- include '../engine/includes/start.php';
-
- if (!$creator)
- Core::stop();
-
- $set['title']='Экспресс-панель';
-
- include incDir.'head.php';
-
- if (empty($_SESSION['entry_admin']))
- {
- $_SESSION['entry_admin'] = 1;
- $query = mysqli_query($sql->db, 'select `file` from `module_services` where `use_in`="enrty_admin"');
- while($file = $sql->result($query))
- {
- include_once H . $file;
- }
- }
-
-
- function WordCut($words)
- {
- $word = explode(' ', (string) $words);
- if (count($word) > 1)
- {
- $tmp = $word[0] . ' ' . $word[1] . (!empty($word[2]) ? ' ' . $word[2] : '');
- if (mb_strlen($tmp) > 11)
- {
- return $word[0] . '.. ';
- }
- }
- return $words;
- }
-
- //Прошу прощения за следующие html / php - быдлокоды, я далеко не знаток css, html. Буду благодарен за подсказки на счет упрощения верстки :)
-
- if (isset($_GET['move']))
- {
- $sql->query('SELECT `name`, `pos` FROM `speed_dial` WHERE `id` = '.$id);
-
- if ($sql->num_rows() == 0)
- {
- Core::msg_show('Пункт с id '.$id.' не найден');
- include incDir.'foot.php';
- }
-
- $menu = $sql->fetch();
- $new_pos = $_GET['move'] == 'up' ? $menu['pos'] - 1 : $menu['pos'] + 1;
-
- $sql->query('UPDATE `speed_dial` set `pos` = '.$menu['pos'].' WHERE `pos` = '.$new_pos);
- $sql->query('UPDATE `speed_dial` set `pos` = '.$new_pos.' WHERE `id` = '.$id);
- Core::msg_show('Пункт '.$menu['name'].' перемещен', 'msg');
- }
-
- switch($act)
- {
- case 'add':
-
- if (isset($_POST['name']))
- {
- $icon = Core::form('icon');
- $host = parse_url(Core::form('link'), PHP_URL_HOST);
-
- if ($host != $_SERVER['SERVER_NAME'])
- {
- $icon = 'http://www.google.com/s2/favicons?domain=' . $host;
- }
-
-
- $sql->query("INSERT INTO `speed_dial` SET
- `name` = '".Core::form('name')."',
- `link` = '".Core::form('link')."',
- `icon` = '".$icon."',
- `new_line` = '".(!empty($_POST['new_line']) ? 1 : 0)."',
- `pos` = '".($sql->query('SELECT max(`pos`) FROM `speed_dial`')->result() + 1)."'");
- Core::msg_show('Пункт добавлен', 'msg');
- }
- else
- {
- ?>
- <form action="?act=add" method="post">
- Название:<br />
- <input type="text" name="name" value=""/><br />
- Ссылка: (оставить пустым для разделителя)<br />
- <input type="text" name="link" value="http://"/><br />
- Иконка:<br />
- <input type="text" name="icon" value=""/><br />
- С новой строки:<br />
- <select name="new_line">
- <option value="0">Нет</option>
- <option value="1">Да</option>
- </select><br />
- <input type="submit" value="Добавить"/>
- </form>
- <?php
- }
- echo '<a href="./panel.php" class="link">Админка</a>';
- break;
-
- case 'edit':
- $sql->query('SELECT * FROM `speed_dial` WHERE `id` = '.$id);
-
- if ($sql->num_rows() == 0)
- {
- Core::msg_show('Пункт с id '.$id.' не найден');
- include incDir.'foot.php';
- }
-
- $menu = $sql->fetch();
-
- if (isset($_POST['name']))
- {
- $sql->query("UPDATE `speed_dial` SET
- `name` = '".Core::form('name')."',
- `link` = '".Core::form('link')."',
- `icon` = '".Core::form('icon')."',
- `new_line` = '".(!empty($_POST['new_line']) ? 1 : 0)."'
- WHERE `id` = $id");
- Core::msg_show('Пункт отредактирован', 'msg');
- }
- else
- {
- ?>
- <form action="?act=edit&id=<?=$id?>" method="post">
- Название:<br />
- <input type="text" name="name" value="<?=$menu['name']?>"/><br />
- Ссылка: (оставить пустым для разделителя)<br />
- <input type="text" name="link" value="<?=$menu['link']?>"/><br />
- Иконка:<br />
- <input type="text" name="icon" value="<?=$menu['icon']?>"/><br />
- С новой строки:<br />
- <select name="new_line">
- <option value="0">Нет</option>
- <?=$menu['new_line'] == '1' ? '<option value="1" selected="selected">' : '<option value="1">'?>Да</option>
- </select><br />
- <input type="submit" value="Изменить"/>
- </form>
- <?php
- }
- echo '<a href="./panel.php" class="link">Админка</a>';
-
- break;
-
- case 'editing':
-
- echo '<div class="menu_razd">Редактирование экспресс-панели</div>';
-
- $pos = $sql->query('SELECT max(`pos`) from `speed_dial`')->result();
- $sql->query('SELECT `id`, `name`, `pos` FROM `speed_dial` ORDER BY `pos`');
-
- while ($menu = $sql->fetch())
- {
- echo
- '<div class="post">'.$menu['pos'] . ') '.$menu['name'], '<br />',
- ($menu['pos'] > 1 ? '<a href="?act=editing&move=up&id='.$menu['id'].'">[ ↑ ]</a> ' : ''),
- '[ <a href="?act=edit&id='.$menu['id'].'">изменить</a> ] | [ <a href="?act=delete&id='.$menu['id'].'">удалить</a> ]',
- ($menu['pos'] < $pos ? ' <a href="?act=editing&move=down&id='.$menu['id'].'">[ ↓ ]</a>' : ''),
- '</div>';
- }
-
- echo '<a href="./panel.php" class="link">Админка</a>';
-
- break;
-
- case 'delete':
- $sql->query('SELECT `name`, `pos` FROM `speed_dial` WHERE `id` = '.$id);
-
- if ($sql->num_rows() == 0)
- {
- Core::msg_show('Пункт с id '.$id.' не найден');
- include incDir.'foot.php';
- }
-
- $menu = $sql->fetch();
-
- if (isset($_GET['confirm']))
- {
- if (empty($_SESSION['main_menu_confirm_delete']) || $_SESSION['main_menu_confirm_delete'] != $_GET['confirm'])
- {
- Core::msg_show('Удаление не подтверждено, попробуйте еще раз');
- }
- else
- {
- $sql->query('DELETE FROM `speed_dial` WHERE `id` = '.$id);
- $sql->query('UPDATE `speed_dial` SET `pos` = `pos` - 1 WHERE `pos` > '.$menu['pos']);
- Core::msg_show('Пункт удален', 'msg');
- }
- }
- else
- {
- $_SESSION['main_menu_confirm_delete'] = uniqid();
- echo '
- Вы действительно хотите удалить этот пункт ('.$menu['name'].')?<br />
- <a href="?act=delete&id='.$id.'&confirm='.$_SESSION['main_menu_confirm_delete'].'">Да, удалить</a>';
- }
-
- echo '<a href="?" class="link">Вернутся в "админку"</a>';
- break;
-
- default:
-
- echo '<div class="menu_razd">Экспресс-панель</div><table><tr>';
-
- $sql->query('SELECT * FROM `speed_dial` ORDER BY `pos`');
-
- while ($menu = $sql->fetch())
- {
- if (empty($menu['link']))
- {
- echo '</tr></table><div class="menu_razd">'.$menu['name'].'</div><table><tr>';
- }
- else
- {
- if ($menu['new_line'] == 1)
- echo '</tr><tr>';
- echo '<td><a title="'.$menu['name'].'" href="'.$menu['link'].'"><img width="48px" src="'.$menu['icon'].'"/></a><br /><span class="status">'.WordCut($menu['name']).'</span></td>';
- }
- }
-
- echo '</tr></table><a href="." class="link">Расширенный вид админки</a>';
-
- break;
-
- }
-
- echo '<a href="/" class="link">Главная</a>';
-
- include incDir.'foot.php';