. */ if (!defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/rssaction.php'); // Formatting of RSS handled by Rss10Action class FavoritedrssAction extends Rss10Action { function init() { return true; } function get_notices($limit=0) { $qry = 'SELECT notice_id, sum(exp(-(now() - modified)/864000)) as weight ' . 'FROM fave GROUP BY notice_id ' . 'ORDER BY weight DESC'; $offset = 0; $total = ($limit == 0) ? 48 : $limit; if (common_config('db','type') == 'pgsql') { $qry .= ' LIMIT ' . $total . ' OFFSET ' . $offset; } else { $qry .= ' LIMIT ' . $offset . ', ' . $limit; } $fave = new Fave; $fave->query($qry); $notice_list = array(); while ($fave->fetch()) { array_push($notice_list, $fave->notice_id); } $notice = new Notice(); $notice->query(sprintf('SELECT * FROM notice WHERE id in (%s)', implode($notice_list, ','))); $notices = array(); while ($notice->fetch()) { $notices[] = clone($notice); } return $notices; } function get_channel() { global $config; $c = array('url' => common_local_url('favoritedrss'), 'title' => sprintf(_('%s Most Favorited Stream'), $config['site']['name']), 'link' => common_local_url('favorited'), 'description' => sprintf(_('Most favorited updates for %s'), $config['site']['name'])); return $c; } function get_image() { return NULL; } }