function getLatest($limit = 5, $topic = false) { if (session_admin()) { $perms = session_allowed_sql(); } else { $perms = session_approved_sql(); } if ($topic) { $list = db_fetch_array('select id, topic_id, user_id, ts, subject from siteforum_post where topic_id = ? and ' . $perms . ' order by ts desc limit ' . $limit, $topic); } else { $list = db_fetch_array('select id, topic_id, user_id, ts, subject from siteforum_post where ' . $perms . ' order by ts desc limit ' . $limit); } if (!$list) { return array(); } loader_import('siteforum.Topic'); $t = new SiteForum_Topic(); foreach (array_keys($list) as $k) { $list[$k]->topic_name = $t->getTitle($list[$k]->topic_id); $list[$k]->user_public = db_shift('select public from sitellite_user where username = ?', $list[$k]->user_id); } return $list; }
<?php loader_import('siteforum.Post'); loader_import('siteforum.Topic'); loader_import('siteforum.Filters'); loader_import('saf.GUI.Pager'); global $cgi; if (empty($cgi->topic)) { header('Location: ' . site_prefix() . '/index/siteforum-app'); exit; } if (!isset($cgi->offset) || !is_numeric($cgi->offset)) { $cgi->offset = 0; } $p = new SiteForum_Post(); $p->limit(appconf('limit')); $p->offset($cgi->offset); $list = $p->getThreads($cgi->topic); $pg = new Pager($cgi->offset, appconf('limit'), $p->total); $pg->setUrl(site_prefix() . '/index/siteforum-topic-action?topic=%s', $cgi->topic); $pg->getInfo(); $t = new SiteForum_Topic(); $topic = $t->getTitle($cgi->topic); page_title($topic); template_simple_register('pager', $pg); echo template_simple('thread_list.spt', array('forum_name' => appconf('forum_name'), 'topic' => $topic, 'list' => $list, 'sitesearch' => @file_exists('inc/app/sitesearch/data/sitesearch.pid'))); if (appconf('template')) { page_template(appconf('template')); }