Chris@76: = {int:likely_max_msg}' .
Chris@76: (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? '
Chris@76: AND b.id_board != {int:recycle_board}' : '') . '
Chris@76: AND {query_wanna_see_board}' . ($modSettings['postmod_active'] ? '
Chris@76: AND t.approved = {int:is_approved}
Chris@76: AND m.approved = {int:is_approved}' : '') . '
Chris@76: ORDER BY m.id_msg DESC
Chris@76: LIMIT ' . $latestPostOptions['number_posts'],
Chris@76: array(
Chris@76: 'likely_max_msg' => max(0, $modSettings['maxMsgID'] - 50 * $latestPostOptions['number_posts']),
Chris@76: 'recycle_board' => $modSettings['recycle_board'],
Chris@76: 'is_approved' => 1,
Chris@76: )
Chris@76: );
Chris@76: $posts = array();
Chris@76: while ($row = $smcFunc['db_fetch_assoc']($request))
Chris@76: {
Chris@76: // Censor the subject and post for the preview ;).
Chris@76: censorText($row['subject']);
Chris@76: censorText($row['body']);
Chris@76:
Chris@76: $row['body'] = strip_tags(strtr(parse_bbc($row['body'], $row['smileys_enabled'], $row['id_msg']), array('
' => '
')));
Chris@76: if ($smcFunc['strlen']($row['body']) > 128)
Chris@76: $row['body'] = $smcFunc['substr']($row['body'], 0, 128) . '...';
Chris@76:
Chris@76: // Build the array.
Chris@76: $posts[] = array(
Chris@76: 'board' => array(
Chris@76: 'id' => $row['id_board'],
Chris@76: 'name' => $row['board_name'],
Chris@76: 'href' => $scripturl . '?board=' . $row['id_board'] . '.0',
Chris@76: 'link' => '' . $row['board_name'] . ''
Chris@76: ),
Chris@76: 'topic' => $row['id_topic'],
Chris@76: 'poster' => array(
Chris@76: 'id' => $row['id_member'],
Chris@76: 'name' => $row['poster_name'],
Chris@76: 'href' => empty($row['id_member']) ? '' : $scripturl . '?action=profile;u=' . $row['id_member'],
Chris@76: 'link' => empty($row['id_member']) ? $row['poster_name'] : '' . $row['poster_name'] . ''
Chris@76: ),
Chris@76: 'subject' => $row['subject'],
Chris@76: 'short_subject' => shorten_subject($row['subject'], 24),
Chris@76: 'preview' => $row['body'],
Chris@76: 'time' => timeformat($row['poster_time']),
Chris@76: 'timestamp' => forum_time(true, $row['poster_time']),
Chris@76: 'raw_timestamp' => $row['poster_time'],
Chris@76: 'href' => $scripturl . '?topic=' . $row['id_topic'] . '.msg' . $row['id_msg'] . ';topicseen#msg' . $row['id_msg'],
Chris@76: 'link' => '' . $row['subject'] . ''
Chris@76: );
Chris@76: }
Chris@76: $smcFunc['db_free_result']($request);
Chris@76:
Chris@76: return $posts;
Chris@76: }
Chris@76:
Chris@76: // Callback-function for the cache for getLastPosts().
Chris@76: function cache_getLastPosts($latestPostOptions)
Chris@76: {
Chris@76: return array(
Chris@76: 'data' => getLastPosts($latestPostOptions),
Chris@76: 'expires' => time() + 60,
Chris@76: 'post_retri_eval' => '
Chris@76: foreach ($cache_block[\'data\'] as $k => $post)
Chris@76: {
Chris@76: $cache_block[\'data\'][$k][\'time\'] = timeformat($post[\'raw_timestamp\']);
Chris@76: $cache_block[\'data\'][$k][\'timestamp\'] = forum_time(true, $post[\'raw_timestamp\']);
Chris@76: }',
Chris@76: );
Chris@76: }
Chris@76:
Chris@76: ?>