Просмотр файла diary/index.php

Размер файла: 18.03Kb
  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. echo '<div class="razdel">Дневники</div>';
  10. if(is_user()){
  11. $users = mysql_query('SELECT * FROM users WHERE login = "'.$_COOKIE['login'].'"');
  12. $users = mysql_fetch_assoc($users);
  13. $admin = $users['status'];
  14. }
  15. switch ($mode):
  16. case 'index':
  17. echo'<div class="menu">Разделы</div>';
  18. define('TOPAGE',10);
  19. $page=(int)$_GET['page'];
  20. $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `diary`"),0);
  21. $total = intval(($q - 1) / TOPAGE) + 1;
  22. if(empty($page) or $page < 0) $page = 1;
  23. if($page > $total) $page = $total;
  24. $start = $page * TOPAGE -TOPAGE;
  25.  
  26. $g=mysql_query("SELECT * FROM `diary` LIMIT $start,".TOPAGE."");
  27. while($u=mysql_fetch_array($g)){
  28. echo'<div class="menu">';
  29. echo'<a href="?mode=diary&id='.$u['id'].'">'.$u['name'].'</a> ['.index_to('diary_cat','id_diary',$u['id']).']';
  30. echo'</div>';
  31. }
  32. if ($page != $total) $nextpage = ' <a href="?mode=index&page='. ($page + 1) .'">Далее</a>';
  33. if($page - 1 > 0) $pageback = '<a href="?mode=index&page='. ($page - 1) .'">Назад</a> ';
  34.  
  35. echo''.$pageback.' '.$nextpage.'';
  36. if(is_admin()){echo'<div class="menu"><a href="?mode=admin">Добавить разделы</a></div>';}
  37. break;
  38. case 'diary':
  39. $id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
  40. echo'<div class="menu">Дневники</div>';
  41. define('TOPAGE',10);
  42. $page=(int)$_GET['page'];
  43. $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_cat` WHERE `id_diary` = '".$id."'"),0);
  44. $total = intval(($q - 1) / TOPAGE) + 1;
  45. if(empty($page) or $page < 0) $page = 1;
  46. if($page > $total) $page = $total;
  47. $start = $page * TOPAGE -TOPAGE;
  48.  
  49. $g=mysql_query("SELECT * FROM `diary_cat` WHERE `id_diary` = '".$id."' LIMIT $start,".TOPAGE."");
  50. while($u=mysql_fetch_array($g)){
  51. echo'<div class="menu">';
  52. echo'<a href="?mode=see&id='.$u['id'].'">'.$u['name'].'</a> ['.index_to('diary_note','id_diary_cat',$u['id']).'] ';
  53. if(is_admin(array(101, 102))){echo'[<a href="?mode=ful_dell_diary">X</a>]';}
  54. echo'<br />
  55. Автор: <a href="/users/profile.php?user='.$u['login'].'">'.$u['login'].'</a><br />
  56. Дата: '.$u['data'].'';
  57. echo'</div>';
  58. }
  59. if ($page != $total) $nextpage = ' <a href="?mode=diary&id='.$id.'&page='. ($page + 1) .'">Далее</a>';
  60. if($page - 1 > 0) $pageback = '<a href="?mode=diary&id='.$id.'&page='. ($page - 1) .'">Назад</a> ';
  61. if(is_user()){
  62. echo'<div class="menu">';
  63. echo'<a href="?mode=add_diary&id='.$id.'">Создать тут дневник</a>';
  64. echo'</div>';
  65. }
  66. echo''.$pageback.' '.$nextpage.'';
  67. break;
  68. case 'see':
  69. $id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
  70. echo'<div class="menu">Заметки</div>';
  71. define('TOPAGE',10);
  72. $page=(int)$_GET['page'];
  73. $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_note` WHERE `id_diary_cat` = '".$id."'"),0);
  74. $total = intval(($q - 1) / TOPAGE) + 1;
  75. if(empty($page) or $page < 0) $page = 1;
  76. if($page > $total) $page = $total;
  77. $start = $page * TOPAGE -TOPAGE;
  78.  
  79. $g=mysql_query("SELECT * FROM `diary_note` WHERE `id_diary_cat` = '".$id."' LIMIT $start,".TOPAGE."");
  80. while($u=mysql_fetch_array($g)){
  81. echo'<div class="menu">';
  82. echo''.$u['data'].'<br />
  83. Автор: <a href="/users/profile.php?user='.$u['login'].'">'.$u['login'].'</a><br />
  84. '.$u['name'].'<br />
  85. <a href="?mode=note&id='.$u['id'].'">читать</a> | <a href="?mode=com&id='.$u['id'].'">комментарии</a> ['.index_to('diary_com','id_diary_note',$u['id']).']';
  86. echo'</div>';
  87. }
  88. if ($page != $total) $nextpage = ' <a href="?mode=see&id='.$id.'&page='. ($page + 1) .'">Далее</a>';
  89. if($page - 1 > 0) $pageback = '<a href="?mode=see&id='.$id.'&page='. ($page - 1) .'">Назад</a> ';
  90. if(is_user()){
  91. echo'<div class="menu">';
  92. echo'<a href="?mode=add_note&id='.$id.'">Написать заметку</a>';
  93. echo'</div>';
  94. }
  95. echo''.$pageback.' '.$nextpage.'';
  96. break;
  97. case 'note':
  98. $id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
  99. echo'<div class="menu">Заметкa</div>';
  100. $note = mysql_query('SELECT * FROM `diary_note` WHERE `id` = "'.$id.'"');
  101. $note = mysql_fetch_assoc($note);
  102. echo'<div class="menu">';
  103. if(!empty($note['id'])){
  104. mysql_query("UPDATE `diary_note` SET `count`=`count` + 1 WHERE id = '".$note['id']."';");
  105. if($note['status'] == 'all'){
  106. echo'Заметка: <strong>'.$note['name'].'</strong><br />
  107. Автор: <a href="/users/profile.php?user='.$note['login'].'">'.$note['login'].'</a><br />
  108. Дата: '.$note['data'].'<br />
  109. Просмотров: '.$note['count'].'<br />';
  110. if($note['status'] == 'all'){echo'Показывается: Абсолютно всем<br /><br />'; } else {echo'Показывается: Только пользователям<br /><br />';}
  111. echo''.$note['msg'].'
  112. <br /><br />
  113. <a href="?mode=com&id='.$note['id'].'">Комментарии</a> ['.index_to('diary_com','id_diary_note',$note['id']).']<br />';
  114. if($note['login'] == $_COOKIE['login'] && $note['time'] >= time() || $admin == 101 || $admin == 102 || $admin == 103){echo'<a href="?mode=edit_note&id='.$note['id'].'">Изменить</a>';}
  115. } else {
  116. if(is_user()){
  117. echo'Заметка: <strong>'.$note['name'].'</strong><br />
  118. Автор: <a href="/users/profile.php?user='.$note['login'].'">'.$note['login'].'</a><br />
  119. Дата: '.$note['data'].'<br />
  120. Просмотров: '.$note['count'].'<br />';
  121. if($note['status'] == 'all'){echo'Показывается: Абсолютно всем<br /><br />'; } else {echo'Показывается: Только пользователям<br /><br />';}
  122. echo''.$note['msg'].'
  123. <br /><br />
  124. <a href="?mode=com&id='.$note['id'].'">Комментарии</a> ['.index_to('diary_com','id_diary_note',$note['id']).']<br />';
  125. if($note['login'] == $_COOKIE['login'] && $note['time'] >= time() || $admin == 101 || $admin == 102 || $admin == 103){echo'<a href="?mode=edit_note&id='.$note['id'].'">Изменить</a>';}
  126. } else {echo'Просматривать статью могут только зарегистрированые пользователи!'; }
  127. }
  128. } else {echo'Ошибка! Упс! похоже ID статьи не существует!'; }
  129. echo'</div>';
  130. break;
  131. case 'com':
  132. $id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
  133. echo'<div class="menu">Комментарии</div>';
  134. echo'<div class="menu">';
  135. echo'<form action="?mode=com_add&id='.$id.'" method="post">
  136. Сообщение: (<a href="/pages/smiles.php">смайлы</a>)<br />
  137. <TEXTAREA NAME="msg" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; "></TEXTAREA><br />
  138. <input name="" type="submit" value="Добавить" /><br />
  139. <a href="?mode=note&id='.$id.'">Назад в заметку</a>
  140. </form>';
  141. echo'</div>';
  142. define('TOPAGE',10);
  143. $page=(int)$_GET['page'];
  144. $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_com` WHERE `id_diary_note` = '".$id."'"),0);
  145. $total = intval(($q - 1) / TOPAGE) + 1;
  146. if(empty($page) or $page < 0) $page = 1;
  147. if($page > $total) $page = $total;
  148. $start = $page * TOPAGE -TOPAGE;
  149.  
  150. $g=mysql_query("SELECT * FROM `diary_com` WHERE `id_diary_note` = '".$id."' LIMIT $start,".TOPAGE."");
  151. while($u=mysql_fetch_array($g)){
  152. $login = $u['login'];
  153. $li =mysql_query("SELECT * FROM users WHERE `login`='$login';");
  154. $li = mysql_fetch_assoc($li);
  155. if($li['status'] == 101){$st ='Администратор';}
  156. if($li['status'] == 102){$st ='Помощник Администратора';}
  157. if($li['status'] == 103){$st ='Модератор';}
  158. if($li['status'] == 104){$st ='Помощник Модератора';}
  159. if($li['status'] == 105){$st ='Пользователь';}
  160. $p = mysql_query('SELECT * FROM session_user WHERE user = "'.$login.'"');
  161. if(mysql_num_rows($p) != 0){ $on ='[<font color="green">On</font>]'; } else { $on ='[<font color="red">Off</font>]'; }
  162. if($li['avatar_mini'] == NULL){ $avatar ='/images/noavatar.gif'; } else {$avatar = ''.$li['avatar_mini'].'';}
  163.  
  164. echo'<div class="menu">';
  165. echo'<div style="overflow: hidden"><div style="float: left"><img src="'.$avatar.'"></div> <a href="/users/profile.php?user='.$login.'">'.$login.'</a> ('.$u['data'].')<br />
  166. '.$st.' '.$on.'</div><hr>';
  167. echo $u['msg'];
  168. if($u['login'] == $_COOKIE['login'] && $u['time'] >= time() || $admin == 101 || $admin == 102 || $admin == 103){ echo'<hr><div align="right">';
  169. echo'[<a href="?mode=edit_com&id='.$u['id'].'">Изм</a>]';
  170. if($admin == 101 || $admin == 102){echo'[<a href="?mode=del_com&id='.$u['id'].'" onclick="return confirm(\'Вы подтверждаете удаление?\')">Удал</a>]'; }
  171. echo'</div>';
  172. }
  173. echo'</div>';
  174. }
  175. if ($page != $total) $nextpage = ' <a href="?mode=com&id='.$id.'&page='. ($page + 1) .'">Далее</a>';
  176. if($page - 1 > 0) $pageback = '<a href="?mode=com&id='.$id.'&page='. ($page - 1) .'">Назад</a> ';
  177.  
  178. echo''.$pageback.' '.$nextpage.'';
  179. break;
  180. case 'edit_com':
  181. $id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
  182. $msg = check($_POST['msg']);
  183. echo'<div class="menu">Комментарии</div>';
  184. echo'<div class="menu">';
  185. $note = mysql_query('SELECT * FROM `diary_com` WHERE `id` = "'.$id.'"');
  186. $note = mysql_fetch_assoc($note);
  187. if(!empty($note['id'])){
  188. if($note['login'] == $_COOKIE['login'] && $note['time'] >= time() || $admin == 101 || $admin == 102 || $admin == 103){
  189. echo'
  190. <form action="?mode=edit_com&id='.$id.'" method="post">
  191. Сообщение:<br />
  192. <TEXTAREA NAME="msg" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; ">'.nosmiles($note['msg']).'</TEXTAREA><br />
  193. <input name="" type="submit" value="Изменить" />
  194. </form>
  195. ';
  196. if($msg == !NULL){
  197. $msg = no_br($msg);
  198. $msg = antimat($msg);
  199. $msg = smiles($msg);
  200. mysql_query("UPDATE `diary_com` SET `msg`='$msg' WHERE id = '".$id."';");
  201. header ('location: ?mode=edit_note&id='.$id.'');
  202. }
  203. } else { echo'Вы не имеете право изменять данную заметку. Или время редактирование уже закончилось!';}
  204. } else {echo'Ошибка! Упс! похоже ID не существует!'; }
  205. echo'</div>';
  206. break;
  207. case 'del_com':
  208. echo'<div class="menu">Комментарии</div>';
  209. echo'<div class="menu">';
  210. $id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
  211. if($id == !NULL){
  212. if(is_admin(array(101, 102, 103))){
  213. mysql_query('DELETE FROM `dairy_com` WHERE `id` = "'.$id.'"');
  214. echo'<a href="'.$_SERVER['HTTP_REFERER'].'">Удалено! Назад</a>';
  215. }
  216. }
  217. echo'</div>';
  218.  
  219. break;
  220. case 'com_add':
  221. $id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
  222. $msg = check($_POST['msg']);
  223. $note = mysql_query('SELECT * FROM `diary_note` WHERE `id` = "'.$id.'"');
  224. $note = mysql_fetch_assoc($note);
  225. echo'<div class="menu">Комментарии</div>';
  226. echo'<div class="menu">';
  227. if(!empty($note['id'])){
  228. $data = date("d.m.Y H:i:s");
  229. $time = time() + (60 * 15);
  230. $msg = no_br($msg);
  231. $msg = antimat($msg);
  232. $msg = smiles($msg);
  233. mysql_query('INSERT INTO `diary_com`(`id_diary_note`, `login`, `data`, `msg`, `time`) VALUES ("'.$id.'","'.$_COOKIE['login'].'","'.$data.'","'.$msg.'","'.$time.'")');
  234. header("Location: ?mode=com&id=".$id."");
  235. smesh(1,2,$_COOKIE['login']);
  236. rating_plus($_COOKIE['login'],1);
  237.  
  238. } else {echo'Ошибка! Упс! похоже ID статьи не существует!'; }
  239. echo'</div>';
  240. break;
  241. case 'edit_note':
  242. $id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
  243. $msg = check($_POST['msg']);
  244. $name = check($_POST['name']);
  245. $note = mysql_query('SELECT * FROM `diary_note` WHERE `id` = "'.$id.'"');
  246. $note = mysql_fetch_assoc($note);
  247. echo'<div class="menu">Изменить заметку</div>';
  248. echo'<div class="menu">';
  249. if($note['login'] == $_COOKIE['login'] && $note['time'] >= time() || $admin == 101 || $admin == 102 || $admin == 103){
  250. echo'
  251. <form action="?mode=edit_note&id='.$id.'" method="post">
  252. Название:<br />
  253. <input name="name" type="text" value="'.$note['name'].'"/><br />
  254. Заметка:<br />
  255. <TEXTAREA NAME="msg" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; ">'.nosmiles($note['msg']).'</TEXTAREA><br />
  256. <input name="" type="submit" value="Изменить" />
  257. </form>
  258. ';
  259. if($msg == !NULL && $name == !NULL){
  260. $msg = no_br($msg);
  261. $msg = antimat($msg);
  262. $msg = smiles($msg);
  263. mysql_query("UPDATE `diary_note` SET `name`='$name',`msg`='$msg' WHERE id = '".$id."';");
  264. header ('location: ?mode=edit_note&id='.$id.'');
  265. }
  266. } else { echo'Вы не имеете право изменять данную заметку. Или время редактирование уже закончилось!';}
  267. echo'</div>';
  268. break;
  269. case 'add_diary':
  270. $id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
  271. $name = check($_POST['name']);
  272. echo'<div class="menu">Cоздать дневник</div>';
  273. echo'<div class="menu">';
  274. echo'<form action="?mode=add_diary&id='.$id.'" method="post">
  275. Название дневника:<br />
  276. <input name="name" type="text" /><br />
  277. <input name="" type="submit" value="Добавить" />
  278. </form>';
  279. if($name == !NULL){
  280. if (utf_strlen($name) >= 5 && utf_strlen($name) < 100) {
  281. $data = date("d.m.Y H:i:s");
  282. mysql_query('INSERT INTO `diary_cat`(`id_diary`, `login`, `data`, `name`) VALUES ("'.$id.'","'.$_COOKIE['login'].'","'.$data.'","'.$name.'")');
  283. header ('location: ?mode=dairy');
  284. } else { echo'Ошибка! Слишком длинное или короткое название!'; }
  285. }
  286. echo'</div>';
  287. break;
  288. case 'add_note':
  289. $id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
  290. $msg = check($_POST['msg']);
  291. $name = check($_POST['name']);
  292. $status = check($_POST['status']);
  293. echo'<div class="menu">Cоздать заметку</div>';
  294. echo'<div class="menu">';
  295. $note = mysql_query('SELECT * FROM `diary_cat` WHERE `id` = "'.$id.'"');
  296. $note = mysql_fetch_assoc($note);
  297. if($note['login'] == $_COOKIE['login']){
  298. echo'<form action="?mode=add_note&id='.$id.'" method="post">
  299. Название:<br />
  300. <input name="name" type="text" /><br />
  301. Сообщение:<br />
  302. <TEXTAREA NAME="msg" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; "></TEXTAREA><br />
  303. Заметка видна:<br />
  304. <select name="status">
  305. <option value="all">Всем</option>
  306. <option value="user">Пользователям</option>
  307. </select><br />
  308. <input name="" type="submit" value="Добавить" />
  309. </form>
  310. ';
  311. if($msg == !NULL && $name == !NULL){
  312. $data = date("d.m.Y H:i:s");
  313. $time = time() + (60 * 15);
  314. mysql_query('INSERT INTO `diary_note`(`id_diary_cat`, `login`, `data`, `name`,`msg`,`count`,`status`,`time`) VALUES ("'.$id.'","'.$_COOKIE['login'].'","'.$data.'","'.$name.'","'.$msg.'",0,"'.$status.'","'.$time.'")');
  315. header ('location: ?mode=see&id='.$id.'');
  316. smesh(1,2,$_COOKIE['login']);
  317. rating_plus($_COOKIE['login'],1);
  318. }
  319. } else { echo'Вы не являетесь автором данного дневника'; }
  320. echo'</div>';
  321. break;
  322. case 'ful_del_diary':
  323. if(is_admin(array(101, 102))){
  324. $id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
  325. diaty($id);
  326. header ('location: ?mode=index');
  327. } else {header ('location: ?mode=index'); }
  328. break;
  329. /*
  330. ------------------------------------------------------
  331. Админка
  332. ------------------------------------------------------
  333. */
  334. case 'admin':
  335. if(is_admin(array(101))){
  336. echo' Список радделов: (<a href="?mode=admin_add">Добавить</a>)</div>';
  337. $t = mysql_query("select * from `diary`");
  338. while($u=mysql_fetch_array($t)){
  339. echo'<div class="menu">'.$u['id'].'. '.$u['name'].' [<a href="?mode=admin_dell&id='.$u['id'].'">удал</a>][<a href="?mode=admin_edit&id='.$u['id'].'">изм</a>]</div>';
  340. }
  341. } else {echo'Вход разрешен только админ составу!</div>';}
  342. break;
  343. case 'admin_dell':
  344. $id = abs(htmlspecialchars($_GET['id']));
  345. if(is_admin(array(101))){
  346. if($id == NULL){ echo'Сообщение не выбрано!</div>'; } else {
  347. mysql_query('DELETE FROM `diary_note` WHERE `id_diary_cat` = "'.$id.'"');
  348. mysql_query('DELETE FROM `diary_com` WHERE `id_diary_note` = "'.$id.'"');
  349. mysql_query('DELETE FROM `diary_cat` WHERE `id_diary` = "'.$id.'"');
  350. mysql_query('DELETE FROM `diary` WHERE `id` = "'.$id.'"');
  351. header("Location: ?mode=admin");
  352. }
  353. } else {echo'Вход разрешен только админ составу!</div>';}
  354. break;
  355. case 'admin_edit':
  356. $id = abs(htmlspecialchars($_GET['id']));
  357. $name = htmlspecialchars($_POST['name']);
  358. if(is_admin(array(101))){
  359. if($name == ''){
  360. $z = mysql_query("select * from `diary` where `id` = '".$id."'");
  361. $z = mysql_fetch_assoc($z);
  362. echo'<form action="?mode=diary_edit&id='.$id.'" method="post">';
  363. echo'<input name="name" type="text" value="'.$z['name'].'" size="30" maxlength="50" />';
  364. echo'<input type="submit" name="submit_1" id="submit" value="Изменить!">
  365. </form>';
  366. echo'</div>';
  367. } else {
  368. mysql_query('UPDATE `diary` SET `name`="'.$name.'" WHERE `id` = "'.$id.'"');
  369. header("Location: ?mode=admin");
  370. }
  371. } else {echo'Вход разрешен только админ составу!</div>';}
  372. break;
  373. case 'admin_add':
  374. $id = abs(htmlspecialchars($_GET['id']));
  375. if(is_admin(array(101))){
  376. $name = htmlspecialchars($_POST['name']);
  377. if($name == NULL){
  378. echo'<form action="?mode=admin_add" method="post">';
  379. echo'<input name="name" type="text" value="" size="30" maxlength="50" />';
  380. echo'<input type="submit" name="submit_1" id="submit" value="Добавить!">
  381. </form>';
  382. echo'</div>';
  383. } else {
  384. mysql_query('INSERT INTO `diary`(`name`) VALUES ("'.$name.'")');
  385. header("Location: ?mode=admin");
  386. }
  387. } else {echo'Вход разрешен только админ составу!</div>';}
  388. break;
  389. default:
  390. header ('location: ?mode=index');
  391. endswitch;
  392. echo'<div class="menu"><a href="/">На главную</a></div>';
  393. include(BASEDIR.INC.'foot.php');
  394. ?>