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

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