Просмотр файла tjawmd/edit_message.php

Размер файла: 10.29Kb
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
/***************************************************************************
 *                     edit_message.php (admin)  (S-A WAP)
 *                            -------------------
 *      Разработка: Антон Федорченко.
 *      Оптимизация под WAP: Felis.
 *          2008 год
 ***************************************************************************/
?>
<script language='JavaScript'>
  function PurgeForm()
  {
    document.Forma.name.value='';
    document.Forma.city.value='';
    document.Forma.email.value='';
    document.Forma.url.value='';
    document.Forma.messagebody.value='';
    document.Forma.admin.value='';
    document.Forma.name.focus();
  }
</script>
<?php


  if($_POST['action']=='write')
  {
    //Инициализируем переменные
    $MessInitPos=$_POST['MessInitPos'];
    $MessEndPos=$_POST['MessEndPos'];
    $Name=$_POST['name'];
    $City=$_POST['city'];
    $Email=$_POST['email'];
    $Url=$_POST['url'];
    $MessageBody=$_POST['messagebody'];
    $Date=$_POST['date'];
    $Admin=$_POST['admin'];
    $Submit=$_POST['Submit'];
    //Проверяем введенные данные на корректность и подготавливаем их для вставки в XML документ
    //Имя
    if($Name == '')
      $Errors[] = $Cpt_ErrName;
    else  {
      $Name = htmlspecialchars(stripslashes($Name));
      $Name = ConvertBack($Name);
    }
    //Город
    if($City == '')
      $City = '%nbsp%';
    else  {
      $City = htmlspecialchars(stripslashes($City));
      $City = ConvertBack($City);
    }
    //E-mail
    if($Email != '')
    {
      if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $Email))
        $Errors[] = $Cpt_ErrEmail;
    } else $Email = '%nbsp%';
    //Url
    if($Url == '')
      $Url = '%nbsp%';
    elseif(ereg('http://', $Url)==false)
      $Url = 'http://'.$Url;
    //Текст сообщения
    if($MessageBody=='')
      $Errors[]=$Cpt_ErrText;
    else {
          $MessageBody = htmlspecialchars(stripslashes($MessageBody));
          $MessageBody = str_replace("\r", '', $MessageBody);
          $MessageBody = str_replace("\n", '+endln+', $MessageBody);
          $MessageBody = ConvertBack($MessageBody);
        }
    //Дата
    if($Date=='')
      $Date='%nbsp%'; else
    //Комментарии администратора
    if($Admin == '')
      $Admin = '%nbsp%';
        else {
            $Admin=htmlspecialchars(stripslashes($Admin));
            $Admin=str_replace("\r", '', $Admin);
            $Admin=str_replace("\n", '+endln+', $Admin);
            $Admin=ConvertBack($Admin);
        }
    //Вставляем измененное сообщение в файл, если не было ошибок
  if(empty($Errors))
  {
    //Заключаем атрибуты сообщения в тэги
    $Name = "<name>{$Name}</name>\n";
    $Date = "<date>{$Date}</date>\n";
    $City = "<city>{$City}</city>\n";
    $Email = "<email>{$Email}</email>\n";
    $Url = "<url>{$Url}</url>\n";
    $MessageBody="<messagebody>{$MessageBody}</messagebody>\n";
    $Admin="<admin>{$Admin}</admin>\n";
    //формируем сообщение
    $MessageArray=array($Name, $Date, $City, $Email, $Url, $MessageBody, $Admin);
    $XmlArray=file($File);
    //if($Submit==$Cpt_EditButton)
    //{
      //Вставляем сообщение в файл
	    //Print count($XmlArray);
	    for($i=0; $i<=$MessInitPos; $i++)
	      $InitArray[]=$XmlArray[$i];
	    for($i=$MessEndPos; $i<(count($XmlArray)); $i++)
	      $EndArray[]=$XmlArray[$i];
	    $XmlArray=array();
	    //$XmlArray=$InitArray+$MessageArray+$EndArray;
	    for($i=0; $i<(count($InitArray)); $i++)
	      $XmlArray[]=$InitArray[$i];
	    for($i=0; $i<(count($MessageArray)); $i++)
	      $XmlArray[]=$MessageArray[$i];
	    for($i=0; $i<(count($EndArray)); $i++)
	      $XmlArray[]=$EndArray[$i];
	    $XmlStr=implode('', $XmlArray);
      SaveStringInFile($File, $XmlStr, 'w');
    //}
    /*elseif($Submit==$Cpt_Hide)
    {
      //Удалить сообщение из xml-файла
      for($i=0; $i<$MessInitPos; $i++)
       $ChangedArray[]=$XmlArray[$i];
      for($i=($MessEndPos+1); $i<count($XmlArray); $i++)
       $ChangedArray[]=$XmlArray[$i];
      $XmlStr=implode('', $ChangedArray);
      SaveStringInFile($File, $XmlStr, 'w');
      //Добавить сообщение в hided.txt
      $HideStr=implode('', $MessageArray);
      SaveStringInFile($HidedMsgFile, $HideStr, 'a');
    }*/
    //Refresh('messages');
    } // if(empty($Errors))
  } //if($_POST('action')='write')
?>
  <!--Инициализируем переменные-->
  <?

  $MessInitPos=$_GET['begin'];
  $MessEndPos=$_GET['end'];
  $Tags=array('name', 'date', 'city', 'email', 'url', 'messagebody', 'admin'); //атрибуты сообщения
  //Выбираем из файла нужное сообщение
  $XmlArray=@file($File);
  $TagPos=0;// порядковый номер атрибута
  for($i=$MessInitPos+1; $i<$MessEndPos; $i++)
  {
    $Attribute=$Tags[$TagPos];
    $Message[$Attribute]=$XmlArray[$i];
    $TagPos++;
  }
  $Name=StripXmlTags($Message['name']);
  $City=StripXmlTags($Message['city']);
  $Email=StripXmlTags($Message['email']);
  $Url=StripXmlTags($Message['url']);
  $MessageBody=StripXmlTags($Message['messagebody']);
    $MessageBody=str_replace("+endln+", "\n", $MessageBody);
  $Date=StripXmlTags($Message['date']);
  $Admin=StripXmlTags($Message['admin']);
    $Admin=str_replace("+endln+", "\n", $Admin);
  if($City=='%nbsp%')
    $City='';
  if($Email=='%nbsp%')
    $Email='';
  if($Url=='%nbsp%')
    $Url='';
  if($Admin=='%nbsp%')
    $Admin='';
  ?>
  <h4><? print $Cpt_EditMessCaption ?></h4>
  <!--Выводим форму-->
  <form name=Forma action='' method='post'>
  <?php
    //ошибки
    print "<br>";
    if(!empty($Errors))
    {
      print "<table align='center' class='EditMainTbl' cellspacing='0' cellpadding='0' border='0'>";
        print "<tr>";
          print "<td class='EditInfo'>";
            for($i = 0; $i < count($Errors); $i++)
              print ($i + 1)."&nbsp;&nbsp;{$Errors[$i]}<br>";
          print "</td>";
        print "</tr>";
      print "</table>";
    } else
    {
      print "<table align='center' class='EditMainTbl' cellspacing='0' cellpadding='0' border='0'>";
        print "<tr>";
          print "<td class='EditInfo'>";
            print $Cpt_ObligFields;
          print "</td>";
        print "</tr>";
      print "</table>";
    }
    //форма
    print "<table align='center' class='EditMainTbl' cellspacing='0' cellpadding='0' border='0'>";
    print "<tr><td>";
    	 print "<table class='EditSecTbl' cellspacing='0' cellpadding='0' border='0'>";
        print "<tr><td colspan='3'><img src='img/px6.gif' height='6'></td></tr>";
        print "<tr>";
	         print "<td class='EditCaptTD'>{$Cpt_Author} <span class='Mustred'>*</span></td>";
	         print "<td class='EditInputTD'><input class='EditInput' type='text' name='name' size='' maxlength='' value=\"{$Name}\"></td>";
	         print "<td class='EditTagsTD' rowspan='5'>";
	           print "<b>{$Cpt_SuppTags}</b>:<br>";
	           print "[b]<b>{$Cpt_Bold}</b>[/b]<br>";
	           print "[i]<i>{$Cpt_Italic}</i>[/i]<br>";
	           print "[u]<u>{$Cpt_Underline}<u/>[/u]<br>";
	           print "[sup]<sup>{$Cpt_Super}</sup>[/sup]<br>";
	           print "[sub]<sub>{$Cpt_Sub}</sub>[/sub]";
	         print "</td>";
	       print "</tr>";
	       print "<tr>";
	         print "<td class='EditCaptTD'>{$Cpt_City}</td>";
	         print "<td class='EditInputTD'><input class='EditInput' type='text' name='city' size='' maxlength='' value=\"{$City}\"></td>";
	       print "</tr>";
	       print "<tr>";
	         print "<td class='EditCaptTD'>{$Cpt_Email}</td>";
	         print "<td class='EditInputTD'><input class='EditInput' type='text' name='email' size='' maxlength='' value=\"{$Email}\"></td>";
	       print "</tr>";
	       print "<tr>";
	         print "<td class='EditCaptTD'>{$Cpt_Url}</td>";
	         print "<td class='EditInputTD'><input class='EditInput' type='text' name='url' size='' maxlength='' value=\"{$Url}\"></td>";
	       print "</tr>";
	       print "<tr>";
	         print "<td class='EditCaptTD'>{$Cpt_Date}</td>";
	         print "<td class='EditInputTD'><input class='EditInput' type='text' name='date' size='' maxlength='' value=\"{$Date}\"></td>";
	       print "</tr>";
	     print "</table>";

	     print "<table class='EditSecTbl' cellspacing='0' cellpadding='0' border='0'>";
	       print "<tr>";
	         print "<td height='20'>&nbsp;</td>";
	       print "</tr>";
	       print "<tr>";
	         print "<td class='EditCaptTD'>{$Cpt_Text}: <span class='Mustred'>*</span></td>";
	       print "</tr>";
	       print "<tr>";
	         print "<td class=''><textarea rows='7' class='EditTextarea' name='messagebody'>{$MessageBody}</textarea></td>";
	       print "</tr>";
	       print "<tr>";
	         print "<td class='EditCaptTD'>{$Cpt_Admin}:</td>";
	       print "</tr>";
	       print "<tr>";
	         print "<td class=''><textarea rows='7' class='EditTextarea' name='admin'>{$Admin}</textarea></td>";
	       print "</tr>";
	     print "</table>";
      if($ShowSmiles=="yes")
        include('smilebox.php');
	     //кнопки
	     print "<table class='EditSecTbl' cellspacing='0' cellpadding='0' border='0'>";
	       print "<tr>";
	         print "<td class='' align=center>";
	           print "<input class='EditButton' type='submit' value='{$Cpt_EditButton}'>";
            print "<input class='EditButton' type='button' value='{$Cpt_Reset}' onClick='PurgeForm()'>";
            print "<input class='EditButton' type='button' value='{$Cpt_Back}' onClick='location.href=\"index.php?page=messages\"'>";
	         print "</td>";
	       print "</tr>";
	     print "</table>";
    print "</td></tr></table>";
  ?>
  <input type='Hidden' name='action' value='write'>
  <input type='Hidden' name='MessInitPos' value='<? echo $MessInitPos?>'>
  <input type='Hidden' name='MessEndPos' value='<? echo $MessEndPos?>'>
</form>