Просмотр файла modules/forum/showtema.php

Размер файла: 17.13Kb
  1. <?php
  2. ########################################
  3. ## WAP-ENGINE ##
  4. ########################################
  5. ## ##
  6. ## Автор : CHUMA (Токарев Владимир) ##
  7. ## e-mail : crazychuma@gmail.com ##
  8. ## WAP : http://wap-engine.ru ##
  9. ## ##
  10. ########################################
  11. ## ВЫ НЕ ИМЕЕТЕ ПРАВО ##
  12. ## ИЗМЕНЯТЬ КОД СКРИПТА ##
  13. ## ДЛЯ ДАЛЬНЕЙШЕГО РАСПРОСТРАНЕНИЯ! ##
  14. ########################################
  15. include ('../../config.php');
  16. include ('../../templates/run.php');
  17. include ('../../templates/func.php');
  18. $title_page = 'Просмотр темы';
  19. $login_in = $login;
  20. $passw_in = $passw;
  21. $status_in = $status;
  22.  
  23. ####################
  24. if ($portal=='off')
  25. {
  26. include '../../themes/'.$themes.'.php';
  27. echo'<p align="center">'.$offmes.'</p>';
  28. }
  29. if ($portal=='on')
  30. {
  31.  
  32. $id = filter($_GET['id']);
  33. $str = filter($_GET['str']);
  34. $str_r = filter($_GET['str_r']);
  35.  
  36. $razdel_data = '../../data/forum/razdel.php';
  37. $razdel_f = file($razdel_data);
  38. $podrazdel_data = '../../data/forum/podrazdel.php';
  39. $podrazdel_f = file($podrazdel_data);
  40. $podrazdel_arr = explode('|',$podrazdel_f[$str]);
  41. $razdel_arr = explode('|',$razdel_f[$str_r]);
  42.  
  43. $temy_data = '../../data/forum/podrazdel/'.$podrazdel_arr[0].'.php';
  44. $temy_f = @file($temy_data);
  45. $temy_count = count($temy_f);
  46.  
  47. $tem_data = '../../data/forum/temy/'.$podrazdel_arr[0].'_'.$id.'.php';
  48. $tem_f = @file($tem_data);
  49. @array_splice($tem_f, 0, 2);
  50. @array_splice($tem_f, -2, 2);
  51. $tem_count = count($tem_f);
  52. $kolmes = $koltemmes;
  53. $stranic = ceil($tem_count/$kolmes);
  54.  
  55. $users_on_f = file('../../data/user_online.txt');
  56. $user_on_arr = implode('|', $users_on_f);
  57.  
  58. for($i=2; $i < $temy_count-2; $i++)
  59. {
  60. $temy_arr_title = explode('|', $temy_f[$i]);
  61. if($id == $temy_arr_title[0])
  62. {
  63. $title_tema = $temy_arr_title[4];
  64. break;
  65. }
  66. }
  67.  
  68. $title_page = ''.$title_tema.' &#187; '.$podrazdel_arr[2].' &#187; '.$razdel_arr[1].' &#187; Форум';
  69. include '../../themes/'.$themes.'.php';
  70. ####################
  71. # Ошибка! Антифлуд
  72. if($_GET['err'] == 'flood')
  73. {
  74. $forum_flood = '../../data/flood_forum.txt';
  75. $forum_flood_list = file($forum_flood);
  76. $flood_time = time();
  77. $ip = filter($_SERVER['REMOTE_ADDR']);
  78. $flood_sec = 0;
  79. foreach ($forum_flood_list as $key => $string)
  80. {
  81. $flood_arr = explode('|', $string);
  82. if(trim($flood_arr[0]) == $ip && trim($flood_arr[1]) + $antiflood_forum >= $flood_time)
  83. {
  84. $flood_sec = (trim($flood_arr[1]) + $antiflood_forum) - $flood_time;
  85. break;
  86. }
  87. }
  88. echo"<p class=\"err\">Флуд!!! Вы слишком часто пишите сообщения. В форум можно писать один раз в $antiflood_forum сек. Подождите еще $flood_sec сек.</p>";
  89. }
  90. # Ошибка! Антифлуд
  91. echo'<p class="modul_name"align="center"><a href="index.php?'.session_name().'='.session_id().'">Форум</a> &#187; <a href="index.php?act=showrazdel&amp;str_r='.$str_r.'&amp;'.session_name().'='.session_id().'">'.$razdel_arr[1].'</a> &#187; <a href="index.php?act=showforum&amp;id='.$podrazdel_arr[0].'&amp;str='.$str.'&amp;str_r='.$str_r.'&amp;'.session_name().'='.session_id().'">'.$podrazdel_arr[2].'</a></p>';
  92.  
  93. for($i=2; $i < $temy_count-2; $i++)
  94. {
  95. $temy_arr = explode('|', $temy_f[$i]);
  96. if($id == $temy_arr[0])
  97. {
  98. echo'<p class="a">Тема: "'.$temy_arr[4].'"</p>';
  99. $m_polozhenie = 'На форуме в теме "'.trim($temy_arr[4]).'"';
  100. echo'<p class="b">';
  101. if(isset($_SESSION['sespass']) && isset($passw_in) && $_SESSION['sespass'] == $passw_in && ($status_in == "1" || $status_in == "2" || $status_in == "3"))
  102. {
  103. if($temy_arr[6] != '#')
  104. {
  105. echo"<a href=\"admin.php?act=close&amp;id=$id&amp;str_t=$i&amp;str=$str&amp;str_r=$str_r&amp;".session_name()."=".session_id()."\">Закрыть</a> |";
  106. }
  107. else
  108. {
  109. echo"<a href=\"admin.php?act=open&amp;id=$id&amp;str_t=$i&amp;str=$str&amp;str_r=$str_r&amp;".session_name()."=".session_id()."\">Открыть</a> |";
  110. }
  111. }
  112. if(isset($_SESSION['sespass']) && isset($passw_in) && $_SESSION['sespass'] == $passw_in && $temy_arr[1] == $login_in && $status_in != "1" && $status_in != "2" && $status_in != "3")
  113. {
  114. if($temy_arr[6] != '#')
  115. {
  116. echo"<a href=\"admin.php?act=close&amp;id=$id&amp;str_t=$i&amp;str=$str&amp;str_r=$str_r&amp;".session_name()."=".session_id()."\">Закрыть</a> |";
  117. }
  118. }
  119. if(file_exists('../../data/forum/temy/'.$podrazdel_arr[0].'_'.$id.'_podpiska.php') && $temy_arr[1] == $login_in)
  120. {
  121. $podp_nicks = file('../../data/forum/temy/'.$podrazdel_arr[0].'_'.$id.'_podpiska.php');
  122. $count_podp_nicks = count($podp_nicks);
  123. $count_podp_nicks = $count_podp_nicks - 2;
  124. $podp_user_est = 0;
  125. for($ii=2; $ii <= $count_podp_nicks; $ii++)
  126. {
  127. if($login_in == trim($podp_nicks[$ii]))
  128. {
  129. $podp_user_est = 1;
  130. break;
  131. }
  132. }
  133. if($podp_user_est == 1)
  134. {
  135. echo' <a href="podpiska.php?act=otpis&amp;id='.$id.'&amp;str_t='.$i.'&amp;str='.$str.'&amp;str_r='.$str_r.'&amp;'.session_name().'='.session_id().'">Отписаться</a> |';
  136. }
  137. else
  138. {
  139. echo' <a href="podpiska.php?act=podpis&amp;id='.$id.'&amp;str_t='.$i.'&amp;str='.$str.'&amp;str_r='.$str_r.'&amp;'.session_name().'='.session_id().'">Подписаться</a> |';
  140. }
  141. }
  142. elseif($temy_arr[1] == $login_in)
  143. {
  144. echo' <a href="podpiska.php?act=podpis&amp;id='.$id.'&amp;str_t='.$i.'&amp;str='.$str.'&amp;str_r='.$str_r.'&amp;'.session_name().'='.session_id().'">Подписаться</a> |';
  145. }
  146. $tema_est = 1;
  147. if($temy_arr[6] == '#')
  148. {
  149. $tema_zakr = 1;
  150. }
  151. if($temy_arr[5] == '!')
  152. {
  153. $top_tema = 1;
  154. }
  155. break;
  156. }
  157. }
  158. if((isset($_SESSION['sespass']) && isset($passw_in) && $_SESSION['sespass'] == $passw_in) || $dostup_forum == 1)
  159. {
  160. if(empty($_GET['page']))
  161. {
  162. $page_get = 1;
  163. }
  164. else
  165. {
  166. $page_get = $_GET['page'];
  167. }
  168. if($page_get < 0)
  169. {
  170. $page_get = 1;
  171. }
  172. if($page_get > $stranic)
  173. {
  174. $page_get = $stranic;
  175. }
  176. $do = $kolmes * ($page_get - 1);
  177. $end = $kolmes * $page_get;
  178.  
  179. $page_nazad = $page_get - 1;
  180. $page_dalee = $page_get + 1;
  181.  
  182. if (preg_match("#^[0-9]*$#", "$page_get") && preg_match("#^[0-9]*$#", "$id") && $tema_est == 1)
  183. {
  184. if(!empty($podrazdel_arr[3]) && $_SESSION['passrazd'] != trim($podrazdel_arr[3]))
  185. {
  186. echo'<p class="err">Внимание!!! Данный раздел под паролем.<br /></p>';
  187. echo'<form method="post" action="vhod.php?id='.$podrazdel_arr[0].'&amp;str='.$str.'&amp;str_r='.$str_r.'&amp;'.session_name().'='.session_id().'">';
  188. echo'<p class="b">Пароль:<br /><input name="passrazd" maxlength="10" value="" /><br />';
  189. echo'<input value="Войти" name="do" type="submit" /></p></form>';
  190. echo'<p><a href="index.php?'.session_name().'='.session_id().'">В форум</a><br /></p>';
  191. include ('../../templates/foot.php');
  192. exit;
  193. }
  194. if(empty($tema_zakr))
  195. {
  196. echo " <a href=\"add.php?id=$id&amp;str=$str&amp;str_r=$str_r&amp;".session_name()."=".session_id()."\">Ответить</a><br />";
  197. echo"</p>";
  198. }
  199. else
  200. {
  201. echo "<p class=\"a\"><img src=\"/themes/chuma/02.gif\"> Данная тема закрыта!<br /></p>";
  202. }
  203. if ($page_get < 0 || $page_get > $stranic && $stranic >=1)
  204. {
  205. echo '<p>Данной страницы несуществует!</p>';
  206. }
  207.  
  208. for ($i = $do; $i < $end; $i++)
  209. {
  210. if (!empty($tem_f[$i]))
  211. {
  212. $viewmess = explode('|', $tem_f[$i]);
  213. $name_user = trim($viewmess[0]);
  214. $date_user = trim($viewmess[1]);
  215. $time_user = trim($viewmess[2]);
  216. $mess_user = trim($viewmess[3]);
  217. $name_izm = trim($viewmess[4]);
  218. $date_izm = trim($viewmess[5]);
  219. $time_izm = trim($viewmess[6]);
  220. $exp_date = explode('.', $date_user);
  221. $n = $i + 1;
  222. $str_t = $i + 2;
  223. if($n == 1) { $napisal = 'Автор:'; } else { $napisal = ''; }
  224. echo "<p class=\"b\">";
  225. echo"$napisal ";
  226. user_data('../../data/users/'.trim($name_user).'.php');
  227. if(strstr($user_on_arr, '|'.trim($name_user).'|'))
  228. {
  229. if($pol == '1')
  230. {
  231. if($status == '5')
  232. {
  233. echo'<img src="/images/st/m_nov.gif"alt=""/>';
  234. }
  235. elseif($status == '4')
  236. {
  237. echo'<img src="/images/st/m.gif"alt=""/>';
  238. }
  239. elseif($status == '3')
  240. {
  241. echo'<img src="/images/st/mod_m.gif"alt=""/>';
  242. }
  243. elseif($status == '2')
  244. {
  245. echo'<img src="/images/st/gmod_m.gif"alt=""/>';
  246. }
  247. elseif($status == '1')
  248. {
  249. echo'<img src="/images/st/admin_m.gif"alt=""/>';
  250. }
  251. }
  252. elseif($pol == '0')
  253. {
  254. if($status == '5')
  255. {
  256. echo'<img src="/images/st/w_nov.gif"alt=""/>';
  257. }
  258. elseif($status == '4')
  259. {
  260. echo'<img src="/images/st/w.gif"alt=""/>';
  261. }
  262. elseif($status == '3')
  263. {
  264. echo'<img src="/images/st/mod_w.gif"alt=""/>';
  265. }
  266. elseif($status == '2')
  267. {
  268. echo'<img src="/images/st/gmod_w.gif"alt=""/>';
  269. }
  270. elseif($status == '1')
  271. {
  272. echo'<img src="/images/st/admin_w.gif"alt=""/>';
  273. }
  274. }
  275. }
  276. else
  277. {
  278. if($pol == '1')
  279. {
  280. echo'<img src="/images/st/m_off.gif"alt=""/>';
  281. }
  282. elseif($pol == '0')
  283. {
  284. echo'<img src="/images/st/w_off.gif"alt=""/>';
  285. }
  286. }
  287. $nick_name_arr = explode('::', $nickname);
  288. $nickname = $nick_name_arr[0];
  289. $nickcolor = $nick_name_arr[1];
  290. if(!empty($nickname))
  291. {
  292. if(!empty($nickcolor))
  293. {
  294. $login_nick_color = '<font color="'.$nickcolor.'">'.$nickname.'</font>';
  295. }
  296. else
  297. {
  298. $login_nick_color = ''.$nickname.'';
  299. }
  300. }
  301. else
  302. {
  303. $login_nick_color = ''.$name_user.'';
  304. }
  305. echo" <a href=\"../../modules/kabinet/user_info.php?nick=$name_user&amp;".session_name()."=".session_id()."\">$login_nick_color</a> ";
  306. if($rating >= $kolbronza && $rating <= $kolserebro)
  307. {
  308. echo'<img src="/images/st/bronza.gif"alt=""/>';
  309. }
  310. if($rating >= $kolserebro && $rating <= $kolzoloto)
  311. {
  312. echo'<img src="/images/st/serebro.gif"alt=""/>';
  313. }
  314. if($rating >= $kolzoloto)
  315. {
  316. echo'<img src="/images/st/zoloto.gif"alt=""/>';
  317. }
  318.  
  319. if(isset($_SESSION['sespass']) && isset($passw_in) && $_SESSION['sespass'] == $passw_in)
  320. {
  321. if($icon_text == "1" || $icon_text == "")
  322. {
  323. echo" <a href=\"../../modules/kabinet/send_privat.php?nick=$name_user&amp;".session_name()."=".session_id()."\"><img src=\"/themes/chuma/1.gif\"align=\"top\"title=\"Написать сообщение\"alt=\"\"></a>";
  324. if($name_user == $login_in)
  325. {
  326. echo" <a href=\"admin.php?act=edit&amp;str_t=$str_t&amp;id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$page_get&amp;".session_name()."=".session_id()."\"><img src=\"/images/st/r.gif\"align=\"top\"title=\"Редактировать сообщение\"alt=\"\"></a> ";
  327. }
  328. echo" <a href=\"add.php?otv=1&amp;str_t=$str_t&amp;id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$page_get&amp;".session_name()."=".session_id()."\"><img src=\"/images/st/g.gif\"align=\"top\"title=\"Ответить\"alt=\"\"></a> ";
  329. echo" <a href=\"add.php?cit=1&amp;str_t=$str_t&amp;id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$page_get&amp;".session_name()."=".session_id()."\"><img src=\"/images/st/c.gif\"align=\"top\"title=\"Цитировать\"alt=\"\"></a> ";
  330. }
  331. if($icon_text == "0")
  332. {
  333. echo" <a href=\"../../modules/kabinet/send_privat.php?nick=$name_user&amp;".session_name()."=".session_id()."\">[ЛС]</a>";
  334. if($name_user == $login_in)
  335. {
  336. echo" <a href=\"admin.php?act=edit&amp;str_t=$str_t&amp;id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$page_get&amp;".session_name()."=".session_id()."\">[Ред]</a> ";
  337. }
  338. echo" <a href=\"add.php?otv=1&amp;str_t=$str_t&amp;id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$page_get&amp;".session_name()."=".session_id()."\">[Отв]</a> ";
  339. echo" <a href=\"add.php?cit=1&amp;str_t=$str_t&amp;id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$page_get&amp;".session_name()."=".session_id()."\">[Цит]</a> ";
  340. }
  341. }
  342. echo '<br />';
  343. echo "($date_user / $time_user)<br />";
  344. echo "$mess_user<br />";
  345. if(!empty($name_izm))
  346. {
  347. user_data('../../data/users/'.$name_izm.'.php');
  348. $nick_name_arr = explode('::', $nickname);
  349. $nickname = $nick_name_arr[0];
  350. $nickcolor = $nick_name_arr[1];
  351. if(!empty($nickname))
  352. {
  353. if(!empty($nickcolor))
  354. {
  355. $login_nick_color = "$nickname";
  356. }
  357. else
  358. {
  359. $login_nick_color = "$nickname";
  360. }
  361. }
  362. else
  363. {
  364. $login_nick_color = "$name_izm";
  365. }
  366. echo "<br /><font class=\"edited\">Изменил $login_nick_color ($date_izm $time_izm)</font>";
  367. }
  368. echo '</p>';
  369. if($n == 1)
  370. {
  371. if($top_tema == 1)
  372. {
  373. echo "<p class=\"a\" style=\"margin-top:0px\"><img src=\"/themes/chuma/01.gif\"> Тема закреплена!<br /></p>";
  374. }
  375. }
  376. if(isset($_SESSION['sespass']) && isset($passw_in) && $_SESSION['sespass'] == $passw_in && ($status_in == '1' || $status_in == '2' || $status_in == '3'))
  377. {
  378. echo'<p class="dy">';
  379. echo"[<a href=\"admin.php?act=delmes&amp;str_t=$str_t&amp;id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$page_get&amp;".session_name()."=".session_id()."\"onclick=\"return confirm('Подтверждаете удаление?')\">Удал</a>][<a href=\"admin.php?act=edit&amp;str_t=$str_t&amp;id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$page_get&amp;".session_name()."=".session_id()."\">Ред</a>]";
  380. echo "[<a href=\"admin.php?act=banuser&amp;id=$id&amp;str=$str&amp;str_r=$str_r&amp;ban=$name_user&amp;page=$page_get&amp;".session_name()."=".session_id()."\">Бан</a>]";
  381. echo"</p>";
  382. }
  383. }
  384. }
  385.  
  386. if($stranic > 1)
  387. {
  388. echo "<p align=\"center\" class=\"d\">";
  389. echo "Страницы:";
  390. echo "<br />";
  391. if($page_get > 4)
  392. {
  393. echo "<a href=\"showtema.php?id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=1&amp;".session_name()."=".session_id()."\">1</a>...";
  394. }
  395. $start_1 = $page_get - 3;
  396. $end_1 = $page_get - 1;
  397. if($start_1 < 1)
  398. {
  399. $start_1 = 1;
  400. }
  401. for($i = $start_1; $i <= $end_1; $i++)
  402. {
  403. echo"<a href=\"showtema.php?id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$i&amp;".session_name()."=".session_id()."\">$i</a> ";
  404. }
  405.  
  406. echo"$page_get";
  407.  
  408. $start_2 = $page_get + 1;
  409. $end_2 = $page_get + 3;
  410. if($start_2 < 1)
  411. {
  412. $start_2 = 1;
  413. }
  414. if($end_2 > $stranic)
  415. {
  416. $end_2 = $stranic;
  417. }
  418. for($i = $start_2; $i <= $end_2; $i++)
  419. {
  420. echo" <a href=\"showtema.php?id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$i&amp;".session_name()."=".session_id()."\">$i</a>";
  421. }
  422.  
  423. if($stranic > $page_get && $page_get < ($stranic-3))
  424. {
  425. echo "...<a href=\"showtema.php?id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$stranic&amp;".session_name()."=".session_id()."\">$stranic</a>";
  426. }
  427. echo "<br />";
  428.  
  429. if($page_get > 1)
  430. {
  431. echo "<a href=\"showtema.php?id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$page_nazad&amp;".session_name()."=".session_id()."\">Назад</a>";
  432. }
  433. echo " | ";
  434. if($stranic > $page_get)
  435. {
  436. echo "<a href=\"showtema.php?id=$id&amp;str=$str&amp;str_r=$str_r&amp;page=$page_dalee&amp;".session_name()."=".session_id()."\">Дальше</a>";
  437. }
  438. echo "</p>";
  439. }
  440. echo "<p>Сообщений в теме: $tem_count</p>";
  441. if(isset($_SESSION['sespass']) && isset($passw_in) && $_SESSION['sespass'] == $passw_in && empty($tema_zakr))
  442. {
  443. echo "<form action=\"add.php?id=$id&amp;str=$str&amp;str_r=$str_r&amp;act=send&amp;page=$stranic&amp;".session_name()."=".session_id()."\" method=\"post\">";
  444. echo "<p class=\"b\" align=\"center\">Сообщение:<br />
  445. <textarea rows=\"4\" cols=\"15\" name=\"msg\"></textarea><br />";
  446. if($trans == '1')
  447. {
  448. echo"<input type=\"checkbox\" name=\"msgtrans\" value=\"1\" /> Транслит<br />";
  449. }
  450. echo"<input type=\"submit\" value=\"Ответить\" /></p>
  451. </form>";
  452. }
  453. echo'<p><img src="/images/st/dload.gif"alt=""/> <a href="save_tema.php?id='.$id.'&amp;str='.$str.'&amp;str_r='.$str_r.'&amp;'.session_name().'='.session_id().'">Сохранить в txt</a><br /></p>';
  454. }
  455. else
  456. {
  457. echo"<p class=\"err\">Попытка взлома или вы пытаетесь просмотреть несуществующую тему!<br /></p>";
  458. }
  459. }
  460. else
  461. {
  462. echo'<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>';
  463. echo'<p><br /><a href="../kabinet/index.php?'.session_name().'='.session_id().'">В кабинет</a><br /></p>';
  464. }
  465. ####################
  466. echo'<p><img src="/images/st/back.gif"alt=""/> <a href="index.php?'.session_name().'='.session_id().'">В форум</a><br /></p>';
  467. }
  468. include ('../../templates/foot.php');
  469. ?>