<?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)." {$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'> </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>