View file Soo_by_las/comm/aforum.php

File size: 42.12Kb
  1. <?php
  2. require_once"../template/start.php";
  3. require_once"../template/regglobals.php";
  4. require_once"../template/config.php";
  5. require_once"../template/functions.php";
  6. require_once"../template/antidos.php";
  7. require_once"../template/cookies.php";
  8. require_once"../template/gzip.php";
  9. require_once"../template/header.php";
  10. require_once"../template/referer.php";
  11. include_once"../themes/$config_themes/index.php";
  12. include_once"../template/isset.php";
  13. if($them!="" && !eregi("[^0-9-]",$them)){
  14. $text = file(BASEDIR."local/comm/$them.soo");
  15. if ($text!=""){
  16. $dates=date("d.m.y / H:i",$sitetime);
  17.  
  18. if ($provlog==$_SESSION['log'] && $provpar==md5($_SESSION['par']) && $_SESSION['log']!="" && md5($_SESSION['par'])!="") {
  19. $textom = file(BASEDIR."local/comm/$them.soo");
  20. $uzdatam = explode(":||:",$textom[0]);
  21. if ($dostup==101 || $dostup==102 || $dostup==103 || $dostup==105 || $log==$uzdatam[0]){
  22. echo'<img src="../images/img/menu.gif" alt=""> <b>Управление форумом</b><br><br>';
  23.  
  24. //----------------------------- Пересчет статистики ------------------------//
  25. if(isset($event)) {
  26. if ($event =="revolushion") {
  27. $textom = file(BASEDIR."local/comm/$them.soo");
  28. $uzdatam = explode(":||:",$textom[0]);
  29. if ($dostup==101 || $dostup==102 || $log==$uzdatam[0]){
  30. $lines = file("../local/commforum/$them/mainforum.dat");
  31. $countmf=count($lines)-1;
  32. $i="-1";$u=$countmf-1;$k="0";
  33.  
  34. do {$i++; $dt=explode("|", $lines[$i]);
  35.  
  36. $fid=$dt[0];
  37. if ((is_file("../local/commforum/$them/topic$fid.dat")) && (sizeof("../local/commforum/$them/topic$fid.dat")>0))
  38. {
  39. $fl=file("../local/commforum/$them/topic$fid.dat");
  40. $kolvotem=count($fl);
  41. $kolvomsg="0";
  42. for ($itf=0; $itf<$kolvotem; $itf++)
  43. {$forumdt = explode("|", $fl[$itf]);
  44.  
  45. $cd=$forumdt[7];
  46. $msgfile=file("../local/commforum/$them/$cd.dat");
  47. $countmsg=count($msgfile); $kolvomsg=$kolvomsg+$countmsg;}
  48. if ($kolvotem=="0") {$dt[8]="";}
  49. $lines[$i]=$dt[0].'|'.$dt[1].'|'.$dt[2].'|'.$dt[3].'|'.$kolvotem.'|'.$kolvomsg.'|'.$dt[6].'|'.$dt[7].'|'.$dt[8].'|'.$dt[9].'|'.$dt[10].'|';
  50. }else{
  51. $kolvotem="0";
  52. $kolvomsg="0";
  53. $lines[$i]=$dt[0].'|'.$dt[1].'|'.$dt[2].'|'.$dt[3].'|'.$kolvotem.'|'.$kolvomsg.'|'.$dt[6].'|'.$dt[7].'|'.$dt[8].'||'.$dt[10].'|';
  54. }
  55.  
  56. } while($i < $countmf);
  57.  
  58. $file=file("../local/commforum/$them/mainforum.dat");
  59. $fp=fopen("../local/commforum/$them/mainforum.dat","w");
  60. flock ($fp,LOCK_EX);
  61. for ($i=0;$i< sizeof($file);$i++) {fputs($fp,"$lines[$i]\r\n");}
  62. flock ($fp,LOCK_UN);
  63. fclose($fp);
  64. chmod($fp, 0777);
  65. chmod("../local/commforum/$them/mainforum.dat", 0777);
  66.  
  67. echo 'Всё успешно пересчитано<br>';
  68. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&'.SID.'">Продолжить</a><br>';
  69. include_once"../themes/$config_themes/foot.php";
  70. exit; }}}
  71.  
  72.  
  73.  
  74.  
  75. //------------------------ Cдвиг топиков -------------------------------//
  76. if(isset($movetopic)) { if ($movetopic!="") {
  77. $move1=$movetopic;
  78. if ($where=="0") {$where="-1";}
  79. $move2=$move1-$where;
  80. $file=file("../local/commforum/$them/mainforum.dat"); $imax=sizeof($file);
  81. if (($move2>=$imax) or ($move2<"0")) {
  82. echo 'Нельзя туда двигать!<br>';
  83. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&'.SID.'">Продолжить</a><br>';
  84. include_once"../themes/$config_themes/foot.php";
  85. exit;}
  86. $data1=$file[$move1]; $data2=$file[$move2];
  87.  
  88. $fp=fopen("../local/commforum/$them/mainforum.dat","a+");
  89. flock ($fp,LOCK_EX);
  90. ftruncate ($fp,0);
  91. for ($i=0; $i<$imax; $i++) {if ($move1==$i) {fputs($fp,$data2);} else {if ($move2==$i) {fputs($fp,$data1);} else {fputs($fp,$file[$i]);}}}
  92. fflush ($fp);
  93. flock ($fp,LOCK_UN);
  94. fclose($fp);
  95. chmod($fp, 0777);
  96. chmod("../local/commforum/$them/mainforum.dat", 0777);
  97. header ("Location: aforum.php?soo='.$soo.'&them='.$them.'&".SID);
  98. //Раздел успешно сдвинут!
  99. exit;}}
  100.  
  101.  
  102. //------------------------ Подтверждение удаления топиков -------------------------------//
  103. if(isset($provtop)) {
  104. echo 'Вы действительно хотите удалить топик?<br>';
  105. echo 'Прежде чем удалить его необходимо удалить все темы внутри вручную<br>';
  106. echo '<img src="../images/img/error.gif" alt=""> <a href="aforum.php?soo='.$soo.'&them='.$them.'&fxd='.$provtop.'&amp;'.SID.'">Удалить</a><br>';
  107. echo '<img src="../images/img/back.gif" alt=""> <a href="aforum.php?soo='.$soo.'&them='.$them.'&'.SID.'">Вернуться назад</a><br>';
  108. include_once"../themes/$config_themes/foot.php";
  109. exit;
  110. }
  111. //------------------------ Удаление топиков -------------------------------//
  112. if(isset($fxd)) { if ($fxd!="") {
  113. $file=file("../local/commforum/$them/mainforum.dat");
  114. $fp=fopen("../local/commforum/$them/mainforum.dat","w");
  115. flock ($fp,LOCK_EX);
  116. for ($i=0;$i< sizeof($file);$i++) { if ($i==$fxd) {unset($file[$i]);} }
  117. fputs($fp, implode("",$file));
  118. flock ($fp,LOCK_UN);
  119. fclose($fp);
  120. chmod($fp, 0777);
  121. chmod("../local/commforum/$them/mainforum.dat", 0777);
  122. header ("Location: aforum.php?soo=$soo&them=$them&isset=mp_delforums&".SID);
  123. }else{header ("Location: aforum.php?soo=$soo&them=$them&isset=mp_nodelforums&".SID);}
  124. exit;}
  125.  
  126.  
  127. //----------------------- Удаление тем --------------------------------//
  128. if ($action=="deltopic"){
  129. if ($id!="" && $fid!="") {
  130. $id=check($id);
  131. $fid=(int)$fid;
  132.  
  133. $file=file("../local/commforum/$them/topic$fid.dat");
  134. $count=count($file);
  135. for ($b=0; $b<$count; $b++) { $idbase=explode("|",$file[$b]); if ( $id == $idbase[7]) {
  136. $stroka=$b; break;
  137. }}
  138.  
  139. if($stroka!==""){
  140. unlink ("../local/commforum/$them/$id.dat");
  141.  
  142. $fp=fopen("../local/commforum/$them/topic$fid.dat","w");
  143. flock ($fp,LOCK_EX);
  144. for ($i=0;$i< sizeof($file);$i++) { if ($i==$stroka) {unset($file[$i]);} }
  145. fputs($fp, implode("",$file));
  146. flock ($fp,LOCK_UN);
  147. fclose($fp);
  148. chmod($fp, 0777);
  149. chmod("../local/commforum/$them/topic$fid.dat", 0777);
  150. }
  151. header ("Location: aforum.php?soo=$soo&them=$them&fid=$fid&page=$page&isset=mp_delthemes&".SID);
  152. }else{header ("Location: aforum.php?soo=$soo&them=$them&fid=$fid&page=$page&isset=mp_nodelthemes&".SID);}
  153. exit; }
  154.  
  155.  
  156. //----------------------- Удаление сообщений --------------------------------//
  157. if (isset($topicxd)) { if ($topicxd!="") {
  158. $topicxd=$topicxd-1;
  159. $file=file("../local/commforum/$them/$id.dat");
  160.  
  161. if (count($file)==1) {
  162. echo ' В ТЕМЕ должно остаться хотябы одно сообщение! <br>';
  163. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&event=topic&amp;fid='.$fid.'&amp;id='.$id.'&amp;page='.$page.'&amp;'.SID.'">Продолжить</a><br>'; include_once"../themes/$config_themes/foot.php";
  164. exit;}
  165.  
  166. $fp=fopen("../local/commforum/$them/$id.dat","w");
  167. flock ($fp,LOCK_EX);
  168. for ($i=0;$i< sizeof($file);$i++) { if ($i==$topicxd) {unset($file[$i]);} }
  169. fputs($fp, implode("",$file));
  170. flock ($fp,LOCK_UN);
  171. fclose($fp);
  172. chmod($fp, 0777);
  173. chmod("../local/commforum/$them/$id.dat", 0777);
  174.  
  175. header ("Location: aforum.php?soo=$soo&them=$them&event=topic&fid=$fid&id=$id&page=$page&".SID);
  176. //Сообщение успешно удалено!
  177. exit; }}
  178.  
  179.  
  180. //----------------------- Добавление разделов --------------------------------//
  181. if(isset($event)) {
  182. if ($event =="addmainforum") {
  183. if ($zag!="") {
  184.  
  185.  
  186. $nextnum="1";
  187. if (is_file("../local/commforum/$them/mainforum.dat")) {
  188. $lines=file("../local/commforum/$them/mainforum.dat");
  189. $imax = count($lines); $i=0;
  190. do {$dt = explode("|", $lines[$i]);
  191. if ($nextnum<$dt[0]) {$nextnum=$dt[0];} $i++;
  192. }
  193. while($i < $imax); $nextnum++; }
  194.  
  195. $msg=check($msg);
  196. $zag=check($zag);
  197.  
  198.  
  199. $txtmf=$nextnum.'|'.$zag.'|рус||0|0||||||';
  200. $txtmf=preg_replace ("|[\r\n]+|si","",$txtmf);
  201.  
  202. $fp=fopen("../local/commforum/$them/mainforum.dat","a+");
  203. flock ($fp,LOCK_EX);
  204. fputs($fp,"$txtmf\r\n");
  205. fflush ($fp);
  206. flock ($fp,LOCK_UN);
  207. fclose($fp);
  208. chmod($fp, 0777);
  209. chmod("../local/commforum/$them/mainforum.dat", 0777);
  210. header ("Location: aforum.php?soo=$soo&them=$them&isset=mp_addforums&".SID);
  211.  
  212. }else{header ("Location: aforum.php?soo=$soo&them=$them&isset=mp_noaddforums&".SID);}
  213. exit; }
  214.  
  215.  
  216. //----------------------- Переименование раздела --------------------------------//
  217. if ($event =="frdmainforum") {
  218. if ($zag != "" && $frd!="") {
  219. $lines = file("../local/commforum/$them/mainforum.dat");
  220. $dt = explode("|", $lines[$frd]);
  221.  
  222.  
  223. $zag=check($zag);
  224. $zag=preg_replace ("|[\r\n]+|si","",$zag);
  225.  
  226. $txtmf=$dt[0].'|'.$zag.'|'.$dt[2].'|'.$dt[3].'|'.$dt[4].'|'.$dt[5].'|'.$dt[6].'|'.$dt[7].'|'.$dt[8].'|'.$dt[9].'|'.$dt[10].'|';
  227. $txtmf=preg_replace ("|[\r\n]+|si","",$txtmf);
  228.  
  229. $file=file("../local/commforum/$them/mainforum.dat");
  230. $fp=fopen("../local/commforum/$them/mainforum.dat","a+");
  231. flock ($fp,LOCK_EX);
  232. ftruncate ($fp,0);
  233. for ($i=0;$i< sizeof($file);$i++) {if ($frd!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$txtmf\r\n");}}
  234. fflush ($fp);
  235. flock ($fp,LOCK_UN);
  236. fclose($fp);
  237. chmod($fp, 0777);
  238. chmod("../local/commforum/$them/mainforum.dat", 0777);
  239.  
  240. header ("Location: aforum.php?soo=$soo&them=$them&isset=mp_editrazdel&".SID);
  241. //Раздел успешно переименован
  242. }else{ header ("Location: aforum.php?soo=$soo&them=$them&frd=$frd&isset=mp_noeditrazdel&".SID);}
  243. exit; }
  244.  
  245.  
  246.  
  247. //----------------------- Закрытие тем --------------------------------//
  248. if ($event=="zakr") {
  249.  
  250. $fileg=file("../local/commforum/$them/$id.dat");
  251. $fileg=array_reverse($fileg);
  252. $ddat=explode("|", $fileg[0]);
  253.  
  254.  
  255. $text=$log.'|рус|'.$brow.', '.$ip.'|'.$ddat[3].'|<img src="../images/smiles2/closed.gif" alt=""> Тема закрыта для обсуждения!||CLOSED|'.$id.'|'.$fid.'|'.$sitetime.'|'.$ddat[10].'|';
  256.  
  257. $text=stripslashes($text);
  258. $fp=fopen("../local/commforum/$them/$id.dat","a+");
  259. flock ($fp,LOCK_EX);
  260. fputs($fp,"$text\r\n");
  261. fflush ($fp);
  262. flock ($fp,LOCK_UN);
  263. fclose($fp);
  264. chmod($fp, 0777);
  265. chmod("../local/commforum/$them/$id.dat", 0777);
  266.  
  267. //Тема закрыта для обсуждения!
  268. header ("Location: aforum.php?soo=$soo&them=$them&event=topic&fid=$fid&id=$id&".SID);
  269. exit;}
  270.  
  271.  
  272.  
  273. //-------------------------- Открытие тем ----------------------------//
  274.  
  275. if ($event=="otkr") {
  276. $file=file("../local/commforum/$them/$id.dat");
  277. $file=array_reverse($file);
  278. $fp=fopen("../local/commforum/$them/$id.dat","w");
  279. flock ($fp,LOCK_EX);
  280.  
  281. unset($file[0]);
  282. $file=array_reverse($file);
  283. fputs($fp, implode("",$file));
  284. flock ($fp,LOCK_UN);
  285. fclose($fp);
  286. chmod($fp, 0777);
  287. chmod("../local/commforum/$them/$id.dat", 0777);
  288.  
  289. //Тема снова открыта
  290. header ("Location: aforum.php?soo=$soo&them=$them&event=topic&fid=$fid&id=$id&".SID);
  291. exit;}
  292.  
  293. //----------------------- Закрепление тем --------------------------------//
  294. if ($event=="locked") {
  295. //-------------------------------------
  296. $file=file("../local/commforum/$them/topic$fid.dat");
  297. foreach($file as $index => $val){
  298. $alldata = explode("|",$file[$index]);
  299. if($alldata[7]==$id){
  300. $file[$index]=$alldata[0].'|'.$alldata[1].'|'.$alldata[2].'|'.$alldata[3].'|'.$alldata[4].'|'.$alldata[5].'|'.$alldata[6].'|'.$alldata[7].'|'.$alldata[8].'|'.$alldata[9].'|'."ON|\r\n";
  301. $fp=fopen("../local/commforum/$them/topic$fid.dat","w");
  302. flock ($fp,LOCK_EX);
  303. fputs($fp, implode("",$file));
  304. flock ($fp,LOCK_UN);
  305. fclose($fp);
  306. chmod($fp, 0777);
  307. }
  308. }
  309. //----------------------------------------
  310. $file=file("../local/commforum/$them/$id.dat");
  311. $file=array_reverse($file);
  312. $fp=fopen("../local/commforum/$them/$id.dat","w");
  313. flock ($fp,LOCK_EX);
  314.  
  315. $post= explode("|", $file[0]);
  316. $file[0]=$post[0].'|'.$post[1].'|'.$post[2].'|'.$post[3].'|'.$post[4].'|'.$post[5].'|'.$post[6].'|'.$post[7].'|'.$post[8].'|'.$post[9].'|'."ON|\r\n";
  317. $file=array_reverse($file);
  318. fputs($fp, implode("",$file));
  319. flock ($fp,LOCK_UN);
  320. fclose($fp);
  321. chmod($fp, 0777);
  322.  
  323. //Тема закреплена!
  324. header ("Location: aforum.php?soo=$soo&them=$them&event=topic&fid=$fid&id=$id&".SID);
  325. exit;}
  326.  
  327.  
  328.  
  329. //-------------------------- Открепление тем ----------------------------//
  330. if ($event=="unlocked") {
  331. //-------------------------------------
  332. $file=file("../local/commforum/$them/topic$fid.dat");
  333. foreach($file as $index => $val)
  334. {$alldata = explode("|",$file[$index]);
  335. if($alldata[7]==$id){
  336. $file[$index]=$alldata[0].'|'.$alldata[1].'|'.$alldata[2].'|'.$alldata[3].'|'.$alldata[4].'|'.$alldata[5].'|'.$alldata[6].'|'.$alldata[7].'|'.$alldata[8].'|'.$alldata[9].'||'."\r\n";
  337. $fp=fopen("../local/commforum/$them/topic$fid.dat","w");
  338. flock ($fp,LOCK_EX);
  339. fputs($fp, implode("",$file));
  340. flock ($fp,LOCK_UN);
  341. fclose($fp);
  342. chmod($fp, 0777);
  343. }
  344. }
  345. //----------------------------------------
  346. $file=file("../local/commforum/$them/$id.dat");
  347. $file=array_reverse($file);
  348. $fp=fopen("../local/commforum/$them/$id.dat","w");
  349. flock ($fp,LOCK_EX);
  350.  
  351. $post= explode("|", $file[0]);
  352. $file[0]=$post[0].'|'.$post[1].'|'.$post[2].'|'.$post[3].'|'.$post[4].'|'.$post[5].'|'.$post[6].'|'.$post[7].'|'.$post[8].'|'.$post[9].'||'."\r\n";
  353. $file=array_reverse($file);
  354. fputs($fp, implode("",$file));
  355. flock ($fp,LOCK_UN);
  356. fclose($fp);
  357. chmod($fp, 0777);
  358.  
  359. //Тема откреплена
  360. header ("Location: aforum.php?soo=$soo&them=$them&event=topic&fid=$fid&id=$id&".SID);
  361. exit;}
  362.  
  363.  
  364. //------------------------ Переименование темы -------------------------------//
  365.  
  366. if ($event=="rdtema") {
  367. if ($zag!="" && $id!="" && $fid!="") {
  368.  
  369. $fid=(int)$fid;
  370. $id=check($id);
  371. $zag=check_full($zag);
  372.  
  373. $lines=file("../local/commforum/$them/topic$fid.dat");
  374. $count=count($lines);
  375. for ($b=0; $b<$count; $b++) { $idbase=explode("|",$lines[$b]); if ( $id == $idbase[7]) {
  376. $stroka=$b; break;
  377. }}
  378.  
  379. $dt=explode("|", $lines[$stroka]);
  380.  
  381. $txtmf=$dt[0].'|рус|'.$dt[2].'|'.$zag.'|'.$dt[4].'|'.$dt[5].'|'.$dt[6].'|'.$id.'|'.$fid.'|'.$dt[9].'|'.$dt[10].'|';
  382.  
  383. $file=file("../local/commforum/$them/topic$fid.dat");
  384. $fp=fopen("../local/commforum/$them/topic$fid.dat","a+");
  385. flock ($fp,LOCK_EX);
  386. ftruncate ($fp,0);
  387. for ($i=0;$i< sizeof($file);$i++) { if ($stroka!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$txtmf\r\n");} }
  388. fflush ($fp);
  389. flock ($fp,LOCK_UN);
  390. fclose($fp);
  391. chmod($fp, 0777);
  392. chmod("../local/commforum/$them/topic$fid.dat", 0777);
  393.  
  394.  
  395. $lines = file("../local/commforum/$them/mainforum.dat");
  396. $i3=count($lines);
  397. do {$i3--; $dd = explode("|", $lines[$i3]);
  398. if ($dd[0]==$fid) {$realfid=$i3; }
  399. } while($i3>0);
  400. $dd = explode("|", $lines[$realfid]);
  401. if ($id==$dd[3]){
  402.  
  403. $txtdat=$dd[0].'|'.$dd[1].'|'.$dd[2].'|'.$dd[3].'|'.$dd[4].'|'.$dd[5].'|'.$dd[6].'|'.$dd[7].'|'.$dd[8].'|'.$dd[9].'|'.$zag.'|';
  404. $txtdat=preg_replace ("|[\r\n]+|si","",$txtdat);
  405.  
  406. $fp2=fopen("../local/commforum/$them/mainforum.dat","a+");
  407. flock ($fp2,LOCK_EX);
  408. ftruncate ($fp2,0);
  409. for ($i2=0;$i2<=(sizeof($lines)-1);$i2++) {if ($i2==$realfid) {fputs($fp2,"$txtdat\r\n");} else {fputs($fp2,$lines[$i2]);}}
  410. fflush ($fp2);
  411. flock ($fp2,LOCK_UN);
  412. fclose($fp2);
  413. chmod($fp2, 0777);
  414. chmod("../local/commforum/$them/mainforum.dat", 0777);
  415. }
  416.  
  417.  
  418.  
  419. $file1=file("../local/commforum/$them/$id.dat");
  420. $fs=count($file1)-1; $i1="-1";
  421. $dt = explode("|", $file1[$fs]);
  422.  
  423. $text1=$dt[0].'|рус|'.$dt[2].'|'.$zag.'|'.$dt[4].'|'.$dt[5].'|'.$dt[6].'|'.$id.'|'.$fid.'|'.$dt[9].'|'.$dt[10].'|';
  424. $text1=preg_replace ("|[\r\n]+|si","",$text1);
  425.  
  426. $fp1=fopen("../local/commforum/$them/$id.dat","a+");
  427. flock ($fp1,LOCK_EX);
  428. ftruncate ($fp1,0);
  429.  
  430. do {$i1++; if ($i1==$fs) {fputs($fp1,"$text1\r\n");} else {fputs($fp1,$file1[$i1]);} } while($i1 < $fs);
  431. fflush ($fp1);
  432. flock ($fp1,LOCK_UN);
  433. fclose($fp1);
  434. chmod($fp1, 0777);
  435. chmod("../local/commforum/$them/$id.dat", 0777);
  436. }
  437. header ("Location: aforum.php?soo=$soo&them=$them&fid=$fid&page=$page&".SID);
  438. //Тема успешно изменена!
  439. exit; }
  440.  
  441.  
  442.  
  443. //-------------------------------------------------------//
  444.  
  445.  
  446. }
  447.  
  448. if(isset($event)){
  449.  
  450. if (($event=="addtopic") or ($event=="addanswer")) {
  451. if ($fid!="") {
  452.  
  453.  
  454. $mainlines = file("../local/commforum/$them/mainforum.dat"); $i=count($mainlines);
  455. do {$i--; $dt = explode("|", $mainlines[$i]);
  456. if ($dt[0]==$fid) {$realfid=$i;}
  457.  
  458. } while($i>0);
  459.  
  460.  
  461. if (strlen($msg) > 1200 || strlen($msg) < 5) {
  462. echo '<b>Ваше сообщение пустое или слишком длинное.</b><br>';
  463. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&newtema=add&amp;fid='.$fid.'&amp;'.SID.'">Повторить</a><br>';
  464. include_once"../themes/$config_themes/foot.php";
  465. exit;}
  466.  
  467. if (strlen($zag) > 150 || strlen($zag) < 5 ) {
  468. echo '<b>Ваш заголовок пустой или слишком длинный!</b><br>';
  469. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&newtema=add&amp;fid='.$fid.'&amp;'.SID.'">Повторить</a><br>';
  470. include_once"../themes/$config_themes/foot.php";
  471. exit;}
  472.  
  473.  
  474. if($id!=""){
  475. $locked="";
  476. $provfile=file("../local/commforum/$them/$id.dat");
  477. $provfile = array_reverse($provfile);
  478. $provmas = explode("|",$provfile[0]);
  479. if($provmas[10]=="ON"){$locked="ON";}
  480. }
  481.  
  482. if ($event=="addtopic") {
  483. $tt=explode(' ', microtime());
  484. $ttt=$tt[1]+$tt[0];
  485. $ttf=str_replace(".", "", $ttt);
  486. $id = $ttf;}
  487.  
  488.  
  489.  
  490. $log=check($log);
  491. $brow=check($brow);
  492. $zag=check($zag);
  493. $msg=check($msg);
  494. $msg = smiles($msg);
  495. $id=check($id);
  496. if($name==""){$name=$log;}
  497.  
  498. $msg = no_br($msg,'<br>');
  499. $text=$name.'|рус|'.$brow.', '.$ip.'|'.$zag.'|<img src="../images/smiles2/moder.gif" alt=""> '.$msg.'|||'.$id.'|'.$fid.'|'.$sitetime.'|'.$locked.'|';
  500. $text = no_br($text);
  501.  
  502.  
  503.  
  504. if(isset($topicrd)) {
  505.  
  506. $text2=$name.'|рус|'.$ipbrow.'|'.$zag.'|'.$msg.'<br>[red][Отредактировано: '.$log.' - '.$dates.'][/red]||'.$ftime.'|'.$id.'|'.$fid.'|'.$timetk.'|'.$locked.'|';
  507. $text2=no_br($text2);
  508.  
  509. $file=file("../local/commforum/$them/$id.dat");
  510. $fs=count($file)-1;
  511. $i="-1";
  512.  
  513. $fp=fopen("../local/commforum/$them/$id.dat","a+");
  514. flock ($fp,LOCK_EX);
  515. ftruncate ($fp,0);
  516. do {$i++; if ($i==$topicrd) {fputs($fp,"$text2\r\n");} else {fputs($fp,$file[$i]);} } while($i < $fs);
  517. fflush ($fp);
  518. flock ($fp,LOCK_UN);
  519. fclose($fp);
  520. chmod($fp, 0777);
  521. chmod("../local/commforum/$them/$id.dat", 0777);
  522. header ("Location: aforum.php?soo=$soo&them=$them&event=topic&fid=$fid&id=$id&page=$page&".SID);
  523.  
  524. //Сообщение успешно изменено!
  525. include_once"../themes/$config_themes/foot.php";
  526. exit; }
  527.  
  528.  
  529. $zag=utf_to_win($zag);
  530. if (strlen($zag)>30) {$zag=substr($zag,0,30); $zag.="...";}
  531. $zag=win_to_utf($zag);
  532.  
  533. $lines = file("../local/commforum/$them/mainforum.dat");
  534. $dt = explode("|", $lines[$realfid]);
  535. if ($event=="addtopic") {$dt[4]++;} $dt[5]++;
  536. $txtdat=$dt[0].'|'.$dt[1].'|'.$dt[2].'|'.$id.'|'.$dt[4].'|'.$dt[5].'|'.$log.'|||'.$sitetime.'|'.$zag.'|';
  537.  
  538.  
  539. $fp=fopen("../local/commforum/$them/mainforum.dat","a+");
  540. flock ($fp,LOCK_EX);
  541. ftruncate ($fp,0);
  542. for ($i=0;$i<=(sizeof($lines)-1);$i++) {
  543. if ($i==$realfid) {fputs($fp,"$txtdat\r\n");} else {fputs($fp,$lines[$i]);}}
  544. fflush ($fp);
  545. flock ($fp,LOCK_UN);
  546. fclose($fp);
  547. chmod($fp, 0777);
  548. chmod("../local/commforum/$them/mainforum.dat", 0777);
  549. }
  550.  
  551.  
  552.  
  553. //------------------------ Добавление новой темы ---------------------------------//
  554. if ($event =="addtopic") {
  555. if($fid!="" && $id!=""){
  556. $fp=fopen("../local/commforum/$them/topic$fid.dat","a+");
  557. flock ($fp,LOCK_EX);
  558. fputs($fp,"$text\r\n");
  559. fflush ($fp);
  560. flock ($fp,LOCK_UN);
  561. fclose($fp);
  562. chmod($fp, 0777);
  563. chmod("../local/commforum/$them/topic$fid.dat", 0777);
  564.  
  565. $fp=fopen("../local/commforum/$them/$id.dat","a+");
  566. flock ($fp,LOCK_EX);
  567. fputs($fp,"$text\r\n");
  568. fflush ($fp);
  569. flock ($fp,LOCK_UN);
  570. fclose($fp);
  571. chmod($fp, 0777);
  572. chmod("../local/commforum/$them/$id.dat", 0777);
  573. }
  574.  
  575. header ("Location: aforum.php?soo=$soo&them=$them&event=topic&fid=$fid&id=$id&".SID); exit; }
  576.  
  577.  
  578.  
  579. if ($event=="addanswer") {
  580. $fp=fopen("../local/commforum/$them/$id.dat","a+");
  581. flock ($fp,LOCK_EX);
  582. fputs($fp,"$text\r\n");
  583. fflush ($fp);
  584. flock ($fp,LOCK_UN);
  585. fclose($fp);
  586. chmod($fp, 0777);
  587. chmod("../local/commforum/$them/$id.dat", 0777);
  588.  
  589. // обновление топика тем
  590. $file=file("../local/commforum/$them/topic$fid.dat");
  591. foreach($file as $index => $val){
  592. $alldata = explode("|",$file[$index]);
  593. $alldata2 = explode("|",$text);
  594. if($alldata[7]==$alldata2[7]){
  595. $fp=fopen("../local/commforum/$them/topic$fid.dat","w");
  596. flock ($fp,LOCK_EX);
  597. unset($file[$index]);
  598. fputs($fp, implode("",$file));
  599. flock ($fp,LOCK_UN);
  600. fclose($fp);
  601. chmod($fp, 0777);
  602. }}
  603.  
  604. $fp=fopen("../local/commforum/$them/topic$fid.dat","a+");
  605. flock ($fp,LOCK_EX);
  606. fputs($fp,"$text\r\n");
  607. fflush ($fp);
  608. flock ($fp,LOCK_UN);
  609. fclose($fp);
  610. chmod($fp, 0777);
  611.  
  612.  
  613. //Сообщение успешно добавлено
  614. header ("Location: aforum.php?soo=$soo&them=$them&event=topic&fid=$fid&id=$id&page=$page&".SID);
  615. exit;}
  616. }
  617. }
  618.  
  619.  
  620. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
  621.  
  622. if (isset($fid)) {
  623. $mainlines = file("../local/commforum/$them/mainforum.dat");
  624. $i=count($mainlines);
  625.  
  626. if (!ctype_digit($fid)) {
  627. echo '<h3>ОШИБКА!</h3>';
  628. include_once"../themes/$config_themes/foot.php";
  629. exit;}
  630.  
  631. do {$i--; $rdt = explode("|", $mainlines[$i]);
  632. $dt = explode("|", $mainlines[$i]);
  633. if ($dt[0]==$fid) {$i=0;}
  634. } while($i > "1");
  635.  
  636.  
  637. $frname=$dt[1];
  638. $frname.=' -';
  639.  
  640. if (isset($id)) {if (is_file("../local/commforum/$them/$id.dat")) {$lines = file("../local/commforum/$them/$id.dat"); $dt = explode("|", $lines[0]); $frtname=$dt[3]; $frtname.=" -";} else {$frtname=""; $frname="";}} else {$frtname="";} } else {$frname=""; $frtname="";}
  641.  
  642.  
  643. if (!isset($_GET['event'])) {
  644. if (!isset($_GET['fid'])) {
  645. //------------------------ Главная страница форума ---------------------------------//
  646. $lines = file("../local/commforum/$them/mainforum.dat");
  647. $i=count($lines);
  648. if($lines && $i>0){
  649. $n="0"; $a1="-1"; $u=$i-1;
  650. $fid="0"; $itogotem="0"; $itogomsg="0";
  651. do {$a1++; $dt = explode("|", $lines[$a1]);
  652. $fid=$dt[0];
  653.  
  654.  
  655. echo '<div class=b><img src="../images/img/forums.gif" alt=""> <b><a href="aforum.php?soo='.$soo.'&them='.$them.'&fid='.$fid.'&amp;'.SID.'">'.$dt[1].'</a></b>';
  656. echo '('.$dt[4].'/'.$dt[5].')';
  657. $textom = file(BASEDIR."local/comm/$them.soo");
  658. $uzdatam = explode(":||:",$textom[0]);
  659. if ($dostup==101 || $dostup==102 || $log==$uzdatam[0]){
  660. echo '<br><a href="aforum.php?soo='.$soo.'&them='.$them.'&movetopic='.$a1.'&amp;where=1&amp;'.SID.'">[Вверх]</a>';
  661. echo ' <a href="aforum.php?soo='.$soo.'&them='.$them.'&movetopic='.$a1.'&amp;where=0&amp;'.SID.'">[Вниз]</a>';
  662. echo ' <a href="aforum.php?soo='.$soo.'&them='.$them.'&frd='.$a1.'&amp;'.SID.'">[Edit]</a>';
  663. echo ' <a href="aforum.php?soo='.$soo.'&them='.$them.'&provtop='.$a1.'&amp;'.SID.'"><font color="#FF0000">[Del]</font></a>';
  664. }
  665. echo '</div>';
  666.  
  667. if($dt[10]!=""){
  668. echo 'Тема: <a href="aforum.php?soo='.$soo.'&them='.$them.'&event=topic&amp;fid='.$fid.'&amp;id='.$dt[3].'&amp;'.SID.'">'.$dt[10].'</a><br>';
  669. echo 'Посл. сообщение: <b>'.nickname($dt[6]).'</b> ('.date_fixed($dt[9]).')<br>';
  670. }else{echo 'Темы еще не созданы!<br>';}
  671.  
  672.  
  673. $itogotem=$itogotem+$dt[4]; $itogomsg=$itogomsg+$dt[5];
  674.  
  675. } while($a1 < $u);
  676. }else{echo 'Разделы форума не созданы - добавьте раздел!';}
  677.  
  678. //------------------------ Форма редактирования раздела ---------------------------------//
  679. if (isset($frd)) {
  680. if ($frd!="") {
  681.  
  682. $lines = file("../local/commforum/$them/mainforum.dat");
  683. $dt = explode("|", $lines[$frd]);
  684.  
  685.  
  686. if($config_themes!="wml"){
  687. echo '<hr><form action="aforum.php?soo='.$soo.'&them='.$them.'&event=frdmainforum&amp;frd='.$frd.'&amp;'.SID.'" method="post">';
  688. echo '<img src="../images/img/edit.gif" alt=""> <b>Редактирование раздела</b><br><br>';
  689. echo '<b>Заголовок:</b><br>';
  690.  
  691. echo '<input type="text" name="zag" value="'.$dt[1].'" />';
  692.  
  693. echo '<input type="submit" value="Изменить" /></form>';
  694. }else{
  695. echo '<br>--------------------<br>';
  696. echo '<b>Редактирование раздела</b><br>';
  697. echo '<b>Заголовок:</b><br>';
  698. echo '<input type="text" name="zag" value="'.$dt[1].'"/><br>';
  699.  
  700. echo '<anchor>Изменить';
  701. echo '<go href="aforum.php?soo='.$soo.'&them='.$them.'&event=frdmainforum&amp;frd='.$frd.'&amp;'.SID.'" method="post">';
  702. echo '<postfield name="zag" value="$(zag)"/>';
  703. echo '</go></anchor><br>--------------------<br>';
  704.  
  705. }
  706. }} else {
  707. //-------------------- Форма вывода добавления раздела ----------------------//
  708. $textom = file(BASEDIR."local/comm/$them.soo");
  709. $uzdatam = explode(":||:",$textom[0]);
  710. if ($dostup==101 || $dostup==102 || $log==$uzdatam[0]){
  711. if($config_themes!="wml"){
  712. echo '<hr><form action="aforum.php?soo='.$soo.'&them='.$them.'&event=addmainforum&amp;'.SID.'" method="post">';
  713. echo '<img src="../images/img/edit.gif" alt=""> <b>Добавление Раздела</b><br><br>';
  714. echo '<b>Заголовок:</b><br><input type="text" name="zag" /><br>';
  715. echo '<input type="submit" value="Добавить" /></form>';
  716. }else{
  717. echo '<br>--------------------<br>';
  718. echo '<b>Добавление Раздела</b><br>';
  719. echo '<b>Заголовок:</b><br>';
  720. echo '<input type="text" name="zag" /><br>';
  721. echo '<anchor>Добавить';
  722. echo '<go href="aforum.php?soo='.$soo.'&them='.$them.'&event=addmainforum&amp;'.SID.'" method="post">';
  723. echo '<postfield name="zag" value="$(zag)"/>';
  724. echo '</go></anchor>';
  725. }}
  726. }
  727.  
  728. echo '<hr>Всего тем: <b>'.(int)$itogotem.'</b><br>Всего сообщений: <b>'.(int)$itogomsg.'</b>';
  729.  
  730. } else {
  731. $fid=(int)$fid;
  732. $forums = file("../local/commforum/$them/mainforum.dat");
  733. ###################################################
  734.  
  735. $iz=count($forums);
  736.  
  737. $az1='-1';
  738. $ux=$iz-1;
  739.  
  740. do {$az1++;
  741. $yy=explode("|", $forums[$az1]);
  742. if ($yy[0]==$fid){$raz=$yy[1];}} while($az1 < $ux);
  743. ####################################################
  744.  
  745.  
  746. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&'.SID.'">Форум</a> | ';
  747. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&fid='.$fid.'&amp;action=newthemes&amp;'.SID.'">Новая тема</a> | ';
  748. echo '<a href="forum.php?soo='.$soo.'&them='.$them.'&fid='.$fid.'&amp;page='.$page.'&amp;'.SID.'">Обзор</a><br>';
  749. echo '<br><img src="../images/img/themes.gif" alt=""> <b>'.$raz.'</b><br><hr>';
  750.  
  751. if (is_file("../local/commforum/$them/topic$fid.dat")) {
  752. $msglines=file("../local/commforum/$them/topic$fid.dat");
  753.  
  754. if (count($msglines)>0) {
  755.  
  756. $lines=file("../local/commforum/$them/topic$fid.dat");
  757.  
  758. //************************************************************//
  759. $ups=0;
  760. while (isset($lines[$ups]))
  761. { $well=explode("|", $lines[$ups]);
  762. if ($well[10]!="ON")
  763. { $unlines[]= $lines[$ups]; }
  764. $ups++;
  765. }
  766. $ups=0;
  767. while (isset($lines[$ups]))
  768. { $well=explode("|", $lines[$ups]);
  769. if ($well[10]=="ON")
  770. { $unlines[]= $lines[$ups]; }
  771. $ups++;
  772. }
  773. unset($lines);
  774. $lines=$unlines;
  775. //************************************************************//
  776.  
  777.  
  778. $i=count($lines); $n="0";
  779. if (!isset($page)) {$page="0";}
  780.  
  781.  
  782.  
  783. if ($page>=$i) {$page=$i-1;}
  784. if ($i-$page-$config_forumtem>=0) {$a1=$i-$page; $u=$a1-$config_forumtem;} else {$a1=$i-$page; $u=0;}
  785.  
  786.  
  787.  
  788. do {$a1--; $dt=explode("|", $lines[$a1]);
  789.  
  790. $filename=$dt[7];
  791. if (is_file("../local/commforum/$them/$filename.dat")) {
  792. $msgsize = sizeof(file("../local/commforum/$them/$filename.dat"));}
  793.  
  794. $datatek=file("../local/commforum/$them/$filename.dat");
  795. $pos=$msgsize-1;
  796. $dtt = explode("|", $datatek[$pos]);
  797.  
  798. /////////////////
  799. echo '<div class=b>';
  800.  
  801. if($dtt[10]=="ON"){echo '<img src="../images/img/lock.gif" alt=""> ';}
  802. elseif($dtt[6]=="CLOSED"){echo '<img src="../images/img/zakr.gif" alt=""> ';}
  803. else{echo '<img src="../images/img/forums.gif" alt=""> ';}
  804.  
  805. echo '<b><a href="aforum.php?soo='.$soo.'&them='.$them.'&event=topic&amp;fid='.$fid.'&amp;id='.$dt[7].'&amp;'.SID.'">'.$dt[3].'</a></b>';
  806. echo ' ('.$msgsize.')';
  807. echo '<br><a href="aforum.php?soo='.$soo.'&them='.$them.'&action=edittopic&amp;fid='.$fid.'&amp;id='.$dt[7].'&amp;page='.$page.'&amp;'.SID.'">[EDIT]</a> ';
  808. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&action=deltopic&amp;fid='.$fid.'&amp;id='.$dt[7].'&amp;page='.$page.'&amp;'.SID.'"><font color="#FF0000">[DEL]</font></a></div><div>';
  809.  
  810.  
  811. //--------------- Правильный пост. вывод для тем (превью) ---------------------//
  812. $ba=ceil($msgsize/$config_forumpost);
  813. $ba2=floor(($msgsize-1)/$config_forumpost)*$config_forumpost;
  814.  
  815. echo'Страницы:';
  816. $asd2=$page+($config_forumpost*5);
  817. for($i=0; $i<$asd2;)
  818. {
  819. if($i<$msgsize && $i>=0){
  820. $ii=floor(1+$i/$config_forumpost);
  821. echo ' <a href="aforum.php?soo='.$soo.'&them='.$them.'&event=topic&amp;fid='.$fid.'&amp;id='.$dt[7].'&amp;page='.$i.'&amp;'.SID.'">'.$ii.'</a>';
  822. }
  823. $i=$i+$config_forumpost;}
  824. if($asd2<$msgsize){
  825. echo ' ... <a href="aforum.php?soo='.$soo.'&them='.$them.'&event=topic&amp;fid='.$fid.'&amp;id='.$dt[7].'&amp;page='.$ba2.'&amp;'.SID.'">'.$ba.'</a>';}
  826. //---------------------------------------------------------------------//
  827.  
  828.  
  829. if ($msgsize>=2) {
  830. $linesdat=file("../local/commforum/$them/$filename.dat");
  831. $dtdat=explode("|", $linesdat[$msgsize-1]);
  832. $dt[0]=$dtdat[0];
  833. $dt[1]=$dtdat[1];
  834. $dt[2]=$dtdat[2];
  835. $dt[5]=$dtdat[5];
  836. $dt[6]=$dtdat[6];}
  837.  
  838.  
  839. echo '<br>Посл. сообщение: '.nickname($dt[0]).' ('.date_fixed($dt[9]).')</div>';
  840. } while($a1 > $u);
  841.  
  842.  
  843. //----------------------- Правильный пост. вывод для тем --------------------------------//
  844. $lines=file("../local/commforum/$them/topic$fid.dat");
  845. $total=count($lines);
  846. $ba=ceil($total/$config_forumtem);
  847. $ba2=$ba*$config_forumtem-$config_forumtem;
  848. echo '<br>';
  849.  
  850. echo '<hr>Страницы:';
  851. $asd=$page-($config_forumtem*2);
  852. $asd2=$page+($config_forumtem*3);
  853.  
  854. if($asd<$total && $asd>0){echo ' <a href="aforum.php?soo='.$soo.'&them='.$them.'&fid='.$fid.'&amp;page=0&amp;'.SID.'">1</a> ... ';}
  855.  
  856. for($i=$asd; $i<$asd2;)
  857. {
  858. if($i<$total && $i>=0){
  859. $ii=floor(1+$i/$config_forumtem);
  860.  
  861. if ($page==$i) {
  862. echo ' <b>('.$ii.')</b>';
  863. } else {
  864. echo ' <a href="aforum.php?soo='.$soo.'&them='.$them.'&fid='.$fid.'&amp;page='.$i.'&amp;'.SID.'">'.$ii.'</a>';
  865. }}
  866.  
  867.  
  868. $i=$i+$config_forumtem;}
  869. if($asd2<$total){echo ' ... <a href="aforum.php?soo='.$soo.'&them='.$them.'&fid='.$fid.'&amp;page='.$ba2.'&amp;'.SID.'">'.$ba.'</a>';}
  870.  
  871. }else{echo '<br>';}
  872. }
  873.  
  874.  
  875. //---------------------------- Редактирование и Добавление Темы --------------------------------//
  876. if($action=="edittopic"){
  877. if ($id!="" && $fid!="") {
  878. $id=check($id);
  879. $fid=(int)$fid;
  880.  
  881. $lines=file("../local/commforum/$them/topic$fid.dat");
  882. $count=count($lines);
  883. for ($b=0; $b<$count; $b++) { $idbase=explode("|",$lines[$b]); if ( $id == $idbase[7]) { $stroka=$b; break;}}
  884.  
  885. $dt=explode("|", $lines[$stroka]);
  886.  
  887. if($config_themes!="wml"){
  888. echo '<hr><b>Редактирование Темы</b><br><br>';
  889. echo '<b>Тема:</b><br>';
  890. echo '<form action="aforum.php?soo='.$soo.'&them='.$them.'&fid='.$fid.'&amp;event=rdtema&amp;id='.$id.'&amp;'.SID.'" method="post">';
  891. echo '<input type="text" name="zag" value="'.$dt[3].'" /><br>';
  892. echo '<input type="submit" value="Изменить" /></form><hr>';
  893. }else{
  894. echo '<br>--------------------<br>';
  895. echo '<b>Редактирование Темы</b><br>';
  896. echo '<b>Тема:</b><br>';
  897. echo '<input type="text" name="zag" value="'.$dt[3].'"/><br>';
  898. echo '<anchor>Изменить';
  899. echo '<go href="aforum.php?soo='.$soo.'&them='.$them.'&fid='.$fid.'&amp;event=rdtema&amp;id='.$id.'&amp;'.SID.'" method="post">';
  900. echo '<postfield name="zag" value="$(zag)"/>';
  901. echo '</go></anchor><br>--------------------';
  902. }
  903. }
  904. }
  905. //--------------------- Форма добавления новой темы ----------------------//
  906. if($action=="newthemes"){
  907. if($config_themes!="wml"){
  908. echo '<hr><img src="../images/img/edit.gif" alt=""> <b>Добавление темы</b><br><br>';
  909. echo '<form action="aforum.php?soo='.$soo.'&them='.$them.'&event=addtopic&amp;fid='.$fid.'&amp;'.SID.'" method="post">';
  910.  
  911. echo '<b>Заголовок темы:</b><br>';
  912. echo '<input type="text" name="zag" maxlength="30" /><br>';
  913. echo '<b>Сообщение:</b><br>';
  914. echo '<textarea cols="25" rows="3" name="msg"></textarea><br>';
  915. echo '<br><input type="submit" value="Добавить" /></form><hr>';
  916. }else{
  917. echo '<br>--------------------<br>';
  918. echo '<b>Добавление темы</b><br>';
  919. echo '<b>Заголовок темы:</b><br>';
  920. echo '<input type="text" name="zag" value=""/><br>';
  921. echo '<b>Сообщение:</b><br>';
  922. echo '<input type="text" name="msg" value=""/><br>';
  923. echo '<anchor>Добавить';
  924. echo '<go href="aforum.php?soo='.$soo.'&them='.$them.'&event=addtopic&amp;fid='.$fid.'&amp;'.SID.'" method="post">';
  925. echo '<postfield name="zag" value="$(zag)"/>';
  926. echo '<postfield name="msg" value="$(msg)"/>';
  927. echo '</go></anchor><br>--------------------';
  928. }
  929.  
  930. }
  931.  
  932. }}else{
  933.  
  934.  
  935.  
  936. if ($event=="topic"){
  937. if ($id == "") { echo '<br>Критическая ошибка, отсутствует ID темы'; include_once"../themes/$config_themes/foot.php"; exit;}
  938. if ($fid == "") { echo '<br>Критическая ошибка, отсутствует FID раздела'; include_once"../themes/$config_themes/foot.php"; exit;}
  939.  
  940.  
  941. $mainlines = file("../local/commforum/$them/mainforum.dat");
  942. $i=count($mainlines);
  943.  
  944. do {$i--; $rdt = explode("|", $mainlines[$i]);
  945. $dt = explode("|", $mainlines[$i]);
  946. if ($dt[0]==$fid) {$i=0;}
  947.  
  948. } while($i > "1");
  949. $frname=$dt[1];
  950.  
  951.  
  952.  
  953. if (!is_file("../local/commforum/$them/$id.dat")) {
  954. //Тема удалена модератором!
  955. header ("Location: aforum.php?soo='.$soo.'&them='.$them.'&fid=$fid&isset=delthemes&".SID);
  956. exit;
  957. }else {
  958. $lines = file("../local/commforum/$them/$id.dat");
  959. if (count($lines)>0) {
  960.  
  961. $lines = file("../local/commforum/$them/$id.dat");
  962. $i=count($lines);
  963. $n="0";
  964.  
  965.  
  966.  
  967. if (!isset($page)){$page="0";}
  968.  
  969.  
  970.  
  971. if ($page>=$i) {$page=(round($i/$config_forumpost))*10;}
  972. if ($i<=$config_forumpost) {$page="0";}
  973. if ($page>=1) {$a1=$page;} else {$a1=0;}
  974. if (($a1+$config_forumpost)<$i) {$u=$a1+$config_forumpost;} else {$u=$i;}
  975.  
  976. do {$dt = explode("|", $lines[$a1]);
  977.  
  978. $dt[4]=bb_code($dt[4]);
  979.  
  980. $a1++;
  981.  
  982.  
  983. if (!isset($m1)) {
  984.  
  985. $filem=file("../local/commforum/$them/$id.dat");
  986. $fg=count($filem)-1;
  987. $dg=explode("|", $filem[$fg]);
  988. $forums = file("../local/commforum/$them/mainforum.dat");
  989.  
  990. ##########################################################
  991.  
  992.  
  993.  
  994. $iz=count($forums);
  995. $az1="-1"; $ux=$iz-1;
  996. do {$az1++;
  997. $yy=explode("|", $forums[$az1]);
  998. if ($yy[0]==$fid){$raz=$yy[1];}} while($az1 < $ux);
  999.  
  1000. #############################################################
  1001.  
  1002. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&'.SID.'">Форум</a> | ';
  1003. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&fid='.$fid.'&amp;'.SID.'">'.$raz.'</a> | ';
  1004. echo '<a href="forum.php?soo='.$soo.'&them='.$them.'&fid='.$fid.'&amp;id='.$id.'&amp;page='.$page.'&amp;'.SID.'">Обзор</a><br>';
  1005.  
  1006. echo '<br><img src="../images/img/themes.gif" alt=""> <b>'.$dg[3].'</b><br>';
  1007. $m1='1';
  1008.  
  1009. ###############################
  1010.  
  1011. $lines2=file("../local/commforum/$them/$id.dat");
  1012.  
  1013. $lines2=array_reverse($lines2);
  1014. $ddd=explode("|", $lines2[0]);
  1015.  
  1016.  
  1017. if ($ddd[6]!="CLOSED"){
  1018. echo '<hr><img src="../images/img/close.gif" alt=""> ';
  1019. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&event=zakr&amp;fid='.$fid.'&amp;id='.$id.'&amp;'.SID.'">Закрыть</a>';
  1020. }else{
  1021. echo '<b><font color="#FF0000">Тема закрыта</font></b><br>';
  1022.  
  1023. echo '<hr><img src="../images/img/open.gif" alt=""> ';
  1024. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&event=otkr&amp;fid='.$fid.'&amp;id='.$id.'&amp;'.SID.'">Открыть</a>';}
  1025.  
  1026. if ($ddd[10]!="ON"){
  1027. echo ' <img src="../images/img/open.gif" alt=""> ';
  1028. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&event=locked&amp;fid='.$fid.'&amp;id='.$id.'&amp;'.SID.'">Закрепить</a>';
  1029. }else{
  1030. echo ' <img src="../images/img/close.gif" alt=""> ';
  1031. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&event=unlocked&amp;fid='.$fid.'&amp;id='.$id.'&amp;'.SID.'">Открепить</a>';
  1032. }
  1033. echo ' <img src="../images/img/close.gif" alt=""> ';
  1034. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&action=deltopic&amp;fid='.$fid.'&amp;id='.$id.'&amp;'.SID.'">Удалить</a><br>';
  1035.  
  1036. }
  1037.  
  1038. ##################################
  1039.  
  1040. echo '<div class=b><img src="../images/img/edit.gif" alt="">'.$a1.'. ';
  1041. echo '<b><a href="../pages/anketa.php?uz='.$dt[0].'">'.nickname($dt[0]).'</a></b> ';
  1042. echo '('.date_fixed($dt[9]).')<br>';
  1043. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&event=topic&amp;fid='.$fid.'&amp;id='.$id.'&amp;topicrd='.$a1.'&amp;page='.$page.'&amp;'.SID.'">[Edit]</a>';
  1044. echo '<a href="aforum.php?soo='.$soo.'&them='.$them.'&event=topic&amp;fid='.$fid.'&amp;id='.$id.'&amp;topicxd='.$a1.'&amp;page='.$page.'&amp;'.SID.'"><font color="#FF0000">[Del]</font></a></div>';
  1045. echo '<div>'.$dt[4].'<br><small><font color="#CC00CC">('.$dt[2].')</font></small></div>';
  1046.  
  1047. } while($a1 < $u);
  1048.  
  1049.  
  1050. //----------------------- Постраничный вывод внутри темы -----------------//
  1051. $lines=file("../local/commforum/$them/$id.dat");
  1052. $total=count($lines);
  1053.  
  1054. $ba=ceil($total/$config_forumpost);
  1055. $ba2=$ba*$config_forumpost-$config_forumpost;
  1056.  
  1057.  
  1058. echo'<br><hr>Страницы:';
  1059. $asd=$page-($config_forumpost*3);
  1060. $asd2=$page+($config_forumpost*4);
  1061.  
  1062. if($asd<$total && $asd>0){echo ' <a href="aforum.php?soo='.$soo.'&them='.$them.'&event=topic&amp;fid='.$fid.'&amp;id='.$id.'&amp;page=0&amp;'.SID.'">1</a> ...';}
  1063.  
  1064. for($i=$asd; $i<$asd2;)
  1065. {
  1066. if($i<$total && $i>=0){
  1067. $ii=floor(1+$i/$config_forumpost);
  1068.  
  1069. if ($page==$i) {
  1070. echo ' <b>('.$ii.')</b>';
  1071. } else {
  1072. echo ' <a href="aforum.php?soo='.$soo.'&them='.$them.'&event=topic&amp;fid='.$fid.'&amp;id='.$id.'&amp;page='.$i.'&amp;'.SID.'">'.$ii.'</a>';
  1073. }}
  1074.  
  1075. $i=$i+$config_forumpost;}
  1076. if($asd2<$total){echo ' ... <a href="aforum.php?soo='.$soo.'&them='.$them.'&event=topic&amp;fid='.$fid.'&amp;id='.$id.'&amp;page='.$ba2.'&amp;'.SID.'">'.$ba.'</a>';}
  1077.  
  1078.  
  1079. ///////////////////////////////////////////////////
  1080.  
  1081.  
  1082. if (isset($topicrd)) {
  1083. $topicrd=$topicrd-1;
  1084. $lines = file("../local/commforum/$them/$id.dat");
  1085. $dt = explode("|", $lines[$topicrd]);
  1086.  
  1087. $dt[4] = nosmiles($dt[4]);
  1088. $dt[4] = preg_replace('#<br>\[red\]\[(.*?)\]\[/red\]#si', '',$dt[4]);
  1089. $dt[4] = str_replace ("<br>","\r\n",$dt[4]);
  1090.  
  1091. if($config_themes!="wml"){
  1092. echo '<hr><form action="aforum.php?soo='.$soo.'&them='.$them.'&event=addanswer&amp;fid='.$fid.'&amp;topicrd='.$topicrd.'&amp;page='.$page.'&amp;'.SID.'" method="post">';
  1093. echo '<img src="../images/img/edit.gif" alt=""> <b>Редактирование сообщения</b><br>';
  1094. echo '<br><b>Сообщение:</b><br>';
  1095. echo '<textarea name="msg" cols="25" rows="3">'.$dt[4].'</textarea>';
  1096. echo '<input type="hidden" name="name" value="'.$dt[0].'" />';
  1097. echo '<input type="hidden" name="ipbrow" value="'.$dt[2].'" />';
  1098. echo '<input type="hidden" name="id" value="'.$dt[7].'" />';
  1099. echo '<input type="hidden" name="zag" value="'.$dt[3].'" />';
  1100. echo '<input type="hidden" name="ftime" value="'.$dt[6].'" />';
  1101. echo '<input type="hidden" name="fnomer" value="'.$topicrd.'" />';
  1102. echo '<input type="hidden" name="timetk" value="'.$dt[9].'" />';
  1103. echo '<input type="hidden" name="page" value="'.$page.'" /><br><br>';
  1104. echo '<input type="submit" value="Изменить" /></form>';
  1105. }else{
  1106. echo '<br>--------------------<br>';
  1107. echo '<b>Редактирование сообщения</b><br>';
  1108. echo '<b>Сообщение:</b><br>';
  1109. echo '<input type="text" name="msg" value="'.$dt[4].'"/><br>';
  1110. echo '<anchor>Изменить';
  1111. echo '<go href="aforum.php?soo='.$soo.'&them='.$them.'&event=addanswer&amp;fid='.$fid.'&amp;topicrd='.$topicrd.'&amp;page='.$page.'&amp;'.SID.'" method="post">';
  1112. echo '<postfield name="msg" value="$(msg)"/>';
  1113. echo '<postfield name="zag" value="'.$dt[3].'"/>';
  1114. echo '<postfield name="name" value="'.$dt[0].'"/>';
  1115. echo '<postfield name="id" value="'.$dt[7].'"/>';
  1116. echo '<postfield name="ftime" value="'.$dt[6].'"/>';
  1117. echo '<postfield name="fnomer" value="'.$topicrd.'"/>';
  1118. echo '<postfield name="timetk" value="'.$dt[9].'"/>';
  1119. echo '</go></anchor><br>--------------------';
  1120. }
  1121.  
  1122.  
  1123. } else {
  1124.  
  1125.  
  1126. $lines2=file("../local/commforum/$them/$id.dat");
  1127. $lines2=array_reverse($lines2);
  1128. $ddd=explode("|", $lines2[0]);
  1129. if ($ddd[6]!="CLOSED"){
  1130. if($config_themes!="wml"){
  1131. echo '<hr><b>Сообщение:</b><br>';
  1132. echo '<form action="aforum.php?soo='.$soo.'&them='.$them.'&event=addanswer&amp;fid='.$fid.'&amp;page='.$page.'&amp;id='.$id.'&amp;'.SID.'" method="post">';
  1133. echo '<input type="hidden" name="zag" value="'.$dt[3].'" />';
  1134. echo '<textarea name="msg" cols="25" rows="3"></textarea><br><br>';
  1135. echo '<input type="submit" value="Отправить" /></form><hr>';
  1136. }else{
  1137. echo '<br>--------------------<br>';
  1138. echo '<b>Сообщение:</b><br>';
  1139. echo '<input type="text" name="msg" value=""/><br>';
  1140. echo '<anchor>Отправить';
  1141. echo '<go href="aforum.php?soo='.$soo.'&them='.$them.'&event=addanswer&amp;fid='.$fid.'&amp;page='.$page.'&amp;id='.$id.'&amp;'.SID.'" method="post">';
  1142. echo '<postfield name="zag" value="'.$dt[3].'"/>';
  1143. echo '<postfield name="msg" value="$(msg)"/>';
  1144. echo '</go></anchor><br>--------------------';
  1145. }
  1146.  
  1147. }}
  1148.  
  1149. }}}}
  1150.  
  1151. echo '<br>';
  1152. $textom = file(BASEDIR."local/comm/$them.soo");
  1153. $uzdatam = explode(":||:",$textom[0]);
  1154. if ($dostup==101 || $dostup==102 || $log==$uzdatam[0]){
  1155. echo '<br><img src="../images/img/reload.gif" alt=""> <a href="aforum.php?soo='.$soo.'&them='.$them.'&event=revolushion&amp;'.SID.'">Пересчитать</a>';}
  1156.  
  1157. } else {header ("Location: ../index.php?isset=404&".SID);}
  1158. } else {header ("Location: ../index.php?isset=404&".SID);}
  1159. } else {echo '<img src="../images/img/error.gif" alt=""> Сообщество не существует!<br>';}
  1160. } else {echo '<img src="../images/img/error.gif" alt=""> Произошла ошибка. Сообщество не существует!<br>';}
  1161.  
  1162. echo'<br><img src="../images/img/back.gif" alt=""> <a href="index.php?'.SID.'">Сообщества</a>';
  1163. echo'<br><img src="../images/img/homepage.gif" alt=""> <a href="../index.php?'.SID.'">На главную</a>';
  1164.  
  1165. include_once"../themes/$config_themes/foot.php";
  1166. ?>
  1167.