Приветствую, у меня проблема: мне нужно чтобы ответы в информационной системе уходили на e-mail(если указан) задавшего его. Версии PHP версия: 4.4.7 MySQL версия: 4.1.22 GD версия: 2.0.28
вот код:
<?php
$InformationSystem_id = to_int($GLOBALS['LA']['InformationSystemID']);
if (strtolower(end($GLOBALS['URL_ARRAY'])) != 'add')
{
/* Добавление комментария */
if(isset($_POST['add_comment']))
{
$param['information_items_id'] = to_int($GLOBALS['InformationResult']['item_id']);
/* XSL шаблон для отправки уведомления администратору о добавлении комментария */
$param['admin_email_xsl'] = to_str($GLOBALS['LA']['xsl_admin_email']);
$xsl_add_comment = to_str($GLOBALS['LA']['xsl_add_comment']);
// Текст комментария
$_POST['comment_text'] = nl2br(to_str($_POST['comment_text']));
// Типографируем текст, если доступен модуль типографирования
if(class_exists('typograph'))
{
$typograph = new typograph();
$_POST['comment_text'] = $typograph->ProcessTypographic($_POST['comment_text']);
}
$result_add_comment = $GLOBALS['LA_InformationSystem']->ShowAddComment('УведомлениеДобавленияОтвета', $param);
}
/* Отображаем элемент если не было добавления комментария, или результат добавления комментария отрицательный */
if (!isset($_POST['add_comment']) || isset($result_add_comment) && !$result_add_comment)
{
/* XSL шаблон для отображения списка элементов информационной системы */
$xsl_list = to_str($GLOBALS['LA']['xsl_information_system_list']);
/* XSL шаблон для отображения элемента информационной системы */
$xsl_item = to_str($GLOBALS['LA']['xsl_information_item']);
$InformationResult = $GLOBALS['InformationResult'];
/* Массив внешних параметров, передаваемых в XML */
$external_propertys = array();
$external_propertys['ОтображатьСсылкуНаАрхив'] = 0;
$external_propertys['ОтображатьСсылкиНаСледующиеСтраницы'] = 1;
/* Массив дополнительных параметров */
$property = array();
/* Число элементов на страницу */
if (isset($InformationResult['items_on_page']))
{
if($InformationResult['items_on_page'] !== true)
{
$InformationResult['items_on_page'] = to_int($InformationResult['items_on_page']);
}
}
else
{
$InformationResult['items_on_page'] = 10;
}
/* Номер, с которого начинается показ */
if (isset($InformationResult['items_begin']))
{
$InformationResult['items_begin'] = to_int($InformationResult['items_begin']);
}
else
{
$InformationResult['items_begin'] = 0;
}
/* Метод определения идентификатора информационной группы и идентификатора информационного элемента по значению URI */
$result = $GLOBALS['LA_InformationSystem']->GetInformationFromPath($InformationSystem_id);
if($result != false)
{
/* Вывод списка */
if($result['item'] == false)
{
/* Отображаем информационную систему */
$GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $result['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
}
else
{
/* Определяем идентификатор информационного элемента */
$item_id = $GLOBALS['LA_InformationSystem']->GetIdInformationItem($result['item'], $result['group']);
/* Выводим элемент информационной системы */
$GLOBALS['LA_InformationSystem']->ShowInformationSystemItem($item_id, $xsl_item, $external_propertys);
}
}
}
}
else
{
# Иначе выводим форму добавления элемента
$Captcha = new Captcha();
$forms_captcha_key = $Captcha->GetCaptchaID();
if (isset($_POST['captcha_key']) && isset($_POST['captcha_keystring']))
{
$cpt = $Captcha->ValidCaptcha($_POST['captcha_key'], $_POST['captcha_keystring']);
}
else
{
$cpt = false;
}
/* Обработка вставки информационного элемента */
if ($cpt && isset($_POST['submit_question']))
{
?>
<h1>Добавление вопроса</h1>
<?
if($GLOBALS['LA_InformationSystem']->confirm_information_item(date('U'), $_SERVER['REMOTE_ADDR'])==1)
{
$date= date('Y-m-d H:i:s');
/* Определяем группу (если задана)
Принимает в качестве параметра ID информационного блока*/
$result = $GLOBALS['LA_InformationSystem']->GetInformationFromPath($InformationSystem_id);
$group_id = to_int($result['group']);
# Статус вновь добавленного элемента
# 0 - не активен (необходимо вручную проверить и включить)
# 1 - активен, виден сразу после публикации
$item_status = 0;
// Текст сообщения
$text = nl2br(to_str($_POST['text_item']));
// Типографируем текст, если доступен модуль типографирования
if(class_exists('typograph'))
{
$typograph = new typograph();
$text = $typograph->ProcessTypographic($text);
}
# Вставляем запись
$question_id = $GLOBALS['LA_InformationSystem']->InsertInformationItems(0, 0, $InformationSystem_id, $group_id, $date, to_str($_POST['subject']),'', $item_status, $text, '', 0, to_str($_SERVER['REMOTE_ADDR']));
$row = $GLOBALS['LA_InformationSystem']->GetInformationSystemItems($question_id);
# Вставляем в дополнительные свойства автора и его email
$GLOBALS['LA_InformationSystem']->InsertInformationPropertysItems(0, 0, to_int($GLOBALS['LA']['autor_property_id']), $question_id, to_str($_POST['fio']));
$GLOBALS['LA_InformationSystem']->InsertInformationPropertysItems(0, 0, to_int($GLOBALS['LA']['email_property_id']), $question_id, to_str($_POST['email']));
?>
<p>Благодарим Вас, <?=htmlspecialchars(to_str($_POST['fio']))?>!
<br>Ваша запись принята. После проверки Администратором она станет доступной!
</p>
<?
# Отправка письма администратору
$message = "Доброе время суток, уважаемый Администратор!\n\nНа сайт, поддерживаемый системой управления сайтом HostCMS, была добавлена запись: \n";
$message .= "Автор: ".to_str($_POST['fio'])."\n";
$message .= "E-mail: ".to_str($_POST['email'])."\n";
$message .= "Тема: ".to_str($_POST['subject'])."\n";
$message .= "Информационная система: ".$row['information_blocks_name']."\n";
$message .= "Информационный элемент: ".$row['information_items_name']."\n";
$message .= "Редактировать - http://".to_str($_SERVER['HTTP_HOST'])."/admin/InformationSystems/InformationSystems.php?information_systems_id={$InformationSystem_id}&information_groups_parent_id={$group_id}&edit_information_items_id={$question_id}\n";
$DateClass = new DateClass();
$message .= "Дата: ".$DateClass->datetime_format($date)."\n";
$message .= "IP-адрес: ".to_str($_SERVER['REMOTE_ADDR'])."\n";
$message .= "Вопрос: ".to_str($_POST['text_item']);
mail(EMAIL_TO, 'Добавление вопроса', $message, "From: ".EMAIL_TO."\r\nContent-Type: text/plain; charset=Windows-1251\n");
}
else # нельзя добавлить объявление - прошло мало времени
{
?>
<p>Ошибка!
Запись не может быть добавлена, т.к. прошло мало времени с момента Вашего последнего добавления вопроса!
</p>
<?
}
}
if(!$cpt || !isset($_POST['submit_question']))
{
?>
<h1>Добавление вопроса</h1>
<?
# Если неправильная CAPTCHA и была заполнена форма
if (!$cpt && isset($_POST['submit_question']))
{
?>
<p style="color:#ff0000;"><b>Вы неверно ввели число подтверждения отправки формы!</b></p>
<?
}
?>
<form action='./' method="POST">
<table border="0" cellspacing="2" cellpadding="0">
<tr>
<td>ФИО:</td>
<td><input type="text" name="fio" size="50" value="<?=htmlspecialchars(to_str($_POST["fio"]))?>"></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input type="text" name="email" size="50" value="<?=htmlspecialchars(to_str($_POST["email"]))?>"></td>
</tr>
<tr>
<td>Тема:</td>
<td><input type="text" name="subject" size="50" value="<?=htmlspecialchars(to_str($_POST["subject"]))?>"></td>
</tr>
<tr>
<td>Объявление:</td>
<td><textarea type="text" name="text_item" cols="50" rows="10"><?=htmlspecialchars(to_str($_POST["text_item"]))?></textarea></td>
</tr>
<tr>
<td colspan="2" align="center">Для отправки формы введите число, изображенное на картинке</td>
</tr>
<tr>
<td>
<img style="border: 1px solid #000000" src="/captcha.php?get_captcha=<?=$forms_captcha_key?>" title="Введите число изображенное на картинке"/>
</td>
<td>
<input type="hidden" name="captcha_key" value="<?=$forms_captcha_key?>"/>
<input type="text" name="captcha_keystring" style="width:100%" />
</td>
</tr>
<tr>
<td></td>
<td align="center">
<input type="submit" name="submit_question" value="Добавить запись">
</td>
</tr>
</table>
</form>
<?
}
}
?>
код модуля УведомлениеДобавленияОтвета:
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml" />
<xsl:template match="/">
<xsl:apply-templates select="/document/comment"/>
</xsl:template>
<xsl:template match="/document/comment">
<h1>Добавление ответа</h1>
<!-- Определяем текст сообщения -->
<xsl:variable name="message"><xsl:choose>
<!-- Ошибка. С момента добавления последнего комментария прошло слишком мало времени -->
<xsl:when test="/document/is_error_time = 1">
<div id="error">Ошибка! С момента добавления Вами последнего ответа прошло слишком мало времени!</div>
</xsl:when>
<!-- Ошибка. Неверный код подтверждения -->
<xsl:when test="/document/is_error_capthca = 1">
<div id="error">Ошибка! Вы неверно ввели число подтверждения отправки ответа!</div>
</xsl:when>
<!-- Без ошибок -->
<xsl:otherwise>
<div>
Благодарим Вас, <xsl:value-of disable-output-escaping="yes" select="comment_autor"/>!
<br />После проверки Администратором Ваш ответ станет доступным!
</div>
</xsl:otherwise>
</xsl:choose></xsl:variable>
<xsl:choose>
<xsl:when test="$message = ''"></xsl:when>
<xsl:otherwise>
<div id="error"><xsl:value-of disable-output-escaping="yes" select="$message"/></div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
на почту ответов не поступает. Что нужно исправить\дописать?