Просмотр файла lib/includes/category/move.php

Размер файла: 5.14Kb
  1. <?php
  2.  
  3. if ($admin)
  4. {
  5. if ($id)
  6. {
  7. $cat = $sql->query("SELECT `refid`, `name` FROM `mod_lib` WHERE `id` = '" . $id . "' AND `type` = 'cat'")->fetch();
  8.  
  9. if ($cat !== FALSE)
  10. {
  11. /* Количество категорий в которые можно переместить */
  12. $total = $sql->query("SELECT COUNT(*) FROM `mod_lib` WHERE `type` = 'cat' AND `id` != '" . $id . "'")->result();
  13.  
  14. if ($total > 0)
  15. {
  16. if (!empty($_POST))
  17. {
  18. /* ID категории в которую будем перемещать */
  19. $cid = isset($_POST['category']) ? abs(intval($_POST['category'])) : 0;
  20.  
  21. if ($cid != $cat['refid'])
  22. {
  23. if ($cid != 0) $parent = $sql->query("SELECT `counter` FROM `mod_lib` WHERE `id` = '" . $cid . "' AND `type` = 'cat'")->result();
  24.  
  25. /* Проверка категории на существование */
  26. if (isset($parent) && $parent === FALSE)
  27. {
  28. $error = 'Категория не найдена';
  29. }
  30.  
  31. if (!isset($error))
  32. {
  33. /* Обновляем счетчик бывшей категории */
  34. if ($cat['refid'] != 0)
  35. {
  36. $ref = $sql->query("SELECT `counter` FROM `mod_lib` WHERE `id` = '" . $cat['refid'] . "'")->fetch();
  37. $sql->query("UPDATE `mod_lib` SET `counter` = '" . ($ref['counter'] - 1) . "' WHERE `id` = '" . $cat['refid'] . "'");
  38. }
  39.  
  40. /* Обновляем счетчик новой категории */
  41. if (isset($parent) && $parent !== FALSE)
  42. {
  43. $sql->query("UPDATE `mod_lib` SET `counter` = '" . ($parent['counter'] + 1) . "' WHERE `id` = '" . $cid . "'");
  44. }
  45.  
  46. /* Перемещаем категорию */
  47. $sql->query("UPDATE `mod_lib` SET `refid` = '" . $cid . "' WHERE `id` = '" . $id . "'");
  48. echo '<div class="fmenu">' . 'Библиотека' . ' | Переместить категорию | ' . htmlentities($cat['name'], ENT_QUOTES, 'UTF-8') .
  49. '</div><div class="msg">Категория перемещена' .
  50. '.&#160;<a href="?act=category&amp;mod=view&amp;id=' . $id . '">Продолжить</a>' .
  51. '</div><div class="fmenu"><a href="?act=category&amp;mod=view&amp;id=' . $id . '">Назад</a></div>';
  52.  
  53. }
  54.  
  55. }
  56. else
  57. {
  58.  
  59. /* Попытка переместить в ту же категорию в которой сейчас находится эта категория */
  60. $error = 'Ошибка принятых данных';
  61.  
  62. }
  63.  
  64. }
  65. else
  66. {
  67.  
  68. /* Список категорий */
  69. echo '<div class="fmenu">' . 'Библиотека' . ' | Переместить категорию | ' . htmlentities($cat['name'], ENT_QUOTES, 'UTF-8') . '</div>' .
  70. '<div class="post"><form action="?act=category&amp;mod=move&amp;id=' . $id .'" method="post">Выберите категорию' .
  71. ':<br /><select name="category">' . ($cat['refid'] != 0 ? '<option value="0">В корень</option>' : '');
  72.  
  73. $sql->query("SELECT `id`, `name` FROM `mod_lib` WHERE `type` = 'cat' AND `id` != '" . $id . "'");
  74.  
  75. while ($all = $sql->fetch())
  76. {
  77. echo '<option value="' . $all['id'] . '">' . htmlentities($all['name'], ENT_QUOTES, 'UTF-8') . '</option>';
  78. }
  79.  
  80. echo '</select><input type="submit" name="submit" value="Переместить" /></form></div>' .
  81. '<div class="fmenu"><a href="?act=category&amp;mod=view&amp;id=' . $id . '">Назад</a></div>';
  82.  
  83. }
  84.  
  85. }
  86. else
  87. {
  88.  
  89. /* Нет категорий в которые можно было переместить */
  90. $error = 'Список категорий пуст.';
  91.  
  92. }
  93.  
  94. }
  95. else
  96. {
  97.  
  98. /* Категория не найдена */
  99. $error = 'Категория не найдена';
  100.  
  101. }
  102.  
  103. }
  104. else
  105. {
  106.  
  107. /* Неверный ID */
  108. $error = 'Ошибка принятых данных';
  109.  
  110. }
  111.  
  112. }
  113. else
  114. {
  115.  
  116. /* Доступ запрещен */
  117. $error = 'Доступ запрещен';
  118.  
  119. }
  120.  
  121.  
  122. if (!empty($error))
  123. {
  124.  
  125. $error .= '<br /><a href="?act=category&amp;mod=view&amp;id=' . $id . '">Продолжить</a>';
  126.  
  127. }