summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Minz/ActionException.php4
-rw-r--r--lib/Minz/ControllerNotExistException.php4
-rw-r--r--lib/Minz/Request.php7
-rw-r--r--lib/SimplePie/SimplePie.php238
-rw-r--r--lib/SimplePie/SimplePie/Author.php19
-rw-r--r--lib/SimplePie/SimplePie/Cache/MySQL.php28
-rw-r--r--lib/SimplePie/SimplePie/Cache/Redis.php6
-rw-r--r--lib/SimplePie/SimplePie/Caption.php31
-rw-r--r--lib/SimplePie/SimplePie/Content/Type/Sniffer.php37
-rw-r--r--lib/SimplePie/SimplePie/Copyright.php13
-rw-r--r--lib/SimplePie/SimplePie/Credit.php19
-rw-r--r--lib/SimplePie/SimplePie/Decode/HTML/Entities.php13
-rw-r--r--lib/SimplePie/SimplePie/Enclosure.php223
-rw-r--r--lib/SimplePie/SimplePie/File.php2
-rw-r--r--lib/SimplePie/SimplePie/HTTP/Parser.php19
-rw-r--r--lib/SimplePie/SimplePie/IRI.php151
-rw-r--r--lib/SimplePie/SimplePie/Item.php168
-rw-r--r--lib/SimplePie/SimplePie/Locator.php29
-rw-r--r--lib/SimplePie/SimplePie/Misc.php49
-rw-r--r--lib/SimplePie/SimplePie/Net/IPv6.php18
-rw-r--r--lib/SimplePie/SimplePie/Parse/Date.php31
-rw-r--r--lib/SimplePie/SimplePie/Parser.php150
-rw-r--r--lib/SimplePie/SimplePie/Rating.php12
-rw-r--r--lib/SimplePie/SimplePie/Restriction.php18
-rw-r--r--lib/SimplePie/SimplePie/Sanitize.php2
-rw-r--r--lib/SimplePie/SimplePie/Source.php97
-rw-r--r--lib/SimplePie/SimplePie/XML/Declaration/Parser.php12
-rw-r--r--lib/SimplePie/SimplePie/gzdecode.php12
-rw-r--r--lib/lib_rss.php18
29 files changed, 588 insertions, 842 deletions
diff --git a/lib/Minz/ActionException.php b/lib/Minz/ActionException.php
index f1f70c1bc..311f15086 100644
--- a/lib/Minz/ActionException.php
+++ b/lib/Minz/ActionException.php
@@ -1,9 +1,7 @@
<?php
class Minz_ActionException extends Minz_Exception {
public function __construct ($controller_name, $action_name, $code = self::ERROR) {
- $message = '`' . $action_name . '` cannot be invoked on `'
- . $controller_name . '`';
-
+ $message = 'Invalid action name for controller ' . $controller_name;
parent::__construct ($message, $code);
}
}
diff --git a/lib/Minz/ControllerNotExistException.php b/lib/Minz/ControllerNotExistException.php
index 24a09a635..dcdaa94d1 100644
--- a/lib/Minz/ControllerNotExistException.php
+++ b/lib/Minz/ControllerNotExistException.php
@@ -1,9 +1,7 @@
<?php
class Minz_ControllerNotExistException extends Minz_Exception {
public function __construct ($controller_name, $code = self::ERROR) {
- $message = 'Controller `' . $controller_name
- . '` doesn\'t exist';
-
+ $message = 'Controller not found!';
parent::__construct ($message, $code);
}
}
diff --git a/lib/Minz/Request.php b/lib/Minz/Request.php
index 24e30546f..8b2b610d6 100644
--- a/lib/Minz/Request.php
+++ b/lib/Minz/Request.php
@@ -118,7 +118,9 @@ class Minz_Request {
$https = self::isHttps();
- if (!empty($_SERVER['HTTP_HOST'])) {
+ if (!empty($_SERVER['HTTP_X_FORWARDED_HOST'])) {
+ $host = parse_url('http://' . $_SERVER['HTTP_X_FORWARDED_HOST'], PHP_URL_HOST);
+ } elseif (!empty($_SERVER['HTTP_HOST'])) {
//Might contain a port number, and mind IPv6 addresses
$host = parse_url('http://' . $_SERVER['HTTP_HOST'], PHP_URL_HOST);
} elseif (!empty($_SERVER['SERVER_NAME'])) {
@@ -142,6 +144,9 @@ class Minz_Request {
} else {
$url .= '://' . $host . ($port == 80 ? '' : ':' . $port);
}
+ if (!empty($_SERVER['HTTP_X_FORWARDED_PREFIX'])) {
+ $url .= rtrim($_SERVER['HTTP_X_FORWARDED_PREFIX'], '/ ');
+ }
if (isset($_SERVER['REQUEST_URI'])) {
$path = $_SERVER['REQUEST_URI'];
$url .= substr($path, -1) === '/' ? substr($path, 0, -1) : dirname($path);
diff --git a/lib/SimplePie/SimplePie.php b/lib/SimplePie/SimplePie.php
index b591bcddd..d684c1a2c 100644
--- a/lib/SimplePie/SimplePie.php
+++ b/lib/SimplePie/SimplePie.php
@@ -33,7 +33,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @version 1.5
+ * @version 1.5.2
* @copyright 2004-2017 Ryan Parman, Geoffrey Sneddon, Ryan McCue
* @author Ryan Parman
* @author Geoffrey Sneddon
@@ -50,7 +50,7 @@ define('SIMPLEPIE_NAME', 'SimplePie');
/**
* SimplePie Version
*/
-define('SIMPLEPIE_VERSION', '1.5');
+define('SIMPLEPIE_VERSION', '1.5.2');
/**
* SimplePie Build
@@ -822,7 +822,7 @@ class SimplePie
}
/**
- * Set the the default timeout for fetching remote feeds
+ * Set the default timeout for fetching remote feeds
*
* This allows you to change the maximum time the feed's server to respond
* and send the feed back.
@@ -1364,6 +1364,11 @@ class SimplePie
}
}
+ // The default sanitize class gets set in the constructor, check if it has
+ // changed.
+ if ($this->registry->get_class('Sanitize') !== 'SimplePie_Sanitize') {
+ $this->sanitize = $this->registry->create('Sanitize');
+ }
if (method_exists($this->sanitize, 'set_registry'))
{
$this->sanitize->set_registry($this->registry);
@@ -1431,7 +1436,7 @@ class SimplePie
$md5 = $this->data['md5'];
}
}
-
+
// Empty response check
if(empty($this->raw_data)){
$this->error = "A feed could not be found at `$this->feed_url`. Empty body.";
@@ -1508,7 +1513,7 @@ class SimplePie
$this->data = $parser->get_data();
if (!($this->get_type() & ~SIMPLEPIE_TYPE_NONE))
{
- $this->error = "A feed could not be found at $this->feed_url. This does not appear to be a valid RSS or Atom feed.";
+ $this->error = "A feed could not be found at `$this->feed_url`. This does not appear to be a valid RSS or Atom feed.";
$this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, __FILE__, __LINE__));
return false;
}
@@ -1524,7 +1529,7 @@ class SimplePie
// Cache the file if caching is enabled
if ($cache && !$cache->save($this))
{
- trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
+ trigger_error("$this->cache_location is not writable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
}
return true;
}
@@ -1694,25 +1699,64 @@ class SimplePie
if (!$this->force_feed)
{
// Check if the supplied URL is a feed, if it isn't, look for it.
- $locate = $this->registry->create('Locator', array(&$file, $this->timeout, $this->useragent, $this->max_checked_feeds));
+ $locate = $this->registry->create('Locator', array(&$file, $this->timeout, $this->useragent, $this->max_checked_feeds, $this->force_fsockopen, $this->curl_options));
if (!$locate->is_feed($file))
{
$copyStatusCode = $file->status_code;
$copyContentType = $file->headers['content-type'];
- // We need to unset this so that if SimplePie::set_file() has been called that object is untouched
- unset($file);
try
{
- if (!($file = $locate->find($this->autodiscovery, $this->all_discovered_feeds)))
+ $microformats = false;
+ if (class_exists('DOMXpath') && function_exists('Mf2\parse')) {
+ $doc = new DOMDocument();
+ @$doc->loadHTML($file->body);
+ $xpath = new DOMXpath($doc);
+ // Check for both h-feed and h-entry, as both a feed with no entries
+ // and a list of entries without an h-feed wrapper are both valid.
+ $query = '//*[contains(concat(" ", @class, " "), " h-feed ") or '.
+ 'contains(concat(" ", @class, " "), " h-entry ")]';
+ $result = $xpath->query($query);
+ $microformats = $result->length !== 0;
+ }
+ // Now also do feed discovery, but if microformats were found don't
+ // overwrite the current value of file.
+ $discovered = $locate->find($this->autodiscovery,
+ $this->all_discovered_feeds);
+ if ($microformats)
{
- $this->error = "A feed could not be found at `$this->feed_url`; the status code is `$copyStatusCode` and content-type is `$copyContentType`";
- $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, __FILE__, __LINE__));
- return false;
+ if ($hub = $locate->get_rel_link('hub'))
+ {
+ $self = $locate->get_rel_link('self');
+ $this->store_links($file, $hub, $self);
+ }
+ // Push the current file onto all_discovered feeds so the user can
+ // be shown this as one of the options.
+ if (isset($this->all_discovered_feeds)) {
+ $this->all_discovered_feeds[] = $file;
+ }
+ }
+ else
+ {
+ if ($discovered)
+ {
+ $file = $discovered;
+ }
+ else
+ {
+ // We need to unset this so that if SimplePie::set_file() has
+ // been called that object is untouched
+ unset($file);
+ $this->error = "A feed could not be found at `$this->feed_url`; the status code is `$copyStatusCode` and content-type is `$copyContentType`";
+ $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, __FILE__, __LINE__));
+ return false;
+ }
}
}
catch (SimplePie_Exception $e)
{
+ // We need to unset this so that if SimplePie::set_file() has been called that object is untouched
+ unset($file);
// This is usually because DOMDocument doesn't exist
$this->error = $e->getMessage();
$this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, $e->getFile(), $e->getLine()));
@@ -1725,7 +1769,7 @@ class SimplePie
$this->data['md5'] = empty($md5) ? $this->cleanMd5($file->body) : $md5;
if (!$cache->save($this))
{
- trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
+ trigger_error("$this->cache_location is not writable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
}
$cache = $this->registry->call('Cache', 'get_handler', array($this->cache_location, call_user_func($this->cache_name_function, $file->url), 'spc'));
}
@@ -1922,7 +1966,7 @@ class SimplePie
/**
* Get the URL for the feed
- *
+ *
* When the 'permanent' mode is enabled, returns the original feed URL,
* except in the case of an `HTTP 301 Moved Permanently` status response,
* in which case the location of the first redirection is returned.
@@ -2156,10 +2200,8 @@ class SimplePie
{
return $this->get_link();
}
- else
- {
- return $this->subscribe_url();
- }
+
+ return $this->subscribe_url();
}
/**
@@ -2229,10 +2271,8 @@ class SimplePie
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2249,10 +2289,8 @@ class SimplePie
{
return $categories[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2314,10 +2352,8 @@ class SimplePie
{
return array_unique($categories);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2334,10 +2370,8 @@ class SimplePie
{
return $authors[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2412,10 +2446,8 @@ class SimplePie
{
return array_unique($authors);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2432,10 +2464,8 @@ class SimplePie
{
return $contributors[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2498,10 +2528,8 @@ class SimplePie
{
return array_unique($contributors);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2519,10 +2547,8 @@ class SimplePie
{
return $links[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2614,20 +2640,18 @@ class SimplePie
}
}
- if (isset($this->data['links'][$rel]))
- {
- return $this->data['links'][$rel];
- }
- else if (isset($this->data['headers']['link']) &&
- preg_match('/<([^>]+)>; rel='.preg_quote($rel).'/',
- $this->data['headers']['link'], $match))
+ if (isset($this->data['headers']['link']) &&
+ preg_match('/<([^>]+)>; rel='.preg_quote($rel).'/',
+ $this->data['headers']['link'], $match))
{
return array($match[1]);
}
- else
+ else if (isset($this->data['links'][$rel]))
{
- return null;
+ return $this->data['links'][$rel];
}
+
+ return null;
}
public function get_all_discovered_feeds()
@@ -2682,10 +2706,8 @@ class SimplePie
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2718,10 +2740,8 @@ class SimplePie
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2762,10 +2782,8 @@ class SimplePie
{
return $this->sanitize($this->data['headers']['content-language'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2791,10 +2809,8 @@ class SimplePie
{
return (float) $match[1];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2823,10 +2839,8 @@ class SimplePie
{
return (float) $match[2];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2860,10 +2874,8 @@ class SimplePie
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2903,10 +2915,8 @@ class SimplePie
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
}
- else
- {
- return null;
- }
+
+ return null;
}
@@ -2935,10 +2945,8 @@ class SimplePie
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2961,10 +2969,8 @@ class SimplePie
{
return 88.0;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2987,10 +2993,8 @@ class SimplePie
{
return 31.0;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -3010,10 +3014,8 @@ class SimplePie
{
return $qty;
}
- else
- {
- return ($qty > $max) ? $max : $qty;
- }
+
+ return ($qty > $max) ? $max : $qty;
}
/**
@@ -3035,10 +3037,8 @@ class SimplePie
{
return $items[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -3133,10 +3133,8 @@ class SimplePie
{
return array_slice($items, $start);
}
- else
- {
- return array_slice($items, $start, $end);
- }
+
+ return array_slice($items, $start, $end);
}
/**
@@ -3163,7 +3161,7 @@ class SimplePie
if (($url = $this->get_link()) !== null)
{
- return 'http://g.etfv.co/' . urlencode($url);
+ return 'https://www.google.com/s2/favicons?domain=' . urlencode($url);
}
return false;
@@ -3259,16 +3257,12 @@ class SimplePie
{
return array_slice($items, $start);
}
- else
- {
- return array_slice($items, $start, $end);
- }
- }
- else
- {
- trigger_error('Cannot merge zero SimplePie objects', E_USER_WARNING);
- return array();
+
+ return array_slice($items, $start, $end);
}
+
+ trigger_error('Cannot merge zero SimplePie objects', E_USER_WARNING);
+ return array();
}
/**
diff --git a/lib/SimplePie/SimplePie/Author.php b/lib/SimplePie/SimplePie/Author.php
index e6768ff29..14794cf27 100644
--- a/lib/SimplePie/SimplePie/Author.php
+++ b/lib/SimplePie/SimplePie/Author.php
@@ -113,10 +113,8 @@ class SimplePie_Author
{
return $this->name;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -130,10 +128,8 @@ class SimplePie_Author
{
return $this->link;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -147,10 +143,7 @@ class SimplePie_Author
{
return $this->email;
}
- else
- {
- return null;
- }
+
+ return null;
}
}
-
diff --git a/lib/SimplePie/SimplePie/Cache/MySQL.php b/lib/SimplePie/SimplePie/Cache/MySQL.php
index 8686b6c67..061ed043a 100644
--- a/lib/SimplePie/SimplePie/Cache/MySQL.php
+++ b/lib/SimplePie/SimplePie/Cache/MySQL.php
@@ -96,7 +96,7 @@ class SimplePie_Cache_MySQL extends SimplePie_Cache_DB
'cache_purge_time' => 2592000
),
);
-
+
$this->options = SimplePie_Misc::array_merge_recursive($this->options, SimplePie_Cache::parse_URL($location));
// Path is prefixed with a "/"
@@ -395,10 +395,8 @@ class SimplePie_Cache_MySQL extends SimplePie_Cache_DB
{
return $time;
}
- else
- {
- return false;
- }
+
+ return false;
}
/**
@@ -416,14 +414,8 @@ class SimplePie_Cache_MySQL extends SimplePie_Cache_DB
$query = $this->mysql->prepare('UPDATE `' . $this->options['extras']['prefix'] . 'cache_data` SET `mtime` = :time WHERE `id` = :id');
$query->bindValue(':time', time());
$query->bindValue(':id', $this->id);
- if ($query->execute() && $query->rowCount() > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
+
+ return $query->execute() && $query->rowCount() > 0;
}
/**
@@ -442,13 +434,7 @@ class SimplePie_Cache_MySQL extends SimplePie_Cache_DB
$query->bindValue(':id', $this->id);
$query2 = $this->mysql->prepare('DELETE FROM `' . $this->options['extras']['prefix'] . 'items` WHERE `feed_id` = :id');
$query2->bindValue(':id', $this->id);
- if ($query->execute() && $query2->execute())
- {
- return true;
- }
- else
- {
- return false;
- }
+
+ return $query->execute() && $query2->execute();
}
}
diff --git a/lib/SimplePie/SimplePie/Cache/Redis.php b/lib/SimplePie/SimplePie/Cache/Redis.php
index 04d72c79a..dbc88e829 100644
--- a/lib/SimplePie/SimplePie/Cache/Redis.php
+++ b/lib/SimplePie/SimplePie/Cache/Redis.php
@@ -65,6 +65,12 @@ class SimplePie_Cache_Redis implements SimplePie_Cache_Base {
$parsed = SimplePie_Cache::parse_URL($location);
$redis = new Redis();
$redis->connect($parsed['host'], $parsed['port']);
+ if (isset($parsed['pass'])) {
+ $redis->auth($parsed['pass']);
+ }
+ if (isset($parsed['path'])) {
+ $redis->select((int)substr($parsed['path'], 1));
+ }
$this->cache = $redis;
if (!is_null($options) && is_array($options)) {
diff --git a/lib/SimplePie/SimplePie/Caption.php b/lib/SimplePie/SimplePie/Caption.php
index abf07de1b..854857603 100644
--- a/lib/SimplePie/SimplePie/Caption.php
+++ b/lib/SimplePie/SimplePie/Caption.php
@@ -131,10 +131,8 @@ class SimplePie_Caption
{
return $this->endTime;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -149,10 +147,8 @@ class SimplePie_Caption
{
return $this->lang;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -166,10 +162,8 @@ class SimplePie_Caption
{
return $this->startTime;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -183,10 +177,8 @@ class SimplePie_Caption
{
return $this->text;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -200,10 +192,7 @@ class SimplePie_Caption
{
return $this->type;
}
- else
- {
- return null;
- }
+
+ return null;
}
}
-
diff --git a/lib/SimplePie/SimplePie/Content/Type/Sniffer.php b/lib/SimplePie/SimplePie/Content/Type/Sniffer.php
index 6caf80f33..8962e6d9f 100644
--- a/lib/SimplePie/SimplePie/Content/Type/Sniffer.php
+++ b/lib/SimplePie/SimplePie/Content/Type/Sniffer.php
@@ -118,10 +118,8 @@ class SimplePie_Content_Type_Sniffer
{
return $return;
}
- else
- {
- return $official;
- }
+
+ return $official;
}
elseif ($official === 'text/html'
|| $official === 'text/xml' //FreshRSS
@@ -129,15 +127,11 @@ class SimplePie_Content_Type_Sniffer
{
return $this->feed_or_html();
}
- else
- {
- return $official;
- }
- }
- else
- {
- return $this->unknown();
+
+ return $official;
}
+
+ return $this->unknown();
}
/**
@@ -158,10 +152,8 @@ class SimplePie_Content_Type_Sniffer
{
return 'application/octect-stream';
}
- else
- {
- return 'text/plain';
- }
+
+ return 'text/plain';
}
/**
@@ -207,10 +199,8 @@ class SimplePie_Content_Type_Sniffer
{
return 'image/vnd.microsoft.icon';
}
- else
- {
- return $this->text_or_binary();
- }
+
+ return $this->text_or_binary();
}
/**
@@ -241,10 +231,8 @@ class SimplePie_Content_Type_Sniffer
{
return 'image/vnd.microsoft.icon';
}
- else
- {
- return false;
- }
+
+ return false;
}
/**
@@ -328,4 +316,3 @@ class SimplePie_Content_Type_Sniffer
return 'text/html';
}
}
-
diff --git a/lib/SimplePie/SimplePie/Copyright.php b/lib/SimplePie/SimplePie/Copyright.php
index 3f3d07d3b..a57f323e6 100644
--- a/lib/SimplePie/SimplePie/Copyright.php
+++ b/lib/SimplePie/SimplePie/Copyright.php
@@ -103,10 +103,8 @@ class SimplePie_Copyright
{
return $this->url;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -120,10 +118,7 @@ class SimplePie_Copyright
{
return $this->label;
}
- else
- {
- return null;
- }
+
+ return null;
}
}
-
diff --git a/lib/SimplePie/SimplePie/Credit.php b/lib/SimplePie/SimplePie/Credit.php
index 9bad9ef34..064a1b864 100644
--- a/lib/SimplePie/SimplePie/Credit.php
+++ b/lib/SimplePie/SimplePie/Credit.php
@@ -112,10 +112,8 @@ class SimplePie_Credit
{
return $this->role;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -129,10 +127,8 @@ class SimplePie_Credit
{
return $this->scheme;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -146,10 +142,7 @@ class SimplePie_Credit
{
return $this->name;
}
- else
- {
- return null;
- }
+
+ return null;
}
}
-
diff --git a/lib/SimplePie/SimplePie/Decode/HTML/Entities.php b/lib/SimplePie/SimplePie/Decode/HTML/Entities.php
index de3f2cb53..773481a8c 100644
--- a/lib/SimplePie/SimplePie/Decode/HTML/Entities.php
+++ b/lib/SimplePie/SimplePie/Decode/HTML/Entities.php
@@ -117,10 +117,8 @@ class SimplePie_Decode_HTML_Entities
$this->consumed .= $this->data[$this->position];
return $this->data[$this->position++];
}
- else
- {
- return false;
- }
+
+ return false;
}
/**
@@ -139,10 +137,8 @@ class SimplePie_Decode_HTML_Entities
$this->position += $len;
return $data;
}
- else
- {
- return false;
- }
+
+ return false;
}
/**
@@ -612,4 +608,3 @@ class SimplePie_Decode_HTML_Entities
}
}
}
-
diff --git a/lib/SimplePie/SimplePie/Enclosure.php b/lib/SimplePie/SimplePie/Enclosure.php
index 15060e193..ddbbc3c92 100644
--- a/lib/SimplePie/SimplePie/Enclosure.php
+++ b/lib/SimplePie/SimplePie/Enclosure.php
@@ -282,10 +282,8 @@ class SimplePie_Enclosure
{
return $this->bitrate;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -301,10 +299,8 @@ class SimplePie_Enclosure
{
return $captions[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -318,10 +314,8 @@ class SimplePie_Enclosure
{
return $this->captions;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -337,10 +331,8 @@ class SimplePie_Enclosure
{
return $categories[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -354,10 +346,8 @@ class SimplePie_Enclosure
{
return $this->categories;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -371,10 +361,8 @@ class SimplePie_Enclosure
{
return $this->channels;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -388,10 +376,8 @@ class SimplePie_Enclosure
{
return $this->copyright;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -407,10 +393,8 @@ class SimplePie_Enclosure
{
return $credits[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -424,10 +408,8 @@ class SimplePie_Enclosure
{
return $this->credits;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -441,10 +423,8 @@ class SimplePie_Enclosure
{
return $this->description;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -462,15 +442,11 @@ class SimplePie_Enclosure
$time = SimplePie_Misc::time_hms($this->duration);
return $time;
}
- else
- {
- return $this->duration;
- }
- }
- else
- {
- return null;
+
+ return $this->duration;
}
+
+ return null;
}
/**
@@ -484,10 +460,8 @@ class SimplePie_Enclosure
{
return $this->expression;
}
- else
- {
- return 'full';
- }
+
+ return 'full';
}
/**
@@ -519,10 +493,8 @@ class SimplePie_Enclosure
{
return $this->framerate;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -549,10 +521,8 @@ class SimplePie_Enclosure
{
return $hashes[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -566,10 +536,8 @@ class SimplePie_Enclosure
{
return $this->hashes;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -583,10 +551,8 @@ class SimplePie_Enclosure
{
return $this->height;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -601,10 +567,8 @@ class SimplePie_Enclosure
{
return $this->lang;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -620,10 +584,8 @@ class SimplePie_Enclosure
{
return $keywords[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -637,10 +599,8 @@ class SimplePie_Enclosure
{
return $this->keywords;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -654,10 +614,8 @@ class SimplePie_Enclosure
{
return $this->length;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -671,10 +629,8 @@ class SimplePie_Enclosure
{
return urldecode($this->link);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -689,10 +645,8 @@ class SimplePie_Enclosure
{
return $this->medium;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -707,10 +661,8 @@ class SimplePie_Enclosure
{
return $this->player;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -726,10 +678,8 @@ class SimplePie_Enclosure
{
return $ratings[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -743,10 +693,8 @@ class SimplePie_Enclosure
{
return $this->ratings;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -762,10 +710,8 @@ class SimplePie_Enclosure
{
return $restrictions[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -779,10 +725,8 @@ class SimplePie_Enclosure
{
return $this->restrictions;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -796,10 +740,8 @@ class SimplePie_Enclosure
{
return $this->samplingrate;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -814,10 +756,8 @@ class SimplePie_Enclosure
{
return round($length/1048576, 2);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -833,10 +773,8 @@ class SimplePie_Enclosure
{
return $thumbnails[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -850,10 +788,8 @@ class SimplePie_Enclosure
{
return $this->thumbnails;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -867,10 +803,8 @@ class SimplePie_Enclosure
{
return $this->title;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -885,10 +819,8 @@ class SimplePie_Enclosure
{
return $this->type;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -902,10 +834,8 @@ class SimplePie_Enclosure
{
return $this->width;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -1365,15 +1295,10 @@ class SimplePie_Enclosure
{
return 'mp3';
}
- else
- {
- return null;
- }
- }
- else
- {
- return $type;
+
+ return null;
}
+
+ return $type;
}
}
-
diff --git a/lib/SimplePie/SimplePie/File.php b/lib/SimplePie/SimplePie/File.php
index b8a595571..c5c398ee1 100644
--- a/lib/SimplePie/SimplePie/File.php
+++ b/lib/SimplePie/SimplePie/File.php
@@ -71,7 +71,7 @@ class SimplePie_File
{
$idn = new idna_convert();
$parsed = SimplePie_Misc::parse_url($url);
- $url = SimplePie_Misc::compress_parse_url($parsed['scheme'], $idn->encode($parsed['authority']), $parsed['path'], $parsed['query'], $parsed['fragment']);
+ $url = SimplePie_Misc::compress_parse_url($parsed['scheme'], $idn->encode($parsed['authority']), $parsed['path'], $parsed['query'], NULL);
}
$this->url = $url;
$this->permanent_url = $url;
diff --git a/lib/SimplePie/SimplePie/HTTP/Parser.php b/lib/SimplePie/SimplePie/HTTP/Parser.php
index 3899c53fa..7d6188dd1 100644
--- a/lib/SimplePie/SimplePie/HTTP/Parser.php
+++ b/lib/SimplePie/SimplePie/HTTP/Parser.php
@@ -155,15 +155,13 @@ class SimplePie_HTTP_Parser
{
return true;
}
- else
- {
- $this->http_version = '';
- $this->status_code = '';
- $this->reason = '';
- $this->headers = array();
- $this->body = '';
- return false;
- }
+
+ $this->http_version = '';
+ $this->status_code = '';
+ $this->reason = '';
+ $this->headers = array();
+ $this->body = '';
+ return false;
}
/**
@@ -512,6 +510,9 @@ class SimplePie_HTTP_Parser
if (false !== stripos($data, "HTTP/1.0 200 Connection established\r\n\r\n")) {
$data = str_ireplace("HTTP/1.0 200 Connection established\r\n\r\n", '', $data);
}
+ if (false !== stripos($data, "HTTP/1.1 200 Connection established\r\n\r\n")) {
+ $data = str_ireplace("HTTP/1.1 200 Connection established\r\n\r\n", '', $data);
+ }
return $data;
}
}
diff --git a/lib/SimplePie/SimplePie/IRI.php b/lib/SimplePie/SimplePie/IRI.php
index 2b3fbaf07..ffba232b1 100644
--- a/lib/SimplePie/SimplePie/IRI.php
+++ b/lib/SimplePie/SimplePie/IRI.php
@@ -211,10 +211,8 @@ class SimplePie_IRI
{
return $this->normalization[$this->scheme][$name];
}
- else
- {
- return $return;
- }
+
+ return $return;
}
/**
@@ -225,14 +223,7 @@ class SimplePie_IRI
*/
public function __isset($name)
{
- if (method_exists($this, 'get_' . $name) || isset($this->$name))
- {
- return true;
- }
- else
- {
- return false;
- }
+ return method_exists($this, 'get_' . $name) || isset($this->$name);
}
/**
@@ -356,10 +347,8 @@ class SimplePie_IRI
$target->scheme_normalization();
return $target;
}
- else
- {
- return false;
- }
+
+ return false;
}
}
@@ -396,11 +385,9 @@ class SimplePie_IRI
}
return $match;
}
- else
- {
- // This can occur when a paragraph is accidentally parsed as a URI
- return false;
- }
+
+ // This can occur when a paragraph is accidentally parsed as a URI
+ return false;
}
/**
@@ -804,7 +791,7 @@ class SimplePie_IRI
public function set_iri($iri, $clear_cache = false)
{
static $cache;
- if ($clear_cache)
+ if ($clear_cache)
{
$cache = null;
return;
@@ -830,30 +817,28 @@ class SimplePie_IRI
$return) = $cache[$iri];
return $return;
}
- else
- {
- $parsed = $this->parse_iri((string) $iri);
- if (!$parsed)
- {
- return false;
- }
- $return = $this->set_scheme($parsed['scheme'])
- && $this->set_authority($parsed['authority'])
- && $this->set_path($parsed['path'])
- && $this->set_query($parsed['query'])
- && $this->set_fragment($parsed['fragment']);
-
- $cache[$iri] = array($this->scheme,
- $this->iuserinfo,
- $this->ihost,
- $this->port,
- $this->ipath,
- $this->iquery,
- $this->ifragment,
- $return);
- return $return;
+ $parsed = $this->parse_iri((string) $iri);
+ if (!$parsed)
+ {
+ return false;
}
+
+ $return = $this->set_scheme($parsed['scheme'])
+ && $this->set_authority($parsed['authority'])
+ && $this->set_path($parsed['path'])
+ && $this->set_query($parsed['query'])
+ && $this->set_fragment($parsed['fragment']);
+
+ $cache[$iri] = array($this->scheme,
+ $this->iuserinfo,
+ $this->ihost,
+ $this->port,
+ $this->ipath,
+ $this->iquery,
+ $this->ifragment,
+ $return);
+ return $return;
}
/**
@@ -915,42 +900,40 @@ class SimplePie_IRI
return $return;
}
+
+ $remaining = $authority;
+ if (($iuserinfo_end = strrpos($remaining, '@')) !== false)
+ {
+ $iuserinfo = substr($remaining, 0, $iuserinfo_end);
+ $remaining = substr($remaining, $iuserinfo_end + 1);
+ }
else
{
- $remaining = $authority;
- if (($iuserinfo_end = strrpos($remaining, '@')) !== false)
- {
- $iuserinfo = substr($remaining, 0, $iuserinfo_end);
- $remaining = substr($remaining, $iuserinfo_end + 1);
- }
- else
- {
- $iuserinfo = null;
- }
- if (($port_start = strpos($remaining, ':', strpos($remaining, ']'))) !== false)
- {
- if (($port = substr($remaining, $port_start + 1)) === false)
- {
- $port = null;
- }
- $remaining = substr($remaining, 0, $port_start);
- }
- else
+ $iuserinfo = null;
+ }
+ if (($port_start = strpos($remaining, ':', strpos($remaining, ']'))) !== false)
+ {
+ if (($port = substr($remaining, $port_start + 1)) === false)
{
$port = null;
}
+ $remaining = substr($remaining, 0, $port_start);
+ }
+ else
+ {
+ $port = null;
+ }
- $return = $this->set_userinfo($iuserinfo) &&
- $this->set_host($remaining) &&
- $this->set_port($port);
+ $return = $this->set_userinfo($iuserinfo) &&
+ $this->set_host($remaining) &&
+ $this->set_port($port);
- $cache[$authority] = array($this->iuserinfo,
- $this->ihost,
- $this->port,
- $return);
+ $cache[$authority] = array($this->iuserinfo,
+ $this->ihost,
+ $this->port,
+ $return);
- return $return;
- }
+ return $return;
}
/**
@@ -1050,11 +1033,9 @@ class SimplePie_IRI
$this->scheme_normalization();
return true;
}
- else
- {
- $this->port = null;
- return false;
- }
+
+ $this->port = null;
+ return false;
}
/**
@@ -1066,7 +1047,7 @@ class SimplePie_IRI
public function set_path($ipath, $clear_cache = false)
{
static $cache;
- if ($clear_cache)
+ if ($clear_cache)
{
$cache = null;
return;
@@ -1185,7 +1166,7 @@ class SimplePie_IRI
{
$iri .= $this->ipath;
}
- elseif (!empty($this->normalization[$this->scheme]['ipath']) && $iauthority !== null && $iauthority !== '')
+ elseif (!empty($this->normalization[$this->scheme]['ipath']) && $iauthority !== null && $iauthority !== '')
{
$iri .= $this->normalization[$this->scheme]['ipath'];
}
@@ -1229,16 +1210,14 @@ class SimplePie_IRI
{
$iauthority .= $this->ihost;
}
- if ($this->port !== null)
+ if ($this->port !== null && $this->port !== 0)
{
$iauthority .= ':' . $this->port;
}
return $iauthority;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -1251,7 +1230,7 @@ class SimplePie_IRI
$iauthority = $this->get_iauthority();
if (is_string($iauthority))
return $this->to_uri($iauthority);
- else
- return $iauthority;
+
+ return $iauthority;
}
}
diff --git a/lib/SimplePie/SimplePie/Item.php b/lib/SimplePie/SimplePie/Item.php
index 425538606..9b9c1f5db 100644
--- a/lib/SimplePie/SimplePie/Item.php
+++ b/lib/SimplePie/SimplePie/Item.php
@@ -147,10 +147,8 @@ class SimplePie_Item
{
return $this->data['child'][$namespace][$tag];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -366,10 +364,8 @@ class SimplePie_Item
{
return $this->get_content(true);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -407,18 +403,16 @@ class SimplePie_Item
{
return $this->get_description(true);
}
- else
- {
- return null;
- }
+
+ return null;
}
-
+
/**
* Get the media:thumbnail of the item
*
* Uses `<media:thumbnail>`
*
- *
+ *
* @return array|null
*/
public function get_thumbnail()
@@ -435,7 +429,7 @@ class SimplePie_Item
}
}
return $this->data['thumbnail'];
- }
+ }
/**
* Get a category for the item
@@ -451,10 +445,8 @@ class SimplePie_Item
{
return $categories[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -477,15 +469,15 @@ class SimplePie_Item
$label = null;
if (isset($category['attribs']['']['term']))
{
- $term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_HTML);
+ $term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
}
if (isset($category['attribs']['']['scheme']))
{
- $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_HTML);
+ $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
}
if (isset($category['attribs']['']['label']))
{
- $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_HTML);
+ $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
}
$categories[] = $this->registry->create('Category', array($term, $scheme, $label, $type));
}
@@ -493,10 +485,10 @@ class SimplePie_Item
{
// This is really the label, but keep this as the term also for BC.
// Label will also work on retrieving because that falls back to term.
- $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML);
+ $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
if (isset($category['attribs']['']['domain']))
{
- $scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_HTML);
+ $scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
}
else
{
@@ -508,21 +500,19 @@ class SimplePie_Item
$type = 'subject';
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, $type) as $category)
{
- $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null, $type));
+ $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null, $type));
}
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, $type) as $category)
{
- $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null, $type));
+ $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null, $type));
}
if (!empty($categories))
{
return array_unique($categories);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -539,10 +529,8 @@ class SimplePie_Item
{
return $authors[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -559,10 +547,8 @@ class SimplePie_Item
{
return $contributors[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -571,7 +557,7 @@ class SimplePie_Item
* Uses `<atom:contributor>`
*
* @since 1.1
- * @return array|null List of {@see SimplePie_Author} objects
+ * @return SimplePie_Author[]|null List of {@see SimplePie_Author} objects
*/
public function get_contributors()
{
@@ -625,10 +611,8 @@ class SimplePie_Item
{
return array_unique($contributors);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -637,7 +621,7 @@ class SimplePie_Item
* Uses `<atom:author>`, `<author>`, `<dc:creator>` or `<itunes:author>`
*
* @since Beta 2
- * @return array|null List of {@see SimplePie_Author} objects
+ * @return SimplePie_Author[]|null List of {@see SimplePie_Author} objects
*/
public function get_authors()
{
@@ -649,7 +633,7 @@ class SimplePie_Item
$email = null;
if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
{
- $name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_HTML);
+ $name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
{
@@ -657,7 +641,7 @@ class SimplePie_Item
}
if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
{
- $email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_HTML);
+ $email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
if ($name !== null || $email !== null || $uri !== null)
{
@@ -671,7 +655,7 @@ class SimplePie_Item
$email = null;
if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
{
- $name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_HTML);
+ $name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
{
@@ -679,7 +663,7 @@ class SimplePie_Item
}
if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
{
- $email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_HTML);
+ $email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
if ($name !== null || $email !== null || $url !== null)
{
@@ -688,19 +672,19 @@ class SimplePie_Item
}
if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'author'))
{
- $authors[] = $this->registry->create('Author', array(null, null, $this->sanitize($author[0]['data'], SIMPLEPIE_CONSTRUCT_HTML)));
+ $authors[] = $this->registry->create('Author', array(null, null, $this->sanitize($author[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT)));
}
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
{
- $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null));
+ $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
}
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
{
- $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null));
+ $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
}
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
{
- $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null));
+ $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
}
if (!empty($authors))
@@ -715,10 +699,8 @@ class SimplePie_Item
{
return $authors;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -743,10 +725,8 @@ class SimplePie_Item
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -825,10 +805,8 @@ class SimplePie_Item
return date($date_format, $this->data['date']['parsed']);
}
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -876,10 +854,8 @@ class SimplePie_Item
return date($date_format, $this->data['updated']['parsed']);
}
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -905,10 +881,8 @@ class SimplePie_Item
{
return strftime($date_format, $date);
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -969,10 +943,8 @@ class SimplePie_Item
{
return $enclosure->get_link();
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -990,10 +962,8 @@ class SimplePie_Item
{
return $links[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -1073,10 +1043,8 @@ class SimplePie_Item
{
return $this->data['links'][$rel];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -1096,10 +1064,8 @@ class SimplePie_Item
{
return $enclosures[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2896,7 +2862,6 @@ class SimplePie_Item
$width = null;
$url = $this->sanitize($enclosure[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($enclosure[0]));
- $url = $this->feed->sanitize->https_url($url); //FreshRSS
if (isset($enclosure[0]['attribs']['']['type']))
{
$type = $this->sanitize($enclosure[0]['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
@@ -2923,10 +2888,8 @@ class SimplePie_Item
{
return $this->data['enclosures'];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2951,10 +2914,8 @@ class SimplePie_Item
{
return (float) $match[1];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -2983,10 +2944,8 @@ class SimplePie_Item
{
return (float) $match[2];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -3001,10 +2960,7 @@ class SimplePie_Item
{
return $this->registry->create('Source', array($this, $return[0]));
}
- else
- {
- return null;
- }
+
+ return null;
}
}
-
diff --git a/lib/SimplePie/SimplePie/Locator.php b/lib/SimplePie/SimplePie/Locator.php
index bc314c2cd..3876a2da6 100644
--- a/lib/SimplePie/SimplePie/Locator.php
+++ b/lib/SimplePie/SimplePie/Locator.php
@@ -62,14 +62,18 @@ class SimplePie_Locator
var $base_location = 0;
var $checked_feeds = 0;
var $max_checked_feeds = 10;
+ var $force_fsockopen = false;
+ var $curl_options = array();
protected $registry;
- public function __construct(SimplePie_File $file, $timeout = 10, $useragent = null, $max_checked_feeds = 10)
+ public function __construct(SimplePie_File $file, $timeout = 10, $useragent = null, $max_checked_feeds = 10, $force_fsockopen = false, $curl_options = array())
{
$this->file = $file;
$this->useragent = $useragent;
$this->timeout = $timeout;
$this->max_checked_feeds = $max_checked_feeds;
+ $this->force_fsockopen = $force_fsockopen;
+ $this->curl_options = $curl_options;
if (class_exists('DOMDocument'))
{
@@ -154,14 +158,8 @@ class SimplePie_Locator
{
$mime_types[] = 'text/html';
}
- if (in_array($sniffed, $mime_types))
- {
- return true;
- }
- else
- {
- return false;
- }
+
+ return in_array($sniffed, $mime_types);
}
elseif ($file->method & SIMPLEPIE_FILE_SOURCE_LOCAL)
{
@@ -210,10 +208,8 @@ class SimplePie_Locator
{
return array_values($feeds);
}
- else
- {
- return null;
- }
+
+ return null;
}
protected function search_elements_by_tag($name, &$done, $feeds)
@@ -254,7 +250,7 @@ class SimplePie_Locator
$headers = array(
'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
);
- $feed = $this->registry->create('File', array($href, $this->timeout, 5, $headers, $this->useragent));
+ $feed = $this->registry->create('File', array($href, $this->timeout, 5, $headers, $this->useragent, $this->force_fsockopen, $this->curl_options));
if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed, true))
{
$feeds[$href] = $feed;
@@ -384,7 +380,7 @@ class SimplePie_Locator
$headers = array(
'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
);
- $feed = $this->registry->create('File', array($value, $this->timeout, 5, $headers, $this->useragent));
+ $feed = $this->registry->create('File', array($value, $this->timeout, 5, $headers, $this->useragent, $this->force_fsockopen, $this->curl_options));
if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed))
{
return array($feed);
@@ -412,7 +408,7 @@ class SimplePie_Locator
$headers = array(
'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
);
- $feed = $this->registry->create('File', array($value, $this->timeout, 5, null, $this->useragent));
+ $feed = $this->registry->create('File', array($value, $this->timeout, 5, null, $this->useragent, $this->force_fsockopen, $this->curl_options));
if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed))
{
return array($feed);
@@ -426,4 +422,3 @@ class SimplePie_Locator
return null;
}
}
-
diff --git a/lib/SimplePie/SimplePie/Misc.php b/lib/SimplePie/SimplePie/Misc.php
index 1f338623c..016a60ccc 100644
--- a/lib/SimplePie/SimplePie/Misc.php
+++ b/lib/SimplePie/SimplePie/Misc.php
@@ -221,10 +221,8 @@ class SimplePie_Misc
{
return substr_replace($url, 'itpc', 0, 4);
}
- else
- {
- return $url;
- }
+
+ return $url;
}
public static function array_merge_recursive($array1, $array2)
@@ -238,9 +236,9 @@ class SimplePie_Misc
else
{
$array1[$key] = $value;
- }
+ }
}
-
+
return $array1;
}
@@ -280,10 +278,8 @@ class SimplePie_Misc
{
return chr($integer);
}
- else
- {
- return strtoupper($match[0]);
- }
+
+ return strtoupper($match[0]);
}
/**
@@ -347,11 +343,9 @@ class SimplePie_Misc
{
return $return;
}
+
// If we can't do anything, just fail
- else
- {
- return false;
- }
+ return false;
}
protected static function change_encoding_mbstring($data, $input, $output)
@@ -1862,10 +1856,8 @@ class SimplePie_Misc
{
return trim($mime);
}
- else
- {
- return trim(substr($mime, 0, $pos));
- }
+
+ return trim(substr($mime, 0, $pos));
}
public static function atom_03_construct_type($attribs)
@@ -1898,10 +1890,8 @@ class SimplePie_Misc
return SIMPLEPIE_CONSTRUCT_NONE | $mode;
}
}
- else
- {
- return SIMPLEPIE_CONSTRUCT_TEXT | $mode;
- }
+
+ return SIMPLEPIE_CONSTRUCT_TEXT | $mode;
}
public static function atom_10_construct_type($attribs)
@@ -1960,10 +1950,8 @@ class SimplePie_Misc
return SIMPLEPIE_CONSTRUCT_BASE64;
}
}
- else
- {
- return SIMPLEPIE_CONSTRUCT_TEXT;
- }
+
+ return SIMPLEPIE_CONSTRUCT_TEXT;
}
public static function is_isegment_nz_nc($string)
@@ -2020,11 +2008,9 @@ class SimplePie_Misc
{
return chr(0xf0 | ($codepoint >> 18)) . chr(0x80 | (($codepoint >> 12) & 0x3f)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
}
- else
- {
- // U+FFFD REPLACEMENT CHARACTER
- return "\xEF\xBF\xBD";
- }
+
+ // U+FFFD REPLACEMENT CHARACTER
+ return "\xEF\xBF\xBD";
}
/**
@@ -2276,4 +2262,3 @@ function embed_wmedia(width, height, link) {
return preg_replace('#^(https?://)[^/:@]+:[^/:@]+@#i', '$1', $url);
}
}
-
diff --git a/lib/SimplePie/SimplePie/Net/IPv6.php b/lib/SimplePie/SimplePie/Net/IPv6.php
index 47658aff2..a054e8be5 100644
--- a/lib/SimplePie/SimplePie/Net/IPv6.php
+++ b/lib/SimplePie/SimplePie/Net/IPv6.php
@@ -173,10 +173,8 @@ class SimplePie_Net_IPv6
{
return implode(':', $ip_parts);
}
- else
- {
- return $ip_parts[0];
- }
+
+ return $ip_parts[0];
}
/**
@@ -200,10 +198,8 @@ class SimplePie_Net_IPv6
$ipv4_part = substr($ip, $pos + 1);
return array($ipv6_part, $ipv4_part);
}
- else
- {
- return array($ip, '');
- }
+
+ return array($ip, '');
}
/**
@@ -253,10 +249,8 @@ class SimplePie_Net_IPv6
}
return true;
}
- else
- {
- return false;
- }
+
+ return false;
}
/**
diff --git a/lib/SimplePie/SimplePie/Parse/Date.php b/lib/SimplePie/SimplePie/Parse/Date.php
index 1f2156655..b29274c64 100644
--- a/lib/SimplePie/SimplePie/Parse/Date.php
+++ b/lib/SimplePie/SimplePie/Parse/Date.php
@@ -694,10 +694,8 @@ class SimplePie_Parse_Date
return gmmktime($match[4], $match[5], $second, $match[2], $match[3], $match[1]) - $timezone;
}
- else
- {
- return false;
- }
+
+ return false;
}
/**
@@ -848,10 +846,8 @@ class SimplePie_Parse_Date
return gmmktime($match[5], $match[6], $second, $month, $match[2], $match[4]) - $timezone;
}
- else
- {
- return false;
- }
+
+ return false;
}
/**
@@ -913,10 +909,8 @@ class SimplePie_Parse_Date
return gmmktime($match[5], $match[6], $match[7], $month, $match[2], $match[4]) - $timezone;
}
- else
- {
- return false;
- }
+
+ return false;
}
/**
@@ -955,10 +949,8 @@ class SimplePie_Parse_Date
$month = $this->month[strtolower($match[2])];
return gmmktime($match[4], $match[5], $match[6], $month, $match[3], $match[7]);
}
- else
- {
- return false;
- }
+
+ return false;
}
/**
@@ -974,10 +966,7 @@ class SimplePie_Parse_Date
{
return false;
}
- else
- {
- return $strtotime;
- }
+
+ return $strtotime;
}
}
-
diff --git a/lib/SimplePie/SimplePie/Parser.php b/lib/SimplePie/SimplePie/Parser.php
index bdcc1a516..f9918334c 100644
--- a/lib/SimplePie/SimplePie/Parser.php
+++ b/lib/SimplePie/SimplePie/Parser.php
@@ -74,7 +74,7 @@ class SimplePie_Parser
$this->registry = $registry;
}
- public function parse(&$data, $encoding)
+ public function parse(&$data, $encoding, $url = '')
{
$xmlEncoding = '';
@@ -193,76 +193,72 @@ class SimplePie_Parser
xml_parser_free($xml);
return $return;
}
- else
+
+ libxml_clear_errors();
+ $xml = new XMLReader();
+ $xml->xml($data);
+ while (@$xml->read())
{
- libxml_clear_errors();
- $xml = new XMLReader();
- $xml->xml($data);
- while (@$xml->read())
+ switch ($xml->nodeType)
{
- switch ($xml->nodeType)
- {
- case constant('XMLReader::END_ELEMENT'):
+ case constant('XMLReader::END_ELEMENT'):
+ if ($xml->namespaceURI !== '')
+ {
+ $tagName = $xml->namespaceURI . $this->separator . $xml->localName;
+ }
+ else
+ {
+ $tagName = $xml->localName;
+ }
+ $this->tag_close(null, $tagName);
+ break;
+ case constant('XMLReader::ELEMENT'):
+ $empty = $xml->isEmptyElement;
+ if ($xml->namespaceURI !== '')
+ {
+ $tagName = $xml->namespaceURI . $this->separator . $xml->localName;
+ }
+ else
+ {
+ $tagName = $xml->localName;
+ }
+ $attributes = array();
+ while ($xml->moveToNextAttribute())
+ {
if ($xml->namespaceURI !== '')
{
- $tagName = $xml->namespaceURI . $this->separator . $xml->localName;
+ $attrName = $xml->namespaceURI . $this->separator . $xml->localName;
}
else
{
- $tagName = $xml->localName;
+ $attrName = $xml->localName;
}
+ $attributes[$attrName] = $xml->value;
+ }
+ $this->tag_open(null, $tagName, $attributes);
+ if ($empty)
+ {
$this->tag_close(null, $tagName);
- break;
- case constant('XMLReader::ELEMENT'):
- $empty = $xml->isEmptyElement;
- if ($xml->namespaceURI !== '')
- {
- $tagName = $xml->namespaceURI . $this->separator . $xml->localName;
- }
- else
- {
- $tagName = $xml->localName;
- }
- $attributes = array();
- while ($xml->moveToNextAttribute())
- {
- if ($xml->namespaceURI !== '')
- {
- $attrName = $xml->namespaceURI . $this->separator . $xml->localName;
- }
- else
- {
- $attrName = $xml->localName;
- }
- $attributes[$attrName] = $xml->value;
- }
- $this->tag_open(null, $tagName, $attributes);
- if ($empty)
- {
- $this->tag_close(null, $tagName);
- }
- break;
- case constant('XMLReader::TEXT'):
+ }
+ break;
+ case constant('XMLReader::TEXT'):
- case constant('XMLReader::CDATA'):
- $this->cdata(null, $xml->value);
- break;
- }
- }
- if ($error = libxml_get_last_error())
- {
- $this->error_code = $error->code;
- $this->error_string = $error->message;
- $this->current_line = $error->line;
- $this->current_column = $error->column;
- return false;
- }
- else
- {
- return true;
+ case constant('XMLReader::CDATA'):
+ $this->cdata(null, $xml->value);
+ break;
}
}
+ if ($error = libxml_get_last_error())
+ {
+ $this->error_code = $error->code;
+ $this->error_string = $error->message;
+ $this->current_line = $error->line;
+ $this->current_column = $error->column;
+ return false;
+ }
+
+ return true;
}
public function get_error_code()
@@ -473,7 +469,7 @@ class SimplePie_Parser
$h_feed = $mf_item;
break;
}
- // Also look for an h-feed in the children of each top level item.
+ // Also look for h-feed or h-entry in the children of each top level item.
if (!isset($mf_item['children'][0]['type'])) continue;
if (in_array('h-feed', $mf_item['children'][0]['type'])) {
$h_feed = $mf_item['children'][0];
@@ -482,6 +478,13 @@ class SimplePie_Parser
if (in_array('h-card', $mf_item['type'])) $feed_author = $mf_item;
break;
}
+ else if (in_array('h-entry', $mf_item['children'][0]['type'])) {
+ $entries = $mf_item['children'];
+ // In this case the parent of the h-entry list may be an h-card, so use
+ // it as the feed_author.
+ if (in_array('h-card', $mf_item['type'])) $feed_author = $mf_item;
+ break;
+ }
}
if (isset($h_feed['children'])) {
$entries = $h_feed['children'];
@@ -493,7 +496,7 @@ class SimplePie_Parser
$feed_author = $mf['items'][0]['properties']['author'][0];
}
}
- else {
+ else if (count($entries) === 0) {
$entries = $mf['items'];
}
for ($i = 0; $i < count($entries); $i++) {
@@ -562,18 +565,21 @@ class SimplePie_Parser
$photo_list = array();
for ($j = 0; $j < count($entry['properties']['photo']); $j++) {
$photo = $entry['properties']['photo'][$j];
- if (strpos($content, $photo) === false) {
+ if (!empty($photo) && strpos($content, $photo) === false) {
$photo_list[] = $photo;
}
}
// When there's more than one photo show the first and use a lightbox.
+ // Need a permanent, unique name for the image set, but don't have
+ // anything unique except for the content itself, so use that.
$count = count($photo_list);
if ($count > 1) {
+ $image_set_id = preg_replace('/[[:^alnum:]]/', '', $photo_list[0]);
$description = '<p>';
for ($j = 0; $j < $count; $j++) {
$hidden = $j === 0 ? '' : 'class="hidden" ';
$description .= '<a href="'.$photo_list[$j].'" '.$hidden.
- 'data-lightbox="image-set-'.$i.'">'.
+ 'data-lightbox="image-set-'.$image_set_id.'">'.
'<img src="'.$photo_list[$j].'"></a>';
}
$description .= '<br><b>'.$count.' photos</b></p>';
@@ -591,10 +597,18 @@ class SimplePie_Parser
$item['title'] = array(array('data' => $title));
}
$description .= $entry['properties']['content'][0]['html'];
- if (isset($entry['properties']['in-reply-to'][0]['value'])) {
- $in_reply_to = $entry['properties']['in-reply-to'][0]['value'];
- $description .= '<p><span class="in-reply-to"></span> '.
- '<a href="'.$in_reply_to.'">'.$in_reply_to.'</a><p>';
+ if (isset($entry['properties']['in-reply-to'][0])) {
+ $in_reply_to = '';
+ if (is_string($entry['properties']['in-reply-to'][0])) {
+ $in_reply_to = $entry['properties']['in-reply-to'][0];
+ }
+ else if (isset($entry['properties']['in-reply-to'][0]['value'])) {
+ $in_reply_to = $entry['properties']['in-reply-to'][0]['value'];
+ }
+ if ($in_reply_to !== '') {
+ $description .= '<p><span class="in-reply-to"></span> '.
+ '<a href="'.$in_reply_to.'">'.$in_reply_to.'</a><p>';
+ }
}
$item['description'] = array(array('data' => $description));
}
@@ -635,7 +649,7 @@ class SimplePie_Parser
$image = array(array('child' => array('' => array('url' =>
array(array('data' => $feed_author['properties']['photo'][0]))))));
}
- // Use the a name given for the h-feed, or get the title from the html.
+ // Use the name given for the h-feed, or get the title from the html.
if ($feed_title !== '') {
$feed_title = array(array('data' => htmlspecialchars($feed_title)));
}
@@ -661,4 +675,4 @@ class SimplePie_Parser
// html is allowed, but the xml specification says they must be declared.
return '<!DOCTYPE html [ <!ENTITY nbsp "&#x00A0;"> <!ENTITY iexcl "&#x00A1;"> <!ENTITY cent "&#x00A2;"> <!ENTITY pound "&#x00A3;"> <!ENTITY curren "&#x00A4;"> <!ENTITY yen "&#x00A5;"> <!ENTITY brvbar "&#x00A6;"> <!ENTITY sect "&#x00A7;"> <!ENTITY uml "&#x00A8;"> <!ENTITY copy "&#x00A9;"> <!ENTITY ordf "&#x00AA;"> <!ENTITY laquo "&#x00AB;"> <!ENTITY not "&#x00AC;"> <!ENTITY shy "&#x00AD;"> <!ENTITY reg "&#x00AE;"> <!ENTITY macr "&#x00AF;"> <!ENTITY deg "&#x00B0;"> <!ENTITY plusmn "&#x00B1;"> <!ENTITY sup2 "&#x00B2;"> <!ENTITY sup3 "&#x00B3;"> <!ENTITY acute "&#x00B4;"> <!ENTITY micro "&#x00B5;"> <!ENTITY para "&#x00B6;"> <!ENTITY middot "&#x00B7;"> <!ENTITY cedil "&#x00B8;"> <!ENTITY sup1 "&#x00B9;"> <!ENTITY ordm "&#x00BA;"> <!ENTITY raquo "&#x00BB;"> <!ENTITY frac14 "&#x00BC;"> <!ENTITY frac12 "&#x00BD;"> <!ENTITY frac34 "&#x00BE;"> <!ENTITY iquest "&#x00BF;"> <!ENTITY Agrave "&#x00C0;"> <!ENTITY Aacute "&#x00C1;"> <!ENTITY Acirc "&#x00C2;"> <!ENTITY Atilde "&#x00C3;"> <!ENTITY Auml "&#x00C4;"> <!ENTITY Aring "&#x00C5;"> <!ENTITY AElig "&#x00C6;"> <!ENTITY Ccedil "&#x00C7;"> <!ENTITY Egrave "&#x00C8;"> <!ENTITY Eacute "&#x00C9;"> <!ENTITY Ecirc "&#x00CA;"> <!ENTITY Euml "&#x00CB;"> <!ENTITY Igrave "&#x00CC;"> <!ENTITY Iacute "&#x00CD;"> <!ENTITY Icirc "&#x00CE;"> <!ENTITY Iuml "&#x00CF;"> <!ENTITY ETH "&#x00D0;"> <!ENTITY Ntilde "&#x00D1;"> <!ENTITY Ograve "&#x00D2;"> <!ENTITY Oacute "&#x00D3;"> <!ENTITY Ocirc "&#x00D4;"> <!ENTITY Otilde "&#x00D5;"> <!ENTITY Ouml "&#x00D6;"> <!ENTITY times "&#x00D7;"> <!ENTITY Oslash "&#x00D8;"> <!ENTITY Ugrave "&#x00D9;"> <!ENTITY Uacute "&#x00DA;"> <!ENTITY Ucirc "&#x00DB;"> <!ENTITY Uuml "&#x00DC;"> <!ENTITY Yacute "&#x00DD;"> <!ENTITY THORN "&#x00DE;"> <!ENTITY szlig "&#x00DF;"> <!ENTITY agrave "&#x00E0;"> <!ENTITY aacute "&#x00E1;"> <!ENTITY acirc "&#x00E2;"> <!ENTITY atilde "&#x00E3;"> <!ENTITY auml "&#x00E4;"> <!ENTITY aring "&#x00E5;"> <!ENTITY aelig "&#x00E6;"> <!ENTITY ccedil "&#x00E7;"> <!ENTITY egrave "&#x00E8;"> <!ENTITY eacute "&#x00E9;"> <!ENTITY ecirc "&#x00EA;"> <!ENTITY euml "&#x00EB;"> <!ENTITY igrave "&#x00EC;"> <!ENTITY iacute "&#x00ED;"> <!ENTITY icirc "&#x00EE;"> <!ENTITY iuml "&#x00EF;"> <!ENTITY eth "&#x00F0;"> <!ENTITY ntilde "&#x00F1;"> <!ENTITY ograve "&#x00F2;"> <!ENTITY oacute "&#x00F3;"> <!ENTITY ocirc "&#x00F4;"> <!ENTITY otilde "&#x00F5;"> <!ENTITY ouml "&#x00F6;"> <!ENTITY divide "&#x00F7;"> <!ENTITY oslash "&#x00F8;"> <!ENTITY ugrave "&#x00F9;"> <!ENTITY uacute "&#x00FA;"> <!ENTITY ucirc "&#x00FB;"> <!ENTITY uuml "&#x00FC;"> <!ENTITY yacute "&#x00FD;"> <!ENTITY thorn "&#x00FE;"> <!ENTITY yuml "&#x00FF;"> <!ENTITY OElig "&#x0152;"> <!ENTITY oelig "&#x0153;"> <!ENTITY Scaron "&#x0160;"> <!ENTITY scaron "&#x0161;"> <!ENTITY Yuml "&#x0178;"> <!ENTITY fnof "&#x0192;"> <!ENTITY circ "&#x02C6;"> <!ENTITY tilde "&#x02DC;"> <!ENTITY Alpha "&#x0391;"> <!ENTITY Beta "&#x0392;"> <!ENTITY Gamma "&#x0393;"> <!ENTITY Epsilon "&#x0395;"> <!ENTITY Zeta "&#x0396;"> <!ENTITY Eta "&#x0397;"> <!ENTITY Theta "&#x0398;"> <!ENTITY Iota "&#x0399;"> <!ENTITY Kappa "&#x039A;"> <!ENTITY Lambda "&#x039B;"> <!ENTITY Mu "&#x039C;"> <!ENTITY Nu "&#x039D;"> <!ENTITY Xi "&#x039E;"> <!ENTITY Omicron "&#x039F;"> <!ENTITY Pi "&#x03A0;"> <!ENTITY Rho "&#x03A1;"> <!ENTITY Sigma "&#x03A3;"> <!ENTITY Tau "&#x03A4;"> <!ENTITY Upsilon "&#x03A5;"> <!ENTITY Phi "&#x03A6;"> <!ENTITY Chi "&#x03A7;"> <!ENTITY Psi "&#x03A8;"> <!ENTITY Omega "&#x03A9;"> <!ENTITY alpha "&#x03B1;"> <!ENTITY beta "&#x03B2;"> <!ENTITY gamma "&#x03B3;"> <!ENTITY delta "&#x03B4;"> <!ENTITY epsilon "&#x03B5;"> <!ENTITY zeta "&#x03B6;"> <!ENTITY eta "&#x03B7;"> <!ENTITY theta "&#x03B8;"> <!ENTITY iota "&#x03B9;"> <!ENTITY kappa "&#x03BA;"> <!ENTITY lambda "&#x03BB;"> <!ENTITY mu "&#x03BC;"> <!ENTITY nu "&#x03BD;"> <!ENTITY xi "&#x03BE;"> <!ENTITY omicron "&#x03BF;"> <!ENTITY pi "&#x03C0;"> <!ENTITY rho "&#x03C1;"> <!ENTITY sigmaf "&#x03C2;"> <!ENTITY sigma "&#x03C3;"> <!ENTITY tau "&#x03C4;"> <!ENTITY upsilon "&#x03C5;"> <!ENTITY phi "&#x03C6;"> <!ENTITY chi "&#x03C7;"> <!ENTITY psi "&#x03C8;"> <!ENTITY omega "&#x03C9;"> <!ENTITY thetasym "&#x03D1;"> <!ENTITY upsih "&#x03D2;"> <!ENTITY piv "&#x03D6;"> <!ENTITY ensp "&#x2002;"> <!ENTITY emsp "&#x2003;"> <!ENTITY thinsp "&#x2009;"> <!ENTITY zwnj "&#x200C;"> <!ENTITY zwj "&#x200D;"> <!ENTITY lrm "&#x200E;"> <!ENTITY rlm "&#x200F;"> <!ENTITY ndash "&#x2013;"> <!ENTITY mdash "&#x2014;"> <!ENTITY lsquo "&#x2018;"> <!ENTITY rsquo "&#x2019;"> <!ENTITY sbquo "&#x201A;"> <!ENTITY ldquo "&#x201C;"> <!ENTITY rdquo "&#x201D;"> <!ENTITY bdquo "&#x201E;"> <!ENTITY dagger "&#x2020;"> <!ENTITY Dagger "&#x2021;"> <!ENTITY bull "&#x2022;"> <!ENTITY hellip "&#x2026;"> <!ENTITY permil "&#x2030;"> <!ENTITY prime "&#x2032;"> <!ENTITY Prime "&#x2033;"> <!ENTITY lsaquo "&#x2039;"> <!ENTITY rsaquo "&#x203A;"> <!ENTITY oline "&#x203E;"> <!ENTITY frasl "&#x2044;"> <!ENTITY euro "&#x20AC;"> <!ENTITY image "&#x2111;"> <!ENTITY weierp "&#x2118;"> <!ENTITY real "&#x211C;"> <!ENTITY trade "&#x2122;"> <!ENTITY alefsym "&#x2135;"> <!ENTITY larr "&#x2190;"> <!ENTITY uarr "&#x2191;"> <!ENTITY rarr "&#x2192;"> <!ENTITY darr "&#x2193;"> <!ENTITY harr "&#x2194;"> <!ENTITY crarr "&#x21B5;"> <!ENTITY lArr "&#x21D0;"> <!ENTITY uArr "&#x21D1;"> <!ENTITY rArr "&#x21D2;"> <!ENTITY dArr "&#x21D3;"> <!ENTITY hArr "&#x21D4;"> <!ENTITY forall "&#x2200;"> <!ENTITY part "&#x2202;"> <!ENTITY exist "&#x2203;"> <!ENTITY empty "&#x2205;"> <!ENTITY nabla "&#x2207;"> <!ENTITY isin "&#x2208;"> <!ENTITY notin "&#x2209;"> <!ENTITY ni "&#x220B;"> <!ENTITY prod "&#x220F;"> <!ENTITY sum "&#x2211;"> <!ENTITY minus "&#x2212;"> <!ENTITY lowast "&#x2217;"> <!ENTITY radic "&#x221A;"> <!ENTITY prop "&#x221D;"> <!ENTITY infin "&#x221E;"> <!ENTITY ang "&#x2220;"> <!ENTITY and "&#x2227;"> <!ENTITY or "&#x2228;"> <!ENTITY cap "&#x2229;"> <!ENTITY cup "&#x222A;"> <!ENTITY int "&#x222B;"> <!ENTITY there4 "&#x2234;"> <!ENTITY sim "&#x223C;"> <!ENTITY cong "&#x2245;"> <!ENTITY asymp "&#x2248;"> <!ENTITY ne "&#x2260;"> <!ENTITY equiv "&#x2261;"> <!ENTITY le "&#x2264;"> <!ENTITY ge "&#x2265;"> <!ENTITY sub "&#x2282;"> <!ENTITY sup "&#x2283;"> <!ENTITY nsub "&#x2284;"> <!ENTITY sube "&#x2286;"> <!ENTITY supe "&#x2287;"> <!ENTITY oplus "&#x2295;"> <!ENTITY otimes "&#x2297;"> <!ENTITY perp "&#x22A5;"> <!ENTITY sdot "&#x22C5;"> <!ENTITY lceil "&#x2308;"> <!ENTITY rceil "&#x2309;"> <!ENTITY lfloor "&#x230A;"> <!ENTITY rfloor "&#x230B;"> <!ENTITY lang "&#x2329;"> <!ENTITY rang "&#x232A;"> <!ENTITY loz "&#x25CA;"> <!ENTITY spades "&#x2660;"> <!ENTITY clubs "&#x2663;"> <!ENTITY hearts "&#x2665;"> <!ENTITY diams "&#x2666;"> ]>';
}
-} \ No newline at end of file
+}
diff --git a/lib/SimplePie/SimplePie/Rating.php b/lib/SimplePie/SimplePie/Rating.php
index eaf57080c..108dd22bf 100644
--- a/lib/SimplePie/SimplePie/Rating.php
+++ b/lib/SimplePie/SimplePie/Rating.php
@@ -103,10 +103,8 @@ class SimplePie_Rating
{
return $this->scheme;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -120,9 +118,7 @@ class SimplePie_Rating
{
return $this->value;
}
- else
- {
- return null;
- }
+
+ return null;
}
}
diff --git a/lib/SimplePie/SimplePie/Restriction.php b/lib/SimplePie/SimplePie/Restriction.php
index 001a5cd28..803d84fde 100644
--- a/lib/SimplePie/SimplePie/Restriction.php
+++ b/lib/SimplePie/SimplePie/Restriction.php
@@ -112,10 +112,8 @@ class SimplePie_Restriction
{
return $this->relationship;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -129,10 +127,8 @@ class SimplePie_Restriction
{
return $this->type;
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -146,9 +142,7 @@ class SimplePie_Restriction
{
return $this->value;
}
- else
- {
- return null;
- }
+
+ return null;
}
}
diff --git a/lib/SimplePie/SimplePie/Sanitize.php b/lib/SimplePie/SimplePie/Sanitize.php
index c55ee50b7..8b7e57926 100644
--- a/lib/SimplePie/SimplePie/Sanitize.php
+++ b/lib/SimplePie/SimplePie/Sanitize.php
@@ -429,7 +429,7 @@ class SimplePie_Sanitize
}
else
{
- trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
+ trigger_error("$this->cache_location is not writable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
}
}
}
diff --git a/lib/SimplePie/SimplePie/Source.php b/lib/SimplePie/SimplePie/Source.php
index 1a66a392d..8fac13ef7 100644
--- a/lib/SimplePie/SimplePie/Source.php
+++ b/lib/SimplePie/SimplePie/Source.php
@@ -79,10 +79,8 @@ class SimplePie_Source
{
return $this->data['child'][$namespace][$tag];
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_base($element = array())
@@ -130,10 +128,8 @@ class SimplePie_Source
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_category($key = 0)
@@ -143,10 +139,8 @@ class SimplePie_Source
{
return $categories[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_categories()
@@ -200,10 +194,8 @@ class SimplePie_Source
{
return array_unique($categories);
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_author($key = 0)
@@ -213,10 +205,8 @@ class SimplePie_Source
{
return $authors[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_authors()
@@ -283,10 +273,8 @@ class SimplePie_Source
{
return array_unique($authors);
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_contributor($key = 0)
@@ -296,10 +284,8 @@ class SimplePie_Source
{
return $contributors[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_contributors()
@@ -354,10 +340,8 @@ class SimplePie_Source
{
return array_unique($contributors);
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_link($key = 0, $rel = 'alternate')
@@ -367,10 +351,8 @@ class SimplePie_Source
{
return $links[$key];
}
- else
- {
- return null;
- }
+
+ return null;
}
/**
@@ -449,10 +431,8 @@ class SimplePie_Source
{
return $this->data['links'][$rel];
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_description()
@@ -493,10 +473,8 @@ class SimplePie_Source
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_copyright()
@@ -521,10 +499,8 @@ class SimplePie_Source
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_language()
@@ -545,10 +521,8 @@ class SimplePie_Source
{
return $this->sanitize($this->data['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_latitude()
@@ -561,10 +535,8 @@ class SimplePie_Source
{
return (float) $match[1];
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_longitude()
@@ -581,10 +553,8 @@ class SimplePie_Source
{
return (float) $match[2];
}
- else
- {
- return null;
- }
+
+ return null;
}
public function get_image_url()
@@ -601,10 +571,7 @@ class SimplePie_Source
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
}
- else
- {
- return null;
- }
+
+ return null;
}
}
-
diff --git a/lib/SimplePie/SimplePie/XML/Declaration/Parser.php b/lib/SimplePie/SimplePie/XML/Declaration/Parser.php
index 99e751672..18ca1b79b 100644
--- a/lib/SimplePie/SimplePie/XML/Declaration/Parser.php
+++ b/lib/SimplePie/SimplePie/XML/Declaration/Parser.php
@@ -136,13 +136,11 @@ class SimplePie_XML_Declaration_Parser
{
return true;
}
- else
- {
- $this->version = '';
- $this->encoding = '';
- $this->standalone = '';
- return false;
- }
+
+ $this->version = '';
+ $this->encoding = '';
+ $this->standalone = '';
+ return false;
}
/**
diff --git a/lib/SimplePie/SimplePie/gzdecode.php b/lib/SimplePie/SimplePie/gzdecode.php
index 0e8bc8fc6..f4aeafa28 100644
--- a/lib/SimplePie/SimplePie/gzdecode.php
+++ b/lib/SimplePie/SimplePie/gzdecode.php
@@ -338,10 +338,8 @@ class SimplePie_gzdecode
{
return false;
}
- else
- {
- $this->position = $this->compressed_size - 8;
- }
+
+ $this->position = $this->compressed_size - 8;
// Check CRC of data
$crc = current(unpack('V', substr($this->compressed_data, $this->position, 4)));
@@ -362,9 +360,7 @@ class SimplePie_gzdecode
// Wow, against all odds, we've actually got a valid gzip string
return true;
}
- else
- {
- return false;
- }
+
+ return false;
}
}
diff --git a/lib/lib_rss.php b/lib/lib_rss.php
index 4087f6faf..333920c8c 100644
--- a/lib/lib_rss.php
+++ b/lib/lib_rss.php
@@ -102,6 +102,23 @@ function safe_ascii($text) {
return filter_var($text, FILTER_DEFAULT, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH);
}
+function escapeToUnicodeAlternative($text, $extended = true) {
+ $text = htmlspecialchars_decode($text, ENT_QUOTES);
+
+ //Problematic characters
+ $problem = array('&', '<', '>');
+ //Use their fullwidth Unicode form instead:
+ $replace = array('&', '<', '>');
+
+ // https://raw.githubusercontent.com/mihaip/google-reader-api/master/wiki/StreamId.wiki
+ if ($extended) {
+ $problem += array("'", '"', '^', '?', '\\', '/', ',', ';');
+ $replace += array("’", '"', '^', '?', '\', '/', ',', ';');
+ }
+
+ return trim(str_replace($problem, $replace, $text));
+}
+
/**
* Test if a given server address is publicly accessible.
*
@@ -209,6 +226,7 @@ function customSimplePie($attributes = array()) {
'font', 'form', 'frame', 'frameset', 'html',
'link', 'input', 'marquee', 'meta', 'noscript',
'object', 'param', 'plaintext', 'script', 'style',
+ 'svg', //TODO: Support SVG after sanitizing and URL rewriting of xlink:href
));
$simplePie->strip_attributes(array_merge($simplePie->strip_attributes, array(
'autoplay', 'class', 'onload', 'onunload', 'onclick', 'ondblclick', 'onmousedown', 'onmouseup',