$text = @$result[1]; // save in cache for the next request Cache::put($cache_id, $text, 'articles'); } // // transfer to the user agent // // handle the output correctly render_raw('text/xml; charset=' . $context['charset']); // suggest a name on download if (!headers_sent()) { $file_name = utf8::to_ascii($context['site_name'] . '.section.' . $item['id'] . '.rss.xml'); Safe::header('Content-Disposition: inline; filename="' . str_replace('"', '', $file_name) . '"'); } // enable 30-minute caching (30*60 = 1800), even through https, to help IE6 on download http::expire(1800); // strong validator $etag = '"' . md5($text) . '"'; // manage web cache if (http::validate(NULL, $etag)) { return; } // actual transmission except on a HEAD request if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'HEAD') { echo $text; } // the post-processing hook, then exit finalize_page(TRUE); } // render the skin render_skin();
// permission denied } elseif (!Comments::allow_modification($anchor, $item)) { Safe::header('Status: 401 Unauthorized', TRUE, 401); Logger::error(i18n::s('You are not allowed to perform this operation.')); // deletion is confirmed } elseif (isset($_REQUEST['confirm']) && $_REQUEST['confirm'] == 'yes') { // touch the related anchor before actual deletion, since the item has to be accessible at that time if (is_object($anchor)) { $anchor->touch('comment:delete', $item['id']); } // if no error, back to the anchor or to the index page if (Comments::delete($item['id'])) { Comments::clear($item); if ($render_overlaid && isset($_REQUEST['follow_up']) && $_REQUEST['follow_up'] == 'close') { echo "deleting done"; finalize_page(true); } elseif (is_object($anchor)) { Safe::redirect($anchor->get_url('comments')); } else { Safe::redirect($context['url_to_home'] . $context['url_to_root'] . 'comments/'); } } // deletion has to be confirmed } elseif (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'POST') { Logger::error(i18n::s('The action has not been confirmed.')); } else { // commands $menu = array(); $delete_label = ''; if (is_object($overlay)) { $delete_label = $overlay->get_label('delete_confirmation', 'comments');
default: case 'articles': case 'images': $values['items'] = Articles::search($search, 0, 30, 'feed'); break; // search in files // search in files case 'files': $values['items'] = Files::search($search, 0, 30, 'feed'); break; // search in users // search in users case 'users': $values['items'] = Users::search($search, 1.0, 30, 'feed'); break; } // make a text include_once 'codec.php'; include_once 'rss_codec.php'; $result = rss_Codec::encode($values); $status = @$result[0]; $text = @$result[1]; // handle the output correctly render_raw('text/xml; charset=' . $context['charset']); // actual transmission except on a HEAD request if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'HEAD') { echo $text; } // the post-processing hook finalize_page();
/** * render comment as json format * * @param int $id of the comment * @param object $anchor of the comment */ public static function render_json($id, $anchor) { // we'll return json $output = ''; // get layout and render last comment $layout = Comments::get_layout($anchor); $layout->set_variant('no_wrap'); $rendering = Comments::list_by_date_for_anchor($anchor, 0, 1, $layout, true); $output = json_encode(array('entity' => 'comment', 'id' => $id, 'anchor' => $anchor->get_reference(), 'html' => $rendering)); // allow for data compression render_raw('application/json'); echo $output; // the post-processing hook, then exit finalize_page(TRUE); }