© Rolph, 2004-2011
Нобходимость создания модуля формирования rss возникла у меня при разработке интарнет-сайта компании Европроект.
Для нескольких отделов компании была создана так называемая «горячяя линия», в которой сотрудники общались со своими коллегами в различных регионах. Оповещения о написании нового сообщения в этих разделах не было, но необходимость отслеживать обновления в разделах у сотрудников имелась.
Так как уже многие знают, что такое rss и у многих имеется возможность обрабатывать rss в почтовых клиентах, я решил пойти путем создания оповещения об обновления в формате rss. Благо информация хранящаяся в базе данных разделов формировалась в виде удобном для использования в rss. Т.е.:
После поисков в интернете, нашел модуль для создания rss-лент, который я доработал, подстроив под необходимые цели.
Код модуля:
<?php
header("Content-type: text/xml; charset=windows-1251");
echo '<?xml version="1.0" encoding="windows-1251"?>';
?>
<title>Евронет. «Горячая линия» финансового отдела</title>
<link>http://intranet/</link>
Лента последних обновлений в разделе «горячяя линия» финансового отдела
Copyright (c) Европроект
<?php
// Подключаемся к базе и нужной таблице
require_once("classes/db_connect.php");
// Выполняем запрос к таблице БД
$res = mysql_query("SELECT * FROM objavka WHERE `id_razdel` = '614' ORDER BY `id` DESC LIMIT 0 , 10");
while ($data = mysql_fetch_object($res)) {
// Переводим дату и время в нужный для rss формат (у меня время в unix-формате)
$time = strtotime($data->data_pub);
$date_rfc = date('r', $time);
// Выводим содержимое item
echo <<<END
<item>
<title>$data->name
<link>http://intranet/index.php?page=614&id=$data->id
<description>anons_text]]>
</item>\n
END;
}
// Закрываем соединение с БД
mysql_close();
?>
</channel>
Внимание! У каждого элемента должен быть уникальный ID в url'e, иначе в Outlook'e элементы rss будут выдаваться некорректно