fix of rss headers problem

This commit is contained in:
Maryana Rozhankivska 2014-04-24 11:48:00 +03:00
parent 2a6440c134
commit 827f5b42a6
2 changed files with 21 additions and 8 deletions

View file

@ -87,12 +87,25 @@ define('JSONP', 3, true);
* @access public
* @return void
*/
public function genarateFeed()
public function genarateFeed($withHeaders = true)
{
header('Content-type: text/xml; charset=UTF-8');
// this line prevents Chrome 20 from prompting download
// used by Google: https://news.google.com/news/feeds?ned=us&topic=b&output=rss
header('X-content-type-options: nosniff');
if ($withHeaders) {
if ($this->version == RSS2) {
header('Content-type: text/xml; charset=UTF-8');
// this line prevents Chrome 20 from prompting download
// used by Google: https://news.google.com/news/feeds?ned=us&topic=b&output=rss
header('X-content-type-options: nosniff');
} elseif ($this->version == JSON) {
header('Content-type: application/json; charset=UTF-8');
} elseif ($this->version == JSONP) {
header('Content-type: application/javascript; charset=UTF-8');
}
}
if ($this->version == JSON || $this->version == JSONP) {
$this->json = new stdClass();
}
$this->printHead();
$this->printChannels();

View file

@ -749,7 +749,7 @@ foreach ($items as $key => $item) {
// add effective URL (URL after redirects)
if (isset($effective_url)) {
//TODO: ensure $effective_url is valid witout - sometimes it causes problems, e.g.
//http://www.siasat.pk/forum/showthread.php?108883-Pakistan-Chowk-by-Rana-Mubashir--25th-March-2012-Special-Program-from-Liari-(Karachi)
//http://www.siasat.pk/forum/showthread.php?108883-Pakistan-Chowk-by-Rana-Mubashir-<EFBFBD>-25th-March-2012-Special-Program-from-Liari-(Karachi)
//temporary measure: use utf8_encode()
$newitem->addElement('dc:identifier', remove_url_cruft(utf8_encode($effective_url)));
} else {
@ -831,7 +831,7 @@ if (!$debug_mode) {
}
if ($add_to_cache) {
ob_start();
$output->genarateFeed();
$output->genarateFeed(false);
$output = ob_get_contents();
ob_end_clean();
if ($html_only && $item_count == 0) {
@ -842,7 +842,7 @@ if (!$debug_mode) {
}
echo $output;
} else {
$output->genarateFeed();
$output->genarateFeed(false);
}
if ($callback) echo ');';
}