$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();
* * This script is also used to refresh session data. This is an effective way * to preserve idle sessions at some rough ISP. * * Accept following invocations: * - heartbit.php * * @author Bernard Paques * @reference * @license http://www.gnu.org/copyleft/lesser.txt GNU Lesser General Public License */ // common definitions and initial processing include_once '../shared/global.php'; include_once 'notifications.php'; // ensure browser always look for fresh data http::expire(0); // surfer has to be logged --provide a short response if (!Surfer::get_id()) { Safe::header('Status: 401 Unauthorized', TRUE, 401); die(i18n::s('You are not allowed to perform this operation.')); // a new notification has been submitted } elseif (isset($_REQUEST['recipient']) && isset($_REQUEST['type'])) { // record the notification $fields = array(); $fields['nick_name'] = Surfer::get_name(); $fields['recipient'] = $_REQUEST['recipient']; $fields['type'] = $_REQUEST['type']; if (isset($_REQUEST['address'])) { $fields['address'] = encode_link($_REQUEST['address']); } if (isset($_REQUEST['message'])) {