Решил, вот, начать публикацию примеров работы с нашим фреймворком. Итак, сегодня были добавлены RSS-потоки в темах, позволяющие отслеживать ответы. Собственно, код RSS-модуля с комментариями по ходу.
code php
<?php
class_include('forum_topic');
class forum_topic_rss extends forum_topic
{
function render_engine() { return 'render_self'; }
function url() { return $this->rss_url(); }
function render()
{
include("3part/feedcreator.class.php");
$rss = &new UniversalFeedCreator();
$rss->encoding = 'utf-8';
$rss->title = $this->title();
$rss->description = ec("Ответы в топик ").$this->title();
$rss->link = parent
::url(1); $rss->syndicationURL = $this->url();
$db = &new DataBase('punbb');
foreach($db->get_array("SELECT id FROM posts WHERE topic_id={$this->id()} ORDER BY posted DESC LIMIT 50") as $post_id)
{
$item = &new FeedItem();
$post = class_load('forum_post', $post_id);
$item->title = $this->title();
$item->link = $post->url();
$html = $post->body();
{
include_once("funcs/texts.php");
$html = strip_text($html, 1024);
$html .= "<br /><br /><a href=\"".$post->url(1).ec("\">Дальше »»»");
}
…
Дальше »»»
… чтобы понять рекурсию, нужно сперва понять рекурсию …