Просмотр файла panel/edit_article.php

Размер файла: 4.4Kb
  1. <?php
  2. define('_WBLIB',1);
  3. require_once ('../inc/core.php');
  4. if ($level < 1) {exit('Доступ закрыт');}
  5. $query = mysql_query("SELECT * FROM `article` WHERE `id` = '$id' AND `type` = '2' LIMIT 1");
  6. if (mysql_num_rows($query) == 0) {
  7. require_once ('../inc/head.php');
  8. echo '<div class="error">Статья не найдена</div>';
  9. require_once ('../inc/foot.php');
  10. exit();
  11. }
  12. $cat = mysql_fetch_array($query);
  13.  
  14. // Заголовки
  15. $title = 'Редактирование статьи ';
  16. require_once ('../inc/head.php');
  17. #################################
  18.  
  19. $category = mysql_query("SELECT * FROM `article` WHERE `type` = '1'");
  20. echo '<div class="title">Редактирование статьи</div>';
  21. if (isset($_POST['submit'])) {
  22. if (empty($_POST['name'])) {
  23. $error = "Вы не ввели название статьи<br/>";
  24. }
  25. if (empty($_POST['text'])) {
  26. $error .= "Вы не ввели текст статьи<br/>";
  27. }
  28. if ($error) {
  29. echo '<div class="link"><div class="error">'.$error.'</div></div>';
  30. echo '<div class="bar"><a href="edit_article.php?id='.$id.'">Еще раз</a></div>';
  31. require_once ('../inc/foot.php');
  32. exit();
  33. }
  34.  
  35. if (!empty ($_POST['announce'])) {
  36. $announc = trim($_POST['announce']);
  37. $announce = mb_substr($announc, 0, 255);
  38. }
  39. else {
  40. $announce = mb_substr($text, 0, 255);
  41. }
  42. $name = htmlspecialchars(trim($_POST['name']));
  43. $text = trim($_POST['text']);
  44. # Обработка редактирования статьи #
  45. if (intval($_POST['cat']) != $cat['id_cat']){
  46. $dirid1 = $cat['id_cat'];
  47. $sql1 = '';
  48. while ($dirid1 != '0' && $dirid1 != "") {
  49. $res_down1 = mysql_fetch_assoc(mysql_query("SELECT `id_cat` FROM `article` WHERE `type` = 1 AND `id` = '$dirid1' LIMIT 1"));
  50. if ($i1)
  51. $sql1 .= ' OR ';
  52. $sql1 .= '`id` = \'' . $dirid1 . '\'';
  53. $dirid1 = $res_down1['id_cat'];
  54. ++$i1;
  55.  
  56. }
  57. mysql_query("UPDATE `article` SET `count`= `count`-1 WHERE $sql1");
  58. $dirid = intval($_POST['cat']);
  59. $sql = '';
  60. while ($dirid != '0' && $dirid != "") {
  61. $res_down = mysql_fetch_assoc(mysql_query("SELECT `id_cat` FROM `article` WHERE `type` = 1 AND `id` = '$dirid' LIMIT 1"));
  62. if ($i)
  63. $sql .= ' OR ';
  64. $sql .= '`id` = \'' . $dirid . '\'';
  65. $dirid = $res_down['id_cat'];
  66. ++$i;
  67. }
  68. mysql_query("UPDATE `article` SET `count`= `count`+1 WHERE $sql");
  69.  
  70. }
  71. mysql_query("UPDATE `article` SET
  72. `name`='" .mysql_real_escape_string($name). "',
  73. `who`='".$level."',
  74. `announce` = '".mysql_real_escape_string($announce)."',
  75. `id_cat` = '".mysql_real_escape_string(intval($_POST['cat']))."',
  76. `text`='" .mysql_real_escape_string($text). "'
  77. WHERE `id`='" .$id. "';");
  78. header('Location: '.$home.'/article.php?id='.$id.'');
  79. } else {
  80. $t = htmlentities($cat['text'], ENT_QUOTES, 'UTF-8');
  81. echo '<div class="link"><form action="edit_article.php?id=' . $id . '" method="post">';
  82. echo 'Название статьи(max 255):<br/><input type="text" name="name" value ="'.$cat['name'].'"/><br/>';
  83. echo 'Описание статьи(max. 255):<br/><input type="text" name="announce" value="'.htmlentities($cat['announce'], ENT_QUOTES, 'UTF-8').'"/><br/>';
  84. echo '*Текст статьи:<br/><textarea rows="5" name="text">' . $t .'</textarea><br/>';
  85. echo '<select name="cat">';
  86. while ($c = mysql_fetch_array($category)) {
  87. if ($cat['id_cat'] == $c['id']) echo '<option value="'.$c['id'].'" selected>'.$c['name'].'</option>';
  88. else echo '<option value="'.$c['id'].'">'.$c['name'].'</option>';
  89. }
  90. echo '</select>';
  91. echo '<input type="submit" name="submit" value="Изменить"/></form></div>';
  92. }
  93. echo '<div class="bar"><a href="'.$home.'/article.php?id='.$id.'">Назад</a></div>';
  94. echo '<div class="func"><a href="'.$home.'">Главная</a></div>';
  95. require_once ('../inc/foot.php');
  96. ?>