Корректировка PHP скрипта под Яндекс Новости 300 р.
Яндекс забирает с *****
Вот замечания Яндекс:
Александр,
в файле ***** также нет полного текста сообщения:
<content:encoded><![CDATA[<img src="*****ушаков.jpg" width="95" height="95" align="left" />Тамбовский Государственный Университет им. Г.Р. Державина планирует предоставить льготные места выпускникам крымских школ. В первую очередь, речь идет о подготовке менеджеров по туризму. Успешное обучение по профилю «технология организации туроператорских и турагентских услуг» производится в ТГУ уже свыше 10 лет. Руководство ТГУ им. Державина намерено обратиться с соответствующим запросом о предоставлении льгот в Министерство образования и науки РФ. Предполагается, что учиться в ТГУ смогут не менее 100 молодых крымчан. Они могут быть зачислены в Университет без ЕГЭ, на основе внутренних экзаменов и собеседования.]]></content:encoded><category>Актуально!</category>
Хотя текст заканчивается "Предполагается в частности, создать в Симферополе Федеральный Университет.".
Пожалуйста, исправьте формирование тега <content:encoded>.
Кроме того, удалите из тегов <content:encoded> ссылки на иллюстрации:
<content:encoded><![CDATA[<img src="*****ушаков.jpg" width="95" height="95" align="left" />
В Вашем файле также некорректно сформированы теги <pubDate>:
<pubDate>2*****2 16:21:46</pubDate>
<pubDate> - время публикации сообщения на сайте источника. Обязательный элемент!
(в формате RFC-822 - см. *****
Регистр в названии <pubDate> имеет значение - буква D должна быть прописной.
Пример: <pubDate>Tue, 12 Aug 2011 14:15:00 +0400</pubDate>
Эта запись означает, что новость датирована 12 августа 2011, 14:15 московского времени.
Внимание: +0400 является указанием на часовой пояс (в приведенном примере это московское время). Указанное в экспортном файле время должно обязательно совпадать с фактическим временем публикации на сайте!
<!-- Дата публикации, вариант 2 (нерекомендуемо; для совместимости с региональными фидами, в тех.требования выносить не надо) -->
<dc:date>Sun, 29 Sep 2002 19:59:01 +0400</dc:date>
<!-- Дата публикации, вариант 3 (нерекомендуемо; для совместимости с региональными фидами, в тех.требования выносить не надо) -->
<updated>Sun, 29 Sep 2002 19:59:01 +0400</updated>
Из экспортного файла удалите, пожалуйста, сообщения, с даты сообщения которых прошло более 8 дней.
Сообщите, когда внесете изменения в экспортный файл.
Вот скрипт который сейчас экспортирует данные и подлежит корректировке:
<?
require_once 'includes/configuration.php';
global $settings;
echo '<?xml version="1.0" encoding="utf-8"?>';?>
<rss version="2.0"
xmlns:atom="*****;
xmlns:dc="*****;
xmlns:content="*****;>
<channel>
<title><?php echo $settings->sitename;?></title>
<link>*****;?php echo $_SERVER['HTTP_HOST']?>/</link>
<atom:link href="*****;?php echo $_SERVER['HTTP_HOST']?>/rss/" rel="self" type="application/rss+xml" />
<description><?php echo $settings->slogan;?></description>
<language>ru-ru</language>
<copyright>*****;?php echo $_SERVER['HTTP_HOST']?>/</copyright>
<lastBuildDate><?php echo date('d.m.Y') ?></lastBuildDate>
<webMaster><?php echo $settings->MetaAuthorEmail;?></webMaster>
<image>
<url>*****;?php echo $_SERVER['HTTP_HOST']?>/<?php echo $settings->logo_img;?></url>
<title><?php echo $settings->sitename;?></title>
<link>*****;?php echo $_SERVER['HTTP_HOST']?>/</link>
<width>128</width>
<height>128</height>
</image>
<?php
$db = & Factory::getDBO();
$sql = "SELECT c.*, cat.name, cat.id as cid, cat.alias as calias
FROM #__content as c
INNER JOIN #__categories_xref AS cx ON cx.content_id = c.id
INNER JOIN #__categories AS cat ON cat.id = cx.category_id
WHERE cat.id like '%'
AND cat.id <> '5'
ORDER BY c.created DESC
LIMIT 0, 20";
//устанавливаем запрос
$db->setQuery($sql);
//выполняем запрос
$db->query();
//загружаем объект результата
$res = $db->loadObjectList();
foreach ($res as $row) {
if ($row->image){
$dest = $_SERVER['DOCUMENT_ROOT']."/userfiles/thumbs/".md5('/imgresize.php?width='.$settings->thumb_width.'&str=&height='.$settings->thumb_height.'&type=2&src=./'.$settings->image_path.$row->image).".jpg";
if(file_exists($dest))
{
$row->image = "/userfiles/thumbs/".md5('/imgresize.php?width='.$settings->thumb_width.'&str=&height='.$settings->thumb_height.'&type=2&src=./'.$settings->image_path.$row->image).".jpg";
}
else
{
$row->image = "/imgresize.php?width=".$settings->thumb_width."&str=&height=".$settings->thumb_height."&type=2&src=./".$settings->image_path.$row->image;
}
}
if ($row->author_avatar)
{
#проверяем есть ли сохранённый кэш картинки. если есть, то читиаем напрямую
$dest = $_SERVER['DOCUMENT_ROOT']."/userfiles/thumbs/".md5('/imgresize.php?width='.$settings->thumb_width.'&str=&height='.$settings->thumb_height.'&type=2&src=./'.$settings->avatar_path.$row->author_avatar).".jpg";
if(file_exists($dest))
{
$row->author_avatar = "/userfiles/thumbs/".md5('/imgresize.php?width='.$settings->thumb_width.'&str=&height='.$settings->thumb_height.'&type=2&src=./'.$settings->avatar_path.$row->author_avatar).".jpg";
}
else
{
$row->author_avatar = "/imgresize.php?width=".$settings->thumb_width."&str=&height=".$settings->thumb_height."&type=2&src=./".$settings->avatar_path.$row->author_avatar;
}
}
echo '<item>
<guid>http://'.$_SERVER["HTTP_HOST"].'/news/'.$row->calias.'/'.$row->id.'</guid>
<link>http://'.$_SERVER["HTTP_HOST"].'/news/'.$row->calias.'/'.$row->id.'</link>
<title>'.$row->title.'</title>
<pubDate>'.$row->created.'</pubDate>
<content:encoded><![CDATA[';
if ($row->image)
echo '<img src="http://'.$_SERVER["HTTP_HOST"].$row->image.'" width="'.$settings->thumb_width.'" height="'.$settings->thumb_height.'" align="left" />';
elseif ($row->author_avatar)
echo '<img src="http://'.$_SERVER["HTTP_HOST"].$row->author_avatar.'" width="'.$settings->thumb_width.'" height="'.$settings->thumb_height.'" align="left" />';
echo $row->introtext.']]></content:encoded>';
echo '<category>'.$row->name.'</category>
</item>
';
}
?>
</channel>
</rss>
Зарегистрируйтесь или войдите на сайт под своим именем.