Просмотр файла includes/wap/admin/news.php

Размер файла: 5.77Kb
  1. <?php
  2. error_reporting(7);
  3.  
  4. Header("Content-type:text/vnd.wap.wml; charset=Utf-8");
  5. Header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  6. Header("Cache-Control: no-cache, must-relative");
  7.  
  8. touch($userpath.'/news-free-message.dat');
  9.  
  10. $page=$query2+0;
  11. if ($page<1) $page=1;
  12.  
  13. if (($page==1)&&(($query3!='delete')||($query3!='edit')||($query2!='add')))
  14. {
  15. $f=fopen($userpath.'/news-free-message.dat','r+');
  16. $tmp=$_tmp='';
  17. while (!feof($f))
  18. {
  19. $_tmp=trim(fgets($f,65536));
  20. if ($_tmp!='') $tmp.=$_tmp."\n";
  21. }
  22. fseek($f,0,SEEK_SET);
  23. fwrite($f,$tmp);
  24. $tr=strlen($tmp);
  25. ftruncate($f,$tr);
  26. fclose($f);
  27. }
  28.  
  29. if ($query2=='add')
  30. {
  31. $f=fopen($userpath.'/news-free-message.dat','r+');
  32. $tmpa=explode("\t",trim(fgets($f,65536)),2);
  33. fclose($f);
  34.  
  35. $newtext=trim(utf2cyr(str_replace("\n"," ",str_replace("\r"," ",stripslashes($HTTP_POST_VARS['t'])))));
  36. if ($HTTP_POST_VARS['tr2cyr']=='yes') $newtext=trim(tr2rus($newtext));
  37. if ($newtext=='')
  38. {
  39. print $head.cyr2utf('<card id="news" title="Добавляем новость"><p>'.
  40. '<br/>Текст новости:<br/><input name="text'.$nocache.'" type="text" title="Текст" value="" maxlength="512"/>'.
  41. '<br/><select name="tr2cyr'.$nocache.'" multiple="true" value=""><option value="yes">Транслит</option></select>'.
  42. '<br/><anchor>Добавить'.
  43. '<go href="/?'.$id.'/admin/news/add" method="post">'.
  44. '<postfield name="t" value="$(text'.$nocache.')"/>'.
  45. '<postfield name="tr2cyr" value="$(tr2cyr'.$nocache.')"/>'.
  46. '</go>'.
  47. '</anchor>'.
  48. ' <br/> <br/><a href="?'.$id.'/admin/news">Отмена</a>'.
  49. '</p></card></wml>');
  50. exit();
  51. }
  52. elseif (trim($tmpa[1])!=$newtext)
  53. {
  54. $message2file=time()."\t".$newtext."\n";
  55. $f=fopen($userpath.'/news-free-message.dat','r+');
  56. fseek($f,0,SEEK_SET);
  57. $text=fread($f,102400);
  58. fseek($f,0,SEEK_SET);
  59. fwrite($f,$message2file.$text);
  60. $tr=strlen($message2file.$text);
  61. if ($tr<102400) ftruncate($f,$tr);
  62. else ftruncate($f,102400);
  63. fclose($f);
  64. }
  65. }
  66.  
  67. if (($query3=='delete')||($query3=='edit'))
  68. {
  69. $query4=$query4+0;
  70. $f=fopen($userpath.'/news-free-message.dat','r+');
  71. for ($i=0;(!feof($f));$i++)
  72. {
  73. if ($i<$query4) $tmp_begin.=trim(fgets($f,65536))."\n";
  74. if ($i==$query4) $tmp_news=explode("\t",trim(fgets($f,65536)),2);
  75. if ($i>$query4) $tmp_end.=trim(fgets($f,65536))."\n";
  76. }
  77. fclose($f);
  78.  
  79. $newtext=trim(utf2cyr(str_replace("\n"," ",str_replace("\r"," ",stripslashes($HTTP_POST_VARS['t'])))));
  80. if ($HTTP_POST_VARS['tr2cyr']=='yes') $newtext=trim(tr2rus($newtext));
  81. if ($query3=='edit')
  82. {
  83. if ($newtext=='')
  84. {
  85. print $head.cyr2utf('<card id="news" title="Изменяем новость"><p>'.
  86. '<br/>Текст новости:<br/><input name="text'.$nocache.'" type="text" title="Текст" value="'.str_replace("$","$$",htmlspecialchars($tmp_news[1])).'" maxlength="512"/>'.
  87. '<br/><select name="tr2cyr'.$nocache.'" multiple="true" value=""><option value="yes">Транслит</option></select>'.
  88. '<br/><anchor>Заменить'.
  89. '<go href="/?'.$id.'/admin/news/'.$page.'/edit/'.$query4.'" method="post">'.
  90. '<postfield name="t" value="$(text'.$nocache.')"/>'.
  91. '<postfield name="tr2cyr" value="$(tr2cyr'.$nocache.')"/>'.
  92. '</go>'.
  93. '</anchor>'.
  94. ' <br/> <br/><a href="?'.$id.'/admin/news">Отмена</a>'.
  95. '</p></card></wml>');
  96. exit();
  97. }
  98. else
  99. {
  100. $message2file=$tmp_begin.$tmp_news[0]."\t".$newtext."\n".$tmp_end;
  101. $f=fopen($userpath.'/news-free-message.dat','r+');
  102. fseek($f,0,SEEK_SET);
  103. fseek($f,0,SEEK_SET);
  104. fwrite($f,$message2file);
  105. $tr=strlen($message2file);
  106. if ($tr<102400) ftruncate($f,$tr);
  107. else ftruncate($f,102400);
  108. fclose($f);
  109. }
  110. }
  111. if ($query3=='delete')
  112. {
  113. $message2file=$tmp_begin."\n".$tmp_end;
  114. $f=fopen($userpath.'/news-free-message.dat','r+');
  115. fseek($f,0,SEEK_SET);
  116. $text=fread($f,102400);
  117. fseek($f,0,SEEK_SET);
  118. fwrite($f,$message2file);
  119. $tr=strlen($message2file);
  120. if ($tr<102400) ftruncate($f,$tr);
  121. else ftruncate($f,102400);
  122. fclose($f);
  123. }
  124. }
  125.  
  126. print $head.cyr2utf('<card id="news" title="Админка:Новости"><do name="x" type="options" label="xPanel"><go href="?'.$id.'"/></do><do name="m" type="options" label="Админская"><go href="?'.$id.'/admin"/></do><p>');
  127.  
  128. if ($page==1) print cyr2utf('<a href="?'.$id.'/admin/news/add">Добавить</a> <br/> <br/>');
  129.  
  130. print '<small>';
  131.  
  132. $f=fopen($userpath.'/news-free-message.dat','r+');
  133. fseek($f,0,SEEK_SET);
  134. $cntpage=1;
  135. $screen='';
  136. $i=0;
  137. while ($cntpage<=$page)
  138. {
  139. while (true)
  140. {
  141. if (feof($f)) { print $screen; $screen=''; break; }
  142. $printmsg='';
  143. $i++;
  144. $tmpa=explode("\t",fgets($f,65536),2);
  145. if ((trim($tmpa[0])=='')&&(trim($tmpa[1])=='')) continue;
  146. $printmsg='<u><b><anchor>'.date("j.m.Y",$tmpa[0]).'<go href="#op"><setvar name="l" value="'.($i-1).'"/></go></anchor></b></u> <br/>';
  147. $printmsg.=cyr2utf(str_replace("$","$$",htmlspecialchars($tmpa[1]))).' <br/> <br/>';
  148. if (strlen($screen.$printmsg)>2200)
  149. {
  150. if ($cntpage==$page) { print $screen; $screen=''; break; }
  151. else { $screen=$printmsg; break; }
  152. }
  153. $screen.=$printmsg;
  154. }
  155. $cntpage++;
  156. if ($screen=='') break;
  157. }
  158.  
  159. print '</small>';
  160.  
  161. if ($page>1) print '<a href="?'.$id.'/admin/news/'.($page-1).'">&lt;&lt;&lt;</a> <br/>';
  162. if (!feof($f)) print '<a href="?'.$id.'/admin/news/'.($page+1).'">&gt;&gt;&gt;</a> <br/>';
  163.  
  164. print '<a href="http://'.$user.'.kmx.ru" accesskey="#">На главную</a>';
  165. print '</p></card>';
  166.  
  167. print cyr2utf('<card id="op" title="Новость"><p>'.
  168. '<a href="?'.$id.'/admin/news/'.$page.'/edit/$(l)">Исправить</a> <br/>'.
  169. '<a href="?'.$id.'/admin/news/'.$page.'/delete/$(l)">Удалить</a> <br/>'.
  170. ' <br/><a href="#news">Назад</a> <br/>'.
  171. '</p></card></wml>');
  172. exit();
  173. ?>