/** * Handles the 'blogtng' feed mode and prevents the default action (recents). * Retrieves all blog posts as defined by blog and tags parameters, orders * and limits them as requested and returns them inside the event. * * @param Doku_Event $event the event as triggered in feed.php * @param array $param empty * @return void */ function handle_mode_unknown(Doku_Event $event, $param) { $opt = $event->data['opt']; if ($opt['feed_mode'] != 'blogtng') { return; } $event->preventDefault(); $event->data['data'] = array(); $conf = array('blog' => explode(',', $opt['blog']), 'tags' => $opt['tags'] ? explode(',', $opt['tags']) : null, 'sortby' => $opt['sortby'], 'sortorder' => $opt['sortorder'], 'limit' => $opt['items'], 'offset' => 0); $this->tools->cleanConf($conf); $conf = array_merge($conf, $this->defaultConf); $posts = $this->entryhelper->get_posts($conf); foreach ($posts as $row) { $event->data['data'][] = array('id' => $row['page'], 'date' => $row['created'], 'user' => $row['author'], 'entry' => $row); } }