Просмотр файла admin_panel/news.php

Размер файла: 5.05Kb
  1. <?
  2. include('../core/core.php');
  3. include(BASEDIR.INC.'func.php');
  4. include(BASEDIR.INC.'session.php');
  5. include(BASEDIR.INC.'session_user.php');
  6. $mode = htmlspecialchars($_GET['mode']);
  7. include(BASEDIR.INC.'head.php');
  8. show_title('Управление гостевой книгой');
  9. if (is_admin(array(101, 102))) {
  10. $users = mysql_query('SELECT * FROM users WHERE login = "'.$_COOKIE['login'].'"');
  11. $users = mysql_fetch_assoc($users);
  12. $admin = $users['status'];
  13. if($admin == 101 || $admin == 102){ echo'<div class="razdel">Админ-панель</div>'; }
  14. $act = '<img src="'.BASEDIR.''.IMG.'act.png">';
  15. switch ($mode):
  16. case 'index':
  17. echo'<div class="menu">';
  18. echo''.$act.' <a href="?mode=add">Добивить новость</a><br />
  19. '.$act.' <a href="?mode=edit">Изменить новость</a><br />
  20. '.$act.' <a href="?mode=delet">Удалить новость</a><br />';
  21. echo'</div>';
  22. break;
  23. case 'add':
  24. echo'<div class="menu">
  25. <form action="?mode=add_ok" method="post">
  26. Название новости:<br />
  27. <input name="title" type="text" value="" /><br />
  28. Новость:<br />
  29. <textarea name="msg" cols="45" rows="5"></textarea><br />
  30. <input name="" type="submit" value="Добавить" />
  31. </form>
  32. </div>';
  33. break;
  34. case 'add_ok':
  35. $msg = check($_POST['msg']);
  36. $title = check($_POST['title']);
  37. if (utf_strlen($msg) >= 50 && utf_strlen($msg) < 1000) {
  38. $msg = no_br($msg);
  39. $msg = smiles($msg);
  40. $data = date("d.m.Y");
  41. mysql_query('INSERT INTO `news`(`title`, `news`, `data`, `login`,`time`) VALUES ("'.$title.'","'.$msg.'","'.$data.'","'.$_COOKIE['login'].'","'.(time() + (86400 * 3)).'")');
  42. echo'<div class="menu">Новость Добавлена!</div>';
  43. } else { echo'Ошибка! Слишком длинное или короткое сообщение!'; }
  44. break;
  45. case 'delet_kom':
  46. $id = abs($_GET['id']);
  47. mysql_query('DELETE FROM `news_kom` WHERE `id` = "'.$id.'"');
  48. $a = $_SERVER['HTTP_REFERER'];
  49. header ('location: '.$a.'');
  50. break;
  51. case 'delet':
  52. $id = abs($_GET['id']);
  53. if($id == NULL){
  54. define('TOPAGE',10);
  55. $page=(int)$_GET['page'];
  56. $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `news` "),0);
  57. $total = intval(($q - 1) / TOPAGE) + 1;
  58. if(empty($page) or $page < 0) $page = 1;
  59. if($page > $total) $page = $total;
  60. $start = $page * TOPAGE -TOPAGE;
  61.  
  62. $g=mysql_query("SELECT * FROM `news` ORDER BY `id` DESC LIMIT $start,".TOPAGE."");
  63. while($u=mysql_fetch_array($g)){
  64. echo'<div class="menu">
  65. <a href="?mode=delet&id='.$u['id'].'" onclick="return confirm(\'Вы подтверждаете удаление?\')">'.$u['title'].'</a>
  66. </div>';
  67. }
  68.  
  69. if ($page != $total) $nextpage = ' <a href="?mode='.$mode.'&page='. ($page + 1) .'">Далее</a>';
  70. if($page - 1 > 0) $pageback = '<a href="?mode='.$mode.'&page='. ($page - 1) .'">Назад</a> ';
  71. echo''.$pageback.' '.$nextpage.'';
  72. } else {
  73. mysql_query('DELETE FROM `news` WHERE `id` = "'.$id.'"');
  74. mysql_query('DELETE FROM `news_kom` WHERE `id_news` = "'.$id.'"');
  75. echo'<div class="menu">Новость удалена!</div>';
  76. }
  77. break;
  78.  
  79.  
  80. case 'edit':
  81. $id = abs($_GET['id']);
  82. if($id == NULL){
  83. define('TOPAGE',10);
  84. $page=(int)$_GET['page'];
  85. $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `news` "),0);
  86. $total = intval(($q - 1) / TOPAGE) + 1;
  87. if(empty($page) or $page < 0) $page = 1;
  88. if($page > $total) $page = $total;
  89. $start = $page * TOPAGE -TOPAGE;
  90.  
  91. $g=mysql_query("SELECT * FROM `news` ORDER BY `id` DESC LIMIT $start,".TOPAGE."");
  92. while($u=mysql_fetch_array($g)){
  93. echo'<div class="menu">
  94. <a href="?mode=edit&id='.$u['id'].'">'.$u['title'].'</a>
  95. </div>';
  96. }
  97.  
  98. if ($page != $total) $nextpage = ' <a href="?mode='.$mode.'&page='. ($page + 1) .'">Далее</a>';
  99. if($page - 1 > 0) $pageback = '<a href="?mode='.$mode.'&page='. ($page - 1) .'">Назад</a> ';
  100. echo''.$pageback.' '.$nextpage.'';
  101. } else {
  102. $n = mysql_query('SELECT * FROM news WHERE id = "'.$id.'"');
  103. $n = mysql_fetch_assoc($n);
  104. echo'<div class="menu">
  105. <form action="?mode=edit_ok&id='.$id.'" method="post">
  106. <input name="title" type="text" value="'.$n['title'].'" /><br />
  107. <textarea name="msg" cols="45" rows="5">'.nosmiles($n['news']).'</textarea><br />
  108. <input name="" type="submit" value="Редактировать" />
  109. </form>
  110. </div>';
  111. }
  112. break;
  113. case 'edit_ok':
  114. $id = abs($_GET['id']);
  115. $msg = check($_POST['msg']);
  116. $title = check($_POST['title']);
  117. if (utf_strlen($msg) >= 50 && utf_strlen($msg) < 1000) {
  118. $msg = no_br($msg);
  119. $msg = smiles($msg);
  120. mysql_query("UPDATE `news` SET `news`='$msg',`title`='$title' WHERE id = '".$id."'");
  121. echo'<div class="menu">Новость изменена!!</div>';
  122. } else { echo'Ошибка! Слишком длинное или короткое сообщение!'; }
  123. break;
  124. default:
  125. header ('location: ?mode=index');
  126. endswitch;
  127. echo'<div class="menu"><a href="/">На главную</a></div>';
  128. } else {header ('location: /index.php?mode=index'); }
  129. include(BASEDIR.INC.'foot.php');
  130. ?>
  131.