Просмотр файла include/mans.php

Размер файла: 15.96Kb
  1. <?
  2. if( in_array($status, array('admin', 'moderator')) )
  3. {
  4.  
  5. $f = intval($_GET['f']);
  6. $s = intval($_GET['s']);
  7. $uid = intval($_GET['uid']);
  8.  
  9. $Aquery = mysql_query("SELECT * FROM users WHERE id=".$uid);
  10. $Aq = mysql_fetch_assoc($Aquery);
  11. $Aname = $Aq['username'];
  12.  
  13. if(!empty($uid))
  14. {
  15. $s = $Aname;
  16. }
  17.  
  18. if($status == "admin") $ip = "127.0.0.1"; else $ip = empty($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['REMOTE_ADDR'] : $_SERVER['HTTP_X_FORWARDED_FOR'] ;
  19. $ip = htmlspecialchars(sql($ip));
  20. if($status == "admin") $user = "Admin"; else $user = htmlspecialchars(sql($_SERVER['HTTP_USER_AGENT']));
  21. $query = mysql_query("SELECT mthemes.*, mforums.name AS fname
  22. FROM mthemes, mforums
  23. WHERE mthemes.id=".$f."
  24. AND mthemes.id_forum=mforums.id");
  25. $data = mysql_fetch_assoc($query);
  26. if(mysql_num_rows($query) < 1)
  27. {
  28. if($version == "wml")
  29. {
  30. header('Content-type: text/vnd.wap.wml; charset=utf-8');
  31. header("Cache-Control: no-cache");
  32. echo(doctype("Ошибка").$tag.'
  33. Темы не существует! <br />
  34. -
  35. <a href="./?p=1&amp;v=wml&amp;sid='.$sid.'">Форумы</a> '.$tagC.'
  36. </p></card></wml>');
  37. } elseif($version == "xhtml")
  38. {
  39. header("Content-type: text/html; charset=utf-8");
  40. header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
  41. header("Cache-Control: no-cache, must-relative");
  42. echo('<html>
  43. <head>
  44. <title>Ошибка</title>
  45. </head>
  46. <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
  47. <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
  48. <tr><td align="center" bgcolor="'.$style['title'].'">
  49. <font color="#FFFFFF"><b>Ошибка</b></font>
  50. </td></tr>
  51. <tr><td bgcolor="'.$style['text'].'">'.$tag.'
  52. Темы не существует!
  53. '.$tagC.'</td></tr>
  54. <tr><td bgcolor="'.$style['bottom'].'">'.$tag.'
  55. <a href="./?p=1&amp;v=xhtml&amp;sid='.$sid.'">Форумы</a>
  56. '.$tagC.'</td></tr></table>
  57. </body></html>');
  58. }
  59. } elseif($data['close'] == "on")
  60. {
  61. if($version == "wml")
  62. {
  63. header('Content-type: text/vnd.wap.wml; charset=utf-8');
  64. header("Cache-Control: no-cache");
  65. echo(doctype("Ошибка").$tag.'
  66. Темы закрыта! <br />
  67.  
  68. <anchor>Назад<prev /></anchor><br />
  69. <a href="./?p=1&amp;v=wml&amp;sid='.$sid.'">Форумы</a>
  70. '.$tagC.'
  71. </p></card></wml>');
  72. } elseif($version == "xhtml")
  73. {
  74. header("Content-type: text/html; charset=utf-8");
  75. header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
  76. header("Cache-Control: no-cache, must-relative");
  77. echo('<html>
  78. <head>
  79. <title>Ошибка</title>
  80. </head>
  81. <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
  82. <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
  83. <tr><td align="center" bgcolor="'.$style['title'].'">
  84. <font color="#FFFFFF"><b>Ошибка</b></font>
  85. </td></tr>
  86. <tr><td bgcolor="'.$style['text'].'">'.$tag.'
  87. Тема закрыта!
  88. '.$tagC.'</td></tr>
  89. <tr><td bgcolor="'.$style['bottom'].'">'.$tag.'
  90. <a href="./?p=1&amp;v=xhtml&amp;sid='.$sid.'">Форумы</a>
  91. '.$tagC.'</td></tr></table>
  92. </body></html>');
  93. }
  94. }
  95. elseif(!$authorize)
  96. {
  97. if($version == "wml")
  98. {
  99. header('Content-type: text/vnd.wap.wml; charset=utf-8');
  100. header("Cache-Control: no-cache");
  101. echo(doctype("Ошибка").$tag.'
  102. Вы не авторизованы! <br />
  103. <anchor>Назад<prev /></anchor><br />
  104. <a href="./?p=1&amp;v=wml&amp;sid='.$sid.'">Форумы</a>
  105. '.$tagC.'</p></card></wml>');
  106. } elseif($version == "xhtml")
  107. {
  108. header("Content-type: text/html; charset=utf-8");
  109. header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
  110. header("Cache-Control: no-cache, must-relative");
  111. echo('<html>
  112. <head>
  113. <title>Ошибка</title>
  114. </head>
  115. <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
  116. <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
  117. <tr><td align="center" bgcolor="'.$style['title'].'">
  118. <font color="#FFFFFF"><b>Ошибка</b></font>
  119. </td></tr>
  120. <tr><td bgcolor="'.$style['text'].'">'.$tag.'
  121. Вы не авторизованы!
  122. '.$tagC.'</td></tr>
  123. <tr><td bgcolor="'.$style['bottom'].'">'.$tag.'
  124. <a href="./?p=1&amp;v=xhtml&amp;sid='.$sid.'">Форумы</a>
  125. '.$tagC.'</td></tr>
  126. </table>
  127. </body></html>');
  128. }
  129. }
  130. elseif(ban($username, $user, $ip))
  131. {
  132. if($version == "wml")
  133. {
  134. header('Content-type: text/vnd.wap.wml; charset=utf-8');
  135. header("Cache-Control: no-cache");
  136. echo(doctype("Ошибка").$tag.'
  137. Ошибка! Вы заблокированы модератором '.$modername.'. <br />
  138. Причина: '.$banmess.'! <br />
  139. -
  140. <a href="'.$_SERVER['HTTP_REFERER'].'">Назад</a><br />
  141. <a href="./?p=1&amp;v=wml&amp;sid='.$sid.'">Форумы</a>
  142. '.$tagC.'</p></card></wml>');
  143. } elseif($version == "xhtml")
  144. {
  145. header("Content-type: text/html; charset=utf-8");
  146. header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
  147. header("Cache-Control: no-cache, must-relative");
  148. echo('<html>
  149. <head>
  150. <title>Ошибка</title>
  151. </head>
  152. <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
  153. <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
  154. <tr align="center" bgcolor="'.$style['title'].'"><td colspan="2">
  155. <font color="#FFFFFF"><b>Ошибка</b></font>
  156. <tr bgcolor="'.$style['text'].'"><td colspan="2">'.$tag.'Вы заблокированы модератором '.$modername.'</td></tr>
  157. <tr bgcolor="'.$style['text'].'"><td>'.$tag.'Причина:'.$tagC.'</td><td>'.$tag.$banmess.$tagC.'</td></tr>
  158. <tr bgcolor="'.$style['bottom'].'"><td colspan="2">'.$tag.'
  159. <a href="./?p=1&amp;v=xhtml&amp;sid='.$sid.'">Форумы</a>
  160. '.$tagC.'</td></tr></table>
  161. </body></html>');
  162. }
  163. }
  164. else
  165. {
  166. if(empty($_POST['ansm']))
  167. {
  168. if($version == "wml")
  169. {
  170. header('Content-type: text/vnd.wap.wml; charset=utf-8');
  171. header("Cache-Control: no-cache");
  172. echo(doctype("Ответ на тему").$tag.'
  173. <b>Ответить на тему в "'.$data['fname'].'"</b><br /> <br />
  174. Логин ['.$username.']
  175. <br />
  176. Тема ['.$data['tname'].'] <br />
  177. Сообщение: <br />'.$tagC);
  178.  
  179. if(!empty($s))
  180. {
  181. echo('<input type="text" name="mess'.$ref.'" value="'.$s.', " maxlength="500" /><br />');
  182. }
  183. else
  184. {
  185. echo('<input type="text" name="mess'.$ref.'" maxlength="500" /><br />');
  186. }
  187.  
  188. if(is_author($f, $username) or $status == "admin")
  189. {
  190. echo($tag.'Закрыть тему:'.$tagC.'<br />
  191. <select name="closed'.$ref.'" value="0">
  192. <option value="0">Нет</option>
  193. <option value="1">Да</option>
  194. </select><br />');
  195. }
  196. echo('<anchor>[Ответить]
  197. <go href="./?p=8&amp;v=wml&amp;sid='.$sid.'&amp;f='.$f.'" method="post">
  198. <postfield name="mess" value="$(mess'.$ref.')" />');
  199. if(is_author($f, $username) or $status == "admin")
  200. {
  201. echo('<postfield name="closed" value="$(closed'.$ref.')" />');
  202. }
  203. echo('<postfield name="ans" value="true" />
  204. </go></anchor><br />'.$tag.'
  205.  
  206. <a href="./?p=14&amp;v=wml&amp;sid='.$sid.'&amp;f=4">Смайлы</a><br />
  207. <a href="./?p=5&amp;v=wml&amp;sid='.$sid.'&amp;t='.$f.'">В тему</a><br />
  208. <a href="./?p=3&amp;v=wml&amp;sid='.$sid.'&amp;f='.$data['id_forum'].'">В «'.$data['fname'].'»</a><br />
  209. <a href="./?p=1&amp;v=wml&amp;sid='.$sid.'">Форумы</a>
  210. '.$tagC.'</p></card></wml>');
  211. } elseif($version == "xhtml")
  212. {
  213. header("Content-type: text/html; charset=utf-8");
  214. header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
  215. header("Cache-Control: no-cache, must-relative");
  216. echo('<html>
  217. <head>
  218. <title>Ответить</title>
  219. </head>
  220. <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
  221. <form action="./?p=8&amp;v=xhtml&amp;sid='.$sid.'&amp;f='.$f.'" method="post">
  222. <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
  223. <tr><td align="center" bgcolor="'.$style['title'].'" colspan="2">
  224. <font color="#FFFFFF"><b>Ответ на тему</b></font>
  225. </td></tr>
  226. <tr bgcolor="'.$style['bottom'].'"><td colspan="2"><b>Ответить на тему в "'.$data['fname'].'"</b></td></tr>
  227. <tr bgcolor="#deebf1"><td colspan="2"></td></tr>
  228. <tr bgcolor="'.$style['text'].'"><td>'.$tag.'Имя:'.$tagC.'</td><td>'.$tag.'['.$username.']'.$tagC.'</td></tr>
  229. <tr bgcolor="'.$style['text'].'"><td>'.$tag.'Тема:'.$tagC.'</td><td>'.$tag.'[Re: '.$data['tname'].']'.$tagC.'</td></tr>
  230. <tr bgcolor="'.$style['text'].'"><td>'.$tag.'Сообщение:'.$tagC.'</td><td><textarea name="mess" cols="30" rows="5">');
  231. if(!empty($s))
  232. {
  233. echo($s.', ');
  234. }
  235. echo('</textarea></td></tr>');
  236. if(is_author($f, $username) or $status == "admin")
  237. {
  238. echo('<tr bgcolor="'.$style['text'].'"><td nowrap>'.$tag.'Закрыть тему:'.$tagC.'</td>
  239. <td><select name="closed">
  240. <option value="0">Нет</option>
  241. <option value="1">Да</option>
  242. </select></td></tr>');
  243. }
  244. echo('
  245. <tr bgcolor="'.$style['text'].'"><td align="center" colspan="2">
  246. <input type="hidden" name="ansm" value="true">
  247. <input type="submit" value="Ответить" /></td></tr>
  248. <tr bgcolor="'.$style['bottom'].'"><td colspan="2">'.$tag.'
  249. <a href="./?p=14&amp;v=xhtml&amp;sid='.$sid.'&amp;f=4">Смайлы</a><br />
  250. <a href="./?p=5&amp;v=xhtml&amp;sid='.$sid.'&amp;t='.$f.'">В тему</a><br />
  251. <a href="./?p=3&amp;v=xhtml&amp;sid='.$sid.'&amp;f='.$data['id_forum'].'">В «'.$data['fname'].'»</a><br />
  252. <a href="./?p=1&amp;v=xhtml&amp;sid='.$sid.'">Форумы</a>
  253. '.$tagC.'</td></tr></table>
  254. </form>
  255. </body></html>');
  256. }
  257. } else
  258. {
  259. $message = $_POST['mess'];
  260. if($transl == "on")
  261. {
  262. $message = translate($message);
  263. }
  264. $message = preg_replace("|[\r\n]+|", " \r\n", $message);
  265. $message = preg_replace("|[\n]+|", "\n", $message);
  266. $message = sql(htmlspecialchars(trim(chop(cutString($message, 1024)))));
  267. $message = preg_replace_callback("|&lt;(\d{1,20})&gt;|", "smile", $message);
  268.  
  269. if($status == "admin" or $status == "moderator")
  270. {
  271. $message= preg_replace("|\[b\](.*)\[/b\]|i", "<b>\\1</b>", $message);
  272. $message = preg_replace("|\[i\](.*)\[/i\]|i", "<i>\\1</i>", $message);
  273. }
  274.  
  275. if(strpos($message, "http://") !== false)
  276. {
  277. $message = preg_replace("|(http://[^\s]+)|i", "<a href=\"go/?\\1\">\\1</a>", $message);
  278. }
  279. else if(strpos($message, "HTTP://") !== false)
  280. {
  281. $message = preg_replace("|(HTTP://[^\s]+)|i", "<a href=\"go/?\\1\">\\1</a>", $message);
  282. }
  283. else
  284. {
  285. $message = preg_replace("|\[urltag=(.*)\](.*)\[/url\]|is", "<a href=\"go/?http://\\1\">\\2</a>", $message);
  286. }
  287. ////////////////////////////////////////////////////////Антифлуд
  288. $R = mysql_query("SELECT * FROM `posts`
  289. WHERE `name`='".$username."'
  290. AND `id_theme`=".$f);
  291. $aR = mysql_fetch_array($R);
  292. $postR=$aR['post'];
  293. ////////////////////////////////////////////////////////
  294. if(!preg_match("|^[-a-z0-9а-яё_!?№#;:%^&*()+=~\|\\\/ @.,\[\]\{\}\"'<>\s]*$|iu", $message) or empty($message))
  295. {
  296. if($version == "wml")
  297. {
  298. header('Content-type: text/vnd.wap.wml; charset=utf-8');
  299. header("Cache-Control: no-cache");
  300. echo(doctype("Ответ на тему").$tag.'
  301. <b>Ответить на тему в "'.$data['fname'].'"</b><br /> <br />
  302. <b>Поле "Сообщение" пустое или содержит плохие символы! </b><br />
  303. Имя: ['.$username.'] <br />
  304. Тема: ['.$data['tname'].'] <br />
  305. Сообщение: '.$tagC.'<br />');
  306.  
  307. if(!empty($s))
  308. {
  309. echo('<input type="text" name="mess'.$ref.'" value="'.$s.', " maxlength="600" /><br />');
  310. }
  311. else
  312. {
  313. echo('<input type="text" name="mess'.$ref.'" maxlength="600" /><br />');
  314. }
  315.  
  316. if(is_author($f, $username) or $status == "admin")
  317. {
  318. echo($tag.'Закрыть тему:'.$tagC.'<br />
  319. <select name="closed'.$ref.'" value="0">
  320. <option value="0">Нет</option>
  321. <option value="1">Да</option>
  322. </select><br />');
  323. }
  324. echo('
  325. <anchor>[Ответить]
  326. <go href="./?p=8&amp;v=wml&amp;sid='.$sid.'&amp;f='.$f.'" method="post">
  327. <postfield name="mess" value="$(mess'.$ref.')" />');
  328. if(is_author($f, $username) or $status == "admin")
  329. {
  330. echo('<postfield name="closed" value="$(closed'.$ref.')" />');
  331. }
  332. echo('
  333. <postfield name="ansm" value="true" />
  334. </go></anchor><br />
  335. '.$tag.'
  336. <a href="./?p=14&amp;v=wml&amp;sid='.$sid.'&amp;f=4">Смайлы</a><br />
  337. <a href="./?p=5&amp;v=wml&amp;sid='.$sid.'&amp;t='.$f.'">В тему</a><br />
  338. <a href="./?p=3&amp;v=wml&amp;sid='.$sid.'&amp;f='.$data['id_forum'].'">В «'.$data['fname'].'»</a><br />
  339. <a href="./?p=1&amp;v=wml&amp;sid='.$sid.'">Форумы</a>
  340. '.$tagC.'</p></card></wml>');
  341. } elseif($version == "xhtml")
  342. {
  343. header("Content-type: text/html; charset=utf-8");
  344. header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
  345. header("Cache-Control: no-cache, must-relative");
  346. echo('<html>
  347. <head>
  348. <title>Ответ на тему</title>
  349. </head>
  350. <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
  351. <form action="./?p=8&amp;v=xhtml&amp;sid='.$sid.'&amp;f='.$f.'" method="post">
  352. <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
  353. <tr><td align="center" bgcolor="'.$style['title'].'" colspan="2">
  354. <font color="#FFFFFF"><b>Ответ на тему</b></font>
  355. </td></tr>
  356. <tr bgcolor="'.$style['bottom'].'"><td colspan="2"><b>Ответить на тему в "'.$data['fname'].'"</b></td></tr>
  357. <tr bgcolor="#deebf1"><td colspan="2">'.$tag.'<b>Ошибка!!! Поле "Сообщение" пустое или содержит плохие символы!</b>'.$tagC.'</td></tr>
  358. <tr bgcolor="'.$style['text'].'"><td>'.$tag.'Имя:'.$tagC.'</td><td>'.$tag.'['.$username.']'.$tagC.'</td></tr>
  359. <tr bgcolor="'.$style['text'].'"><td>'.$tag.'Тема:'.$tagC.'</td><td>'.$tag.'[Re: '.$data['tname'].']'.$tagC.'</td></tr>
  360. <tr bgcolor="'.$style['text'].'"><td>'.$tag.'Сообщение:'.$tagC.'</td><td><textarea name="mess" cols="30" rows="5">');
  361. if(!empty($s))
  362. {
  363. echo($s.', ');
  364. }
  365. echo('</textarea></td></tr>');
  366. if(is_author($f, $username) or $status == "admin")
  367. {
  368. echo('<tr bgcolor="'.$style['text'].'"><td nowrap>Закрыть тему:</td>
  369. <td><select name="closed">
  370. <option value="0">Нет</option>
  371. <option value="1">Да</option>
  372. </select></td></tr>');
  373. }
  374. echo('
  375. <tr bgcolor="'.$style['text'].'"><td align="center" colspan="2">
  376. <input type="hidden" name="ansm" value="true">
  377. <input type="submit" value="Ответить" /></td></tr>
  378. <tr bgcolor="'.$style['bottom'].'"><td colspan="2">'.$tag.'
  379. <a href="./?p=14&amp;v=xhtml&amp;sid='.$sid.'&amp;f=4">Смайлы</a><br />
  380. <a href="./?p=5&amp;v=xhtml&amp;sid='.$sid.'&amp;t='.$f.'">В тему</a><br />
  381. <a href="./?p=3&amp;v=xhtml&amp;sid='.$sid.'&amp;f='.$data['id_forum'].'">В «'.$data['fname'].'»</a><br />
  382. <a href="./?p=1&amp;v=xhtml&amp;sid='.$sid.'">Форумы</a>
  383. '.$tagC.'</td></tr></table>
  384. </form>
  385. </body></html>');
  386. }
  387. }
  388. elseif(strtolower($postR) == strtolower($message))
  389. {
  390. header("Location: ".$forumdir."p=3&f=".$data['id_forum']."&v=".$version."&sid=".$sid);
  391. }
  392. else
  393. {
  394. if(mysql_result(
  395. mysql_query("SELECT COUNT(*)
  396. FROM `mposts`
  397. WHERE `name` = '$username'
  398. AND `id_theme` = ".$f."
  399. AND `crc32` = ".crc32($message)), 0))
  400. {
  401. header("Location: ".$forumdir."p=3&f=".$data['id_forum']."&v=".$version."&sid=".$sid);
  402. exit();
  403. }
  404. if(($status == "admin" or is_author($f, $username)) and $_POST['closed'] == "1")
  405. {
  406. mysql_query("UPDATE `mthemes`
  407. SET `close`='on' WHERE `id`=".$f);
  408. }
  409. mysql_query("UPDATE `mthemes`
  410. SET `time`=".time()." WHERE `id`=".$f);
  411. mysql_query("INSERT INTO `mposts` VALUES(0, '".$username."', '".$message."', ".crc32($message).", ".$f.", ".time().", '".$user."', '".$ip."')");
  412. header("Location: ".$forumdir."p=3&f=".$data['id_forum']."&v=".$version."&sid=".$sid);
  413.  
  414. }
  415. }
  416. }
  417. }
  418. ?>