Merge pull request #665 from mariroz/dev

fix of rss headers problem
This commit is contained in:
Nicolas Lœuillet 2014-04-24 18:05:16 +02:00
commit d151b51c67
2 changed files with 21 additions and 8 deletions

View File

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

View File

@ -749,7 +749,7 @@ foreach ($items as $key => $item) {
// add effective URL (URL after redirects) // add effective URL (URL after redirects)
if (isset($effective_url)) { if (isset($effective_url)) {
//TODO: ensure $effective_url is valid witout - sometimes it causes problems, e.g. //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() //temporary measure: use utf8_encode()
$newitem->addElement('dc:identifier', remove_url_cruft(utf8_encode($effective_url))); $newitem->addElement('dc:identifier', remove_url_cruft(utf8_encode($effective_url)));
} else { } else {
@ -831,7 +831,7 @@ if (!$debug_mode) {
} }
if ($add_to_cache) { if ($add_to_cache) {
ob_start(); ob_start();
$output->genarateFeed(); $output->genarateFeed(false);
$output = ob_get_contents(); $output = ob_get_contents();
ob_end_clean(); ob_end_clean();
if ($html_only && $item_count == 0) { if ($html_only && $item_count == 0) {
@ -842,7 +842,7 @@ if (!$debug_mode) {
} }
echo $output; echo $output;
} else { } else {
$output->genarateFeed(); $output->genarateFeed(false);
} }
if ($callback) echo ');'; if ($callback) echo ');';
} }