mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2025-07-31 05:40:24 +02:00
Corrections
* Corrected GoogleBridge (URI extraction was incorrect) * Corrected ATOM format: * mime-type was incorrect * Hyperlinks were not clickable. * non-UTF8 characters are now properly filtered. * Corrected HTML format output: * Hyperlinks were not clickable. * Corrected error message when SimpleHtmlDom library is not installed. * Added changelog.
This commit is contained in:
@@ -26,7 +26,8 @@ class AtomFormat extends FormatAbstract{
|
||||
$entryTitle = is_null($data->title) ? '' : $data->title;
|
||||
$entryUri = is_null($data->uri) ? '' : $data->uri;
|
||||
$entryTimestamp = is_null($data->timestamp) ? '' : date(DATE_ATOM, $data->timestamp);
|
||||
$entryContent = is_null($data->content) ? '' : '<![CDATA[' . htmlentities($data->content) . ']]>';
|
||||
// We prevent content from closing the CDATA too early.
|
||||
$entryContent = is_null($data->content) ? '' : '<![CDATA[' . $this->sanitizeHtml(str_replace(']]>','',$data->content)) . ']]>';
|
||||
|
||||
$entries .= <<<EOD
|
||||
|
||||
@@ -65,14 +66,22 @@ EOD;
|
||||
{$entries}
|
||||
</feed>
|
||||
EOD;
|
||||
|
||||
// Remove invalid non-UTF8 characters
|
||||
|
||||
// We cannot use iconv because of a bug in some versions of iconv.
|
||||
// See http://www.php.net/manual/fr/function.iconv.php#108643
|
||||
//$toReturn = iconv("UTF-8", "UTF-8//IGNORE", $toReturn);
|
||||
// So we use mb_convert_encoding instead:
|
||||
ini_set('mbstring.substitute_character', 'none');
|
||||
$toReturn= mb_convert_encoding($toReturn, 'UTF-8', 'UTF-8');
|
||||
return $toReturn;
|
||||
}
|
||||
|
||||
public function display(){
|
||||
// $this
|
||||
// ->setContentType('application/atom+xml; charset=' . $this->getCharset())
|
||||
// ->callContentType();
|
||||
$this
|
||||
->setContentType('application/atom+xml; charset=utf8') // We force UTF-8 in ATOM output.
|
||||
->callContentType();
|
||||
|
||||
return parent::display();
|
||||
}
|
||||
|
@@ -16,10 +16,9 @@ class HtmlFormat extends FormatAbstract{
|
||||
$entries = '';
|
||||
foreach($this->getDatas() as $data){
|
||||
$entryUri = is_null($data->uri) ? $uri : $data->uri;
|
||||
$entryTitle = is_null($data->title) ? '' : htmlspecialchars(strip_tags($data->title));
|
||||
$entryTitle = is_null($data->title) ? '' : $this->sanitizeHtml(strip_tags($data->title));
|
||||
$entryTimestamp = is_null($data->timestamp) ? '' : '<small>' . date(DATE_ATOM, $data->timestamp) . '</small>';
|
||||
$entryContent = is_null($data->content) ? '' : '<p>' . $data->content . '</p>';
|
||||
|
||||
$entryContent = is_null($data->content) ? '' : '<p>' . $this->sanitizeHtml($data->content). '</p>';
|
||||
$entries .= <<<EOD
|
||||
|
||||
<div class="rssitem">
|
||||
@@ -52,7 +51,7 @@ EOD;
|
||||
return $toReturn;
|
||||
}
|
||||
|
||||
public function display(){
|
||||
public function display() {
|
||||
$this
|
||||
->setContentType('text/html; charset=' . $this->getCharset())
|
||||
->callContentType();
|
||||
|
Reference in New Issue
Block a user