Просмотр файла admin/design/main_menu.php

Размер файла: 6.95Kb
  1. <?php
  2. include '../../engine/includes/start.php';
  3.  
  4. if (!$creator)
  5. Core::stop();
  6.  
  7. $set['title'] = 'Главное меню';
  8. include incDir.'head.php';
  9.  
  10. if (isset($_GET['move']))
  11. {
  12. $sql->query('SELECT `name`, `pos` FROM `main_menu` WHERE `id` = '.$id);
  13. if ($sql->num_rows() == 0)
  14. {
  15. Core::msg_show('Пункт с id '.$id.' не найден');
  16. include incDir.'foot.php';
  17. }
  18. $menu = $sql->fetch();
  19. $new_pos = $_GET['move'] == 'up' ? $menu['pos'] - 1 : $menu['pos'] + 1;
  20. $sql->query('UPDATE `main_menu` set `pos` = '.$menu['pos'].' WHERE `pos` = '.$new_pos);
  21. $sql->query('UPDATE `main_menu` set `pos` = '.$new_pos.' WHERE `id` = '.$id);
  22. Core::msg_show('Пункт '.$menu['name'].' перемещен', 'msg');
  23. }
  24. switch($act)
  25. {
  26. case 'edit':
  27. $sql->query('SELECT * FROM `main_menu` WHERE `id` = '.$id);
  28. if ($sql->num_rows() == 0)
  29. {
  30. Core::msg_show('Пункт с id '.$id.' не найден');
  31. include incDir.'foot.php';
  32. }
  33. $menu = $sql->fetch();
  34. if (isset($_POST['name']))
  35. {
  36. $sql->query("UPDATE `main_menu` SET
  37. `name` = '".Core::form('name')."',
  38. `link` = '".Core::form('link')."',
  39. `file` = '".Core::form('file')."',
  40. `icon` = '".Core::form('icon')."'
  41. WHERE `id` = $id");
  42. Core::msg_show('Пункт отредактирован', 'msg');
  43. }
  44. else
  45. {
  46. ?>
  47. <div class="menu_razd">Редактирование пункта <?=$menu['name']?></div>
  48. <form method="post">
  49. Название: (обязательно)<br />
  50. <input type="text" name="name" value="<?=$menu['name']?>"/><br />
  51. Ссылка:<br />
  52. <input type="text" name="link" value="<?=$menu['link']?>"/><br />
  53. Файл:<br />
  54. <input type="text" name="file" value="<?=$menu['file']?>"/><br />
  55. Иконка:<br />
  56. <input type="text" name="icon" value="<?=$menu['icon']?>"/><br />
  57. <input type="submit" value="Изменить"/>
  58. </form>
  59. <?php
  60. }
  61. echo '<a href="?" class="link">Вернутся в &quot;Главное меню&quot;</a>';
  62. break;
  63. case 'delete':
  64. $sql->query('SELECT `name`, `pos` FROM `main_menu` WHERE `id` = '.$id);
  65. if ($sql->num_rows() == 0)
  66. {
  67. Core::msg_show('Пункт с id '.$id.' не найден');
  68. include incDir.'foot.php';
  69. }
  70. $menu = $sql->fetch();
  71. if (isset($_GET['confirm']))
  72. {
  73. if (empty($_SESSION['main_menu_confirm_delete']) || $_SESSION['main_menu_confirm_delete'] != $_GET['confirm'])
  74. {
  75. Core::msg_show('Удаление не подтверждено, попробуйте еще раз');
  76. }
  77. else
  78. {
  79. $sql->query('DELETE FROM `main_menu` WHERE `id` = '.$id);
  80. $sql->query('UPDATE `main_menu` SET `pos` = `pos` - 1 WHERE `pos` > '.$menu['pos']);
  81. Core::msg_show('Пункт удален', 'msg');
  82. }
  83. }
  84. else
  85. {
  86. $_SESSION['main_menu_confirm_delete'] = uniqid();
  87. echo '
  88. Вы действительно хотите удалить этот пункт ('.$menu['name'].')?<br />
  89. <a href="?act=delete&amp;id='.$id.'&amp;confirm='.$_SESSION['main_menu_confirm_delete'].'">Да, удалить</a>';
  90. }
  91. echo '<a href="?" class="link">Вернутся в &quot;Главное меню&quot;</a>';
  92. break;
  93. case 'add':
  94. if (isset($_POST['name']))
  95. {
  96. $pos = $sql->query('SELECT max(`pos`) from `main_menu`')->result() + 1; // получаем позицию нового пункта
  97. $sql->query("INSERT INTO `main_menu` SET
  98. `name` = '".Core::form('name')."',
  99. `link` = '".Core::form('link')."',
  100. `file` = '".Core::form('file')."',
  101. `icon` = '".Core::form('icon')."',
  102. `pos` = '$pos'");
  103. Core::msg_show('Пункт добавлен', 'msg');
  104. }
  105. else
  106. {
  107. ?>
  108. <div class="menu_razd">Добавление пункта</div>
  109. <form method="post">
  110. Название: (обязательно)<br />
  111. <input type="text" name="name"/><br />
  112. Ссылка: (оставить пустым для разделителя)<br />
  113. <input type="text" name="link"/><br />
  114. Файл:<br />
  115. <input type="text" name="file"/><br />
  116. Иконка:<br />
  117. <input type="text" name="icon" value="/style/icons/"/><br />
  118. <input type="submit" value="Добавить"/>
  119. </form>
  120. <?php
  121. }
  122. echo '<a href="?" class="link">Вернутся в &quot;Главное меню&quot;</a>';
  123. break;
  124. default:
  125. $pos = $sql->query('SELECT max(`pos`) from `main_menu`')->result();
  126. $sql->query('SELECT * FROM `main_menu` ORDER BY `pos`');
  127. if ($sql->num_rows() == 0)
  128. {
  129. Core::msg_show('Нет добавленных пунктов');
  130. }
  131. else
  132. {
  133. while($menu = $sql->fetch())
  134. {
  135. echo
  136. '<div class="post">',
  137. $menu['pos'] . ') ',
  138. (!empty($menu['icon']) ? '<img style="float:right" src="' . str_replace('{theme}', $set['theme'], $menu['icon']) .'"/> ' : ''),
  139. $menu['name'] . '<br />',
  140. (!empty($menu['link']) ? 'Ссылка: ' . $menu['link'] . '<br />' : ''),
  141. (!empty($menu['file']) ? 'Файл: ' . $menu['file'] . '<br />' : ''),
  142. ($menu['pos'] > 1 ? '<a href="?move=up&amp;id='.$menu['id'].'">[ &uarr; ]</a>&nbsp;&nbsp;' : ''),
  143. '[ <a href="?act=edit&amp;id='.$menu['id'].'">изменить</a> ] | [ <a href="?act=delete&amp;id='.$menu['id'].'">удалить</a> ]',
  144. ($menu['pos'] < $pos ? '&nbsp;&nbsp;<a href="?move=down&amp;id='.$menu['id'].'">[ &darr; ]</a>' : ''),
  145. '</div>';
  146. }
  147. }
  148. echo '<a href="?act=add" class="link">Добавить</a>';
  149. break;
  150. }
  151. ?>
  152. <a href='/admin/?act=design' class="link">Персонализция</a>
  153. <a href='/admin/' class="link">Админка</a>
  154. <?php
  155. include incDir.'foot.php';