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

Размер файла: 5.37Kb
  1. <?php
  2.  
  3. $access = FALSE;
  4. $do = $do == 'edit' ? 'edit' : 'add';
  5.  
  6. if ($id === FALSE)
  7. {
  8. $id = 0;
  9. }
  10.  
  11. if ($admin)
  12. {
  13. /* Открыть доступ для модераторов и администраторов */
  14. $access = TRUE;
  15. }
  16.  
  17. if ($id !== 0 && $do == 'add' && $user_id)
  18. {
  19.  
  20. $cat = $sql->query("SELECT `mod` FROM `mod_lib` WHERE `id` = " . $id . " AND `type` = 'cat'")->fetch();
  21.  
  22. if ($cat !== FALSE)
  23. {
  24. if ($cat['mod'] == 1)
  25. {
  26. /* Открыть доступ для пользователей (для добавления статьи) */
  27. $access = TRUE;
  28. }
  29. }
  30. else
  31. {
  32. $error = 'Категория не найдена. <br /><a href="index.php">В библиотеку</a>';
  33. }
  34.  
  35. }
  36.  
  37. if ($access === TRUE && $user_id && !isset($error))
  38. {
  39. if ($do == 'edit')
  40. {
  41. /* Получить данные статьи для редактировоания */
  42. $arc = $sql->query("SELECT `name`,`announce`,`text`,`tags` FROM `mod_lib` WHERE `id` = '" . $id . "' AND `type` = 'arc'")->fetch();
  43. if ($arc === FALSE)
  44. {
  45. $error = 'Статья не найдена<br /><a href="?act=articles&amp;mod=view&amp;id=' . $id . '">Назад</a>';
  46. }
  47. elseif (empty($_POST))
  48. {
  49.  
  50. $title = htmlentities($arc['name'], ENT_QUOTES, 'UTF-8');
  51. $text = htmlentities($arc['text'], ENT_QUOTES, 'UTF-8');
  52. $announce = htmlentities($arc['announce'], ENT_QUOTES, 'UTF-8');
  53. $tags = htmlentities($arc['tags'], ENT_QUOTES, 'UTF-8');
  54.  
  55. }
  56.  
  57. }
  58. if (!empty($_POST) || $do == 'add')
  59. {
  60.  
  61. $title = isset($_POST['title']) ? htmlentities($_POST['title'], ENT_QUOTES, 'UTF-8') : '';
  62. $announce = isset($_POST['announce']) ? htmlentities($_POST['announce'], ENT_QUOTES, 'UTF-8') : '';
  63. $text = isset($_POST['text']) ? htmlentities($_POST['text'], ENT_QUOTES, 'UTF-8') : '';
  64. $tags = isset($_POST['tags']) ? htmlentities($_POST['tags'], ENT_QUOTES, 'UTF-8') : '';
  65.  
  66. }
  67.  
  68. if (!isset($error))
  69. {
  70.  
  71. /* Форма добавления|редактирования статьи */
  72. echo '<div class="fmenu">' . 'Библиотека' . ' | ' . ($do == 'add' ? 'Добавить статью' : 'Редактировать статью') . '</div>' .
  73. '<div class="post">Обязательные поля помечены звездочкой<span class="red">*</span>.</div>' .
  74. '<form action="?act=articles&amp;mod=save&amp;id=' . $id . '&amp;do=' . $do . '" method="post" name="form" enctype="multipart/form-data">' .
  75. '<div class="msg">' .
  76. /* Title */
  77. '<p><span class="red">*</span>&#160;<b>Заголовок: </b> (1 - 120)<br /><input type="text" name="title" value="' . $title . '" /></p>' .
  78. /* Announce */
  79. '<p><span class="red">*</span>&#160;<b>Анонс:</b> (1 - 200)<br /><input type="text" name="announce" value="' . $announce . '" /></p>' .
  80. /* Text */
  81. '<p><span class="red">*</span>&#160;<b>Текст</b>:<br />' .
  82. '<textarea name="text" rows="10">' . $text . '</textarea></p>' .
  83. /* Tags */
  84. '<p><b>Метки:</b> (1-200)&#160;через запятую<br /><input type="text" name="tags" value="' . $tags . '" /></p>' .
  85. /* Submit */
  86. '<p><input type="submit" name="submit" value="' . ($do == 'add' ? 'Добавить' : 'Сохранить') . '" /></p></div>';
  87.  
  88. /* Список прикрепленных файлов */
  89.  
  90. $files = isset($_SESSION['files']) ? $_SESSION['files'] : array();
  91.  
  92. if ($do == 'edit')
  93. {
  94.  
  95. $sql->query("SELECT `name` FROM `mod_lib_files` WHERE `aid` = '" . $id . "'");
  96. while($temp = $sql->fetch())
  97. {
  98.  
  99. $ext = explode('.', $temp['name']);
  100. $files[$temp['name']] = $ext[1];
  101.  
  102. }
  103.  
  104. }
  105.  
  106. if (!empty($files))
  107. {
  108.  
  109. echo '<div class="msg"><p><b>Прикрепленные файлы:</b>';
  110.  
  111. foreach ($files as $name => $type)
  112. {
  113.  
  114. $name = htmlentities($name, ENT_QUOTES, 'UTF-8');
  115.  
  116. echo '<div style="padding: 4px 0px 2px 0px">';
  117. echo '<a href="files/attach/' . $name . '">' . $name . '</a>';
  118. echo '&#160;<input type="submit" name="delfile_' . $name . '" value="Удалить" />';
  119. echo isImage($type) ? '<br /><input style="margin-top: 4px;" type="text" value="[img]' . $name .
  120. '[/img]" />' : '';
  121. echo '</div>';
  122.  
  123. }
  124.  
  125. echo '</p></div>';
  126.  
  127. }
  128.  
  129. /* Attach file */
  130. echo '<div class="post"><p><b>Прикрепить файл:</b><br /><input type="file" name="file" /></p>' .
  131. '<input type="submit" name="addfile" value="Прикрепить" /></div></form>' .
  132. '<div class="fmenu">' .
  133. ($do == 'add'
  134. ? '<a href="?act=category&amp;mod=view&amp;id=' . $id . '">Назад</a>'
  135. : '<a href="?act=articles&amp;mod=view&amp;id=' . $id . '">Назад</a>'
  136. ) . '</div>';
  137.  
  138. }
  139.  
  140. }
  141. else
  142. {
  143.  
  144. $error = 'Доступ запрещен';
  145.  
  146. }