aggregator_page_opml
modules/aggregator/aggregator.module, строка 1249
- Версии
- 5 – 6
aggregator_page_opml($cid = NULL)
Коллбэк меню; генерирует представление OPML из всех фидов.
Параметры
$cid
Если установлен, то экспортируется фид только с этим ID. Если не установлено - то все фиды
Возвращаемое значение
Возвращает XML.
Код
<?php
function aggregator_page_opml($cid = NULL) {
if ($cid) {
$result = db_query('SELECT f.title, f.url FROM {aggregator_feed} f LEFT JOIN {aggregator_category_feed} c on f.fid = c.fid WHERE c.cid = %d ORDER BY title', $cid);
}
else {
$result = db_query('SELECT * FROM {aggregator_feed} ORDER BY title');
}
$output = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
$output .= "<opml version=\"1.1\">\n";
$output .= "<head>\n";
$output .= '<title>'. check_plain(variable_get('site_name', 'Drupal')) ."</title>\n";
$output .= '<dateModified>'. gmdate('r') ."</dateModified>\n";
$output .= "</head>\n";
$output .= "<body>\n";
while ($feed = db_fetch_object($result)) {
$output .= '<outline text="'. check_plain($feed->title) .'" xmlUrl="'. check_url($feed->url) ."\" />\n";
}
$output .= "</body>\n";
$output .= "</opml>\n";
drupal_set_header('Content-Type: text/xml; charset=utf-8');
print $output;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии