} // @preload = @preload.delete_if { |post| not post.can_be_seen_by?(@current_user) } } if ($from_api and isset(Request::$params->api_version) && Request::$params->api_version == "2" and Request::$format != "json") { respond_to_error("V2 API is JSON-only", array(), array('status' => 424)); } // @posts.replace(results) $posts = $results; unset($results); switch (Request::$format) { case 'json': if (empty(Request::$params->api_version) || Request::$params->api_version != "2") { render('json', to_json(array_map(function ($p) { return $p->api_attributes(); }, (array) $posts))); return; } $api_data = Post::batch_api_data($posts, array('exclude_tags' => !empty(Request::$params->include_tags) ? false : true, 'exclude_votes' => !empty(Request::$params->include_votes) ? false : true, 'exclude_pools' => !empty(Request::$params->include_pools) ? false : true)); render('json', to_json($api_data)); break; case 'xml': ActionView::$layout = false; return; break; } if (!empty($split_tags)) { $tags = Tag::parse_query($tags); } else { $tags['include'] = Tag::count_by_period(gmd_math('sub', '1D'), gmd(), array('limit' => 25, 'exclude_types' => CONFIG::$exclude_from_tag_sidebar)); } calc_pages();
<?php if (isset(ActionView::$params['status'])) { ActionView::$set_status(ActionView::$params['status']); unset(ActionView::$params['status']); } if (!empty(ActionView::$params['layout'])) { ActionView::$layout = ActionView::$params['layout']; unset(ActionView::$params['layout']); } if (array_key_exists('nothing', ActionView::$params) && ActionView::$params['nothing'] === true) { exit; } if (empty(ActionView::$params)) { if (Request::$format == 'html' || Request::$format == 'xml') { require ACTVIEW . 'render_markup_default.php'; } } # If we got here and format is json, for now, this means the action doesn't support json. if (Request::$format == 'json') { exit_with_status(400); }
function layout($layout) { ActionView::$layout = $layout; }