106 |
106 |
107 $count = $db->numrows(); |
107 $count = $db->numrows(); |
108 |
108 |
109 $db->free_result($sql); |
109 $db->free_result($sql); |
110 |
110 |
|
111 // RSS check - do we have support for Feed Me and did the user request an RSS feed? |
|
112 $do_rss = defined('ENANO_FEEDBURNER_INCLUDED') && ( isset($_GET['feed']) && $_GET['feed'] === 'rss2' ); |
|
113 $query_limit = $do_rss ? 50 : 10; |
|
114 if ( $do_rss ) |
|
115 { |
|
116 $offset = 0; |
|
117 } |
|
118 |
111 // pass 2: production run |
119 // pass 2: production run |
112 $columns = 'p.post_id, p.post_title, p.post_title_clean, p.post_author, p.post_timestamp, p.post_text, b.blog_name, b.blog_subtitle, b.blog_type, b.allowed_users, u.username, u.user_level, COUNT(c.comment_id) AS num_comments, \'' . $db->escape($planet_id) . '\' AS referring_planet'; |
120 $columns = 'p.post_id, p.post_title, p.post_title_clean, p.post_author, p.post_timestamp, p.post_text, b.blog_name, b.blog_subtitle, b.blog_type, b.allowed_users, u.username, u.user_level, COUNT(c.comment_id) AS num_comments, \'' . $db->escape($planet_id) . '\' AS referring_planet'; |
113 $sql = str_replace('<columns>', $columns, $sql_base); |
121 $sql = str_replace('<columns>', $columns, $sql_base); |
114 $sql = str_replace('<limit>', "LIMIT $offset, 10", $sql); |
122 $sql = str_replace('<limit>', "LIMIT $offset, $query_limit", $sql); |
115 |
123 |
116 // yea. that was one query. |
124 // yea. that was one query. |
117 $q = $db->sql_query($sql); |
125 $q = $db->sql_query($sql); |
118 if ( !$q ) |
126 if ( !$q ) |
119 $db->_die(); |
127 $db->_die(); |
|
128 |
|
129 // RSS feed? |
|
130 if ( $do_rss ) |
|
131 { |
|
132 header('Content-type: text/xml; charset=utf-8'); |
|
133 global $aggressive_optimize_html; |
|
134 $aggressive_optimize_html = false; |
|
135 $rss = new RSS( |
|
136 getConfig('site_name') . ': ' . $planet_data['planet_name'], |
|
137 $planet_data['planet_subtitle'], |
|
138 makeUrlComplete('Planet', $planet_id) |
|
139 ); |
|
140 while ( $row = $db->fetchrow($q) ) |
|
141 { |
|
142 $permalink = makeUrlNS('Blog', sanitize_page_id($row['username']) . date('/Y/n/j/', intval($row['post_timestamp'])) . $row['post_title_clean'], false, true); |
|
143 $post = RenderMan::render($row['post_text']); |
|
144 $rss->add_item($row['post_title'], $permalink, $post, intval($row['post_timestamp'])); |
|
145 } |
|
146 echo $rss->render(); |
|
147 return; |
|
148 } |
120 |
149 |
121 // just let the paginator do the rest |
150 // just let the paginator do the rest |
122 $postbit = new NuggiePostbit(); |
151 $postbit = new NuggiePostbit(); |
123 // $q, $tpl_text, $num_results, $result_url, $start = 0, $perpage = 10, $callers = Array(), $header = '', $footer = '' |
152 // $q, $tpl_text, $num_results, $result_url, $start = 0, $perpage = 10, $callers = Array(), $header = '', $footer = '' |
124 $html = paginate( |
153 $html = paginate( |