FeedOnFeeds/simplepie/simplepie.php.diff

1122 lines
54 KiB
Diff

Patch for fucking SimplePie feed parser.
* Change timeout to 60
* Strip less HTML
* Remove =&
* Pass additional HTTP headers
* Env proxy support (through curl-env-proxy.php), SSL, HTTP basic auth
* Allow file:///// links
--- simplepie.php 2011-06-28 21:06:45.000000000 +0400
+++ simplepie.php 2011-06-28 21:05:59.000000000 +0400
@@ -43,6 +43,10 @@
* @todo phpDoc comments
*/
+/* added by FoF (vitalif@yourcmc.ru) to enable environment proxy settings support */
+/* fucking cURL doesn't support this by default */
+require_once(dirname(dirname(__FILE__)).'/curl-env-proxy.php');
+
/**
* SimplePie Name
*/
@@ -446,7 +450,7 @@ class SimplePie
* @see SimplePie::set_timeout()
* @access private
*/
- var $timeout = 10;
+ var $timeout = 60;
/**
* @var bool Forces fsockopen() to be used for remote files instead
@@ -708,7 +712,13 @@ class SimplePie
* @see SimplePie::strip_htmltags()
* @access private
*/
- var $strip_htmltags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style');
+ var $strip_htmltags = array('base', 'blink', 'body', 'doctype', 'font', 'form', 'frame', 'frameset', 'html', 'input', 'marquee', 'meta', 'noscript', 'script', 'style');
+
+ /**
+ * @var array Additional HTTP headers to retrieve feed
+ * @access public
+ */
+ var $headers = array();
/**
* The SimplePie class contains feed level data and options
@@ -734,7 +744,7 @@ class SimplePie
function SimplePie($feed_url = null, $cache_location = null, $cache_duration = null)
{
// Other objects, instances created here so we can set options on them
- $this->sanitize =& new SimplePie_Sanitize;
+ $this->sanitize = new SimplePie_Sanitize;
// Set options if they're passed to the constructor
if ($cache_location !== null)
@@ -1104,7 +1114,7 @@ class SimplePie
{
if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Sanitize'))
{
- $this->sanitize =& new $class;
+ $this->sanitize = new $class;
return true;
}
return false;
@@ -1533,6 +1543,7 @@ class SimplePie
if ($this->feed_url !== null || $this->raw_data !== null)
{
+ $headers = $this->headers;
$this->data = array();
$this->multifeed_objects = array();
$cache = false;
@@ -1589,7 +1600,6 @@ class SimplePie
// If we have last-modified and/or etag set
if (isset($this->data['headers']['last-modified']) || isset($this->data['headers']['etag']))
{
- $headers = array();
if (isset($this->data['headers']['last-modified']))
{
$headers['if-modified-since'] = $this->data['headers']['last-modified'];
@@ -1598,7 +1608,7 @@ class SimplePie
{
$headers['if-none-match'] = '"' . $this->data['headers']['etag'] . '"';
}
- $file =& new $this->file_class($this->feed_url, $this->timeout/10, 5, $headers, $this->useragent, $this->force_fsockopen);
+ $file = new $this->file_class($this->feed_url, $this->timeout/10, 5, $headers, $this->useragent, $this->force_fsockopen);
if ($file->success)
{
if ($file->status_code === 304)
@@ -1639,7 +1649,7 @@ class SimplePie
}
else
{
- $file =& new $this->file_class($this->feed_url, $this->timeout, 5, null, $this->useragent, $this->force_fsockopen);
+ $file = new $this->file_class($this->feed_url, $this->timeout, 5, $headers, $this->useragent, $this->force_fsockopen);
}
}
// If the file connection has an error, set SimplePie::error to that and quit
@@ -1659,9 +1669,16 @@ class SimplePie
if (!$this->force_feed)
{
// Check if the supplied URL is a feed, if it isn't, look for it.
- $locate =& new $this->locator_class($file, $this->timeout, $this->useragent, $this->file_class, $this->max_checked_feeds, $this->content_type_sniffer_class);
+ $locate = new $this->locator_class($file, $this->timeout, $this->useragent, $this->file_class, $this->max_checked_feeds, $this->content_type_sniffer_class);
+ $locate->headers = $headers;
if (!$locate->is_feed($file))
{
+ if ($file->status_code == 401)
+ {
+ $this->error = "HTTP 401 Unauthorized. Retry with correct login/password";
+ SimplePie_Misc::error($this->error, E_USER_NOTICE, __FILE__, __LINE__);
+ return false;
+ }
// We need to unset this so that if SimplePie::set_file() has been called that object is untouched
unset($file);
if ($file = $locate->find($this->autodiscovery, $this->all_discovered_feeds))
@@ -1689,7 +1706,7 @@ class SimplePie
$headers = $file->headers;
$data = $file->body;
- $sniffer =& new $this->content_type_sniffer_class($file);
+ $sniffer = new $this->content_type_sniffer_class($file);
$sniffed = $sniffer->get_type();
}
else
@@ -1759,7 +1776,7 @@ class SimplePie
if ($utf8_data = SimplePie_Misc::change_encoding($data, $encoding, 'UTF-8'))
{
// Create new parser
- $parser =& new $this->parser_class();
+ $parser = new $this->parser_class();
// If it's parsed fine
if ($parser->parse($utf8_data, 'UTF-8'))
@@ -1970,11 +1987,11 @@ class SimplePie
}
else
{
- $file =& new $this->file_class($favicon, $this->timeout / 10, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen);
+ $file = new $this->file_class($favicon, $this->timeout / 10, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen);
if ($file->success && ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)) && strlen($file->body) > 0)
{
- $sniffer =& new $this->content_type_sniffer_class($file);
+ $sniffer = new $this->content_type_sniffer_class($file);
if (substr($sniffer->get_type(), 0, 6) === 'image/')
{
if ($cache->save(array('headers' => $file->headers, 'body' => $file->body)))
@@ -2373,7 +2390,7 @@ class SimplePie
{
$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $categories[] =& new $this->category_class($term, $scheme, $label);
+ $categories[] = new $this->category_class($term, $scheme, $label);
}
foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
{
@@ -2388,15 +2405,15 @@ class SimplePie
{
$scheme = null;
}
- $categories[] =& new $this->category_class($term, $scheme, null);
+ $categories[] = new $this->category_class($term, $scheme, null);
}
foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
{
- $categories[] =& new $this->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $categories[] = new $this->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
{
- $categories[] =& new $this->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $categories[] = new $this->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
if (!empty($categories))
@@ -2444,7 +2461,7 @@ class SimplePie
}
if ($name !== null || $email !== null || $uri !== null)
{
- $authors[] =& new $this->author_class($name, $uri, $email);
+ $authors[] = new $this->author_class($name, $uri, $email);
}
}
if ($author = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
@@ -2466,20 +2483,20 @@ class SimplePie
}
if ($name !== null || $email !== null || $url !== null)
{
- $authors[] =& new $this->author_class($name, $url, $email);
+ $authors[] = new $this->author_class($name, $url, $email);
}
}
foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
{
- $authors[] =& new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $authors[] = new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
{
- $authors[] =& new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $authors[] = new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
{
- $authors[] =& new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $authors[] = new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
if (!empty($authors))
@@ -2527,7 +2544,7 @@ class SimplePie
}
if ($name !== null || $email !== null || $uri !== null)
{
- $contributors[] =& new $this->author_class($name, $uri, $email);
+ $contributors[] = new $this->author_class($name, $uri, $email);
}
}
foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
@@ -2549,7 +2566,7 @@ class SimplePie
}
if ($name !== null || $email !== null || $url !== null)
{
- $contributors[] =& new $this->author_class($name, $url, $email);
+ $contributors[] = new $this->author_class($name, $url, $email);
}
}
@@ -2962,7 +2979,7 @@ class SimplePie
$keys = array_keys($items);
foreach ($keys as $key)
{
- $this->data['items'][] =& new $this->item_class($this, $items[$key]);
+ $this->data['items'][] = new $this->item_class($this, $items[$key]);
}
}
if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'entry'))
@@ -2970,7 +2987,7 @@ class SimplePie
$keys = array_keys($items);
foreach ($keys as $key)
{
- $this->data['items'][] =& new $this->item_class($this, $items[$key]);
+ $this->data['items'][] = new $this->item_class($this, $items[$key]);
}
}
if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'item'))
@@ -2978,7 +2995,7 @@ class SimplePie
$keys = array_keys($items);
foreach ($keys as $key)
{
- $this->data['items'][] =& new $this->item_class($this, $items[$key]);
+ $this->data['items'][] = new $this->item_class($this, $items[$key]);
}
}
if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'item'))
@@ -2986,7 +3003,7 @@ class SimplePie
$keys = array_keys($items);
foreach ($keys as $key)
{
- $this->data['items'][] =& new $this->item_class($this, $items[$key]);
+ $this->data['items'][] = new $this->item_class($this, $items[$key]);
}
}
if ($items = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'item'))
@@ -2994,7 +3011,7 @@ class SimplePie
$keys = array_keys($items);
foreach ($keys as $key)
{
- $this->data['items'][] =& new $this->item_class($this, $items[$key]);
+ $this->data['items'][] = new $this->item_class($this, $items[$key]);
}
}
}
@@ -3345,7 +3362,7 @@ class SimplePie_Item
{
$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $categories[] =& new $this->feed->category_class($term, $scheme, $label);
+ $categories[] = new $this->feed->category_class($term, $scheme, $label);
}
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
{
@@ -3360,15 +3377,15 @@ class SimplePie_Item
{
$scheme = null;
}
- $categories[] =& new $this->feed->category_class($term, $scheme, null);
+ $categories[] = new $this->feed->category_class($term, $scheme, null);
}
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
{
- $categories[] =& new $this->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $categories[] = new $this->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
{
- $categories[] =& new $this->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $categories[] = new $this->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
if (!empty($categories))
@@ -3429,7 +3446,7 @@ class SimplePie_Item
}
if ($name !== null || $email !== null || $uri !== null)
{
- $contributors[] =& new $this->feed->author_class($name, $uri, $email);
+ $contributors[] = new $this->feed->author_class($name, $uri, $email);
}
}
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
@@ -3451,7 +3468,7 @@ class SimplePie_Item
}
if ($name !== null || $email !== null || $url !== null)
{
- $contributors[] =& new $this->feed->author_class($name, $url, $email);
+ $contributors[] = new $this->feed->author_class($name, $url, $email);
}
}
@@ -3487,7 +3504,7 @@ class SimplePie_Item
}
if ($name !== null || $email !== null || $uri !== null)
{
- $authors[] =& new $this->feed->author_class($name, $uri, $email);
+ $authors[] = new $this->feed->author_class($name, $uri, $email);
}
}
if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
@@ -3509,24 +3526,24 @@ class SimplePie_Item
}
if ($name !== null || $email !== null || $url !== null)
{
- $authors[] =& new $this->feed->author_class($name, $url, $email);
+ $authors[] = new $this->feed->author_class($name, $url, $email);
}
}
if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'author'))
{
- $authors[] =& new $this->feed->author_class(null, null, $this->sanitize($author[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+ $authors[] = new $this->feed->author_class(null, null, $this->sanitize($author[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
}
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
{
- $authors[] =& new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $authors[] = new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
{
- $authors[] =& new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $authors[] = new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
{
- $authors[] =& new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $authors[] = new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
if (!empty($authors))
@@ -3836,7 +3853,7 @@ class SimplePie_Item
{
$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $captions_parent[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
+ $captions_parent[] = new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
}
}
elseif ($captions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'text'))
@@ -3868,7 +3885,7 @@ class SimplePie_Item
{
$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $captions_parent[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
+ $captions_parent[] = new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
}
}
if (is_array($captions_parent))
@@ -3898,7 +3915,7 @@ class SimplePie_Item
{
$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $categories_parent[] =& new $this->feed->category_class($term, $scheme, $label);
+ $categories_parent[] = new $this->feed->category_class($term, $scheme, $label);
}
foreach ((array) $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'category') as $category)
{
@@ -3921,7 +3938,7 @@ class SimplePie_Item
{
$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $categories_parent[] =& new $this->feed->category_class($term, $scheme, $label);
+ $categories_parent[] = new $this->feed->category_class($term, $scheme, $label);
}
foreach ((array) $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'category') as $category)
{
@@ -3932,7 +3949,7 @@ class SimplePie_Item
{
$label = $this->sanitize($category['attribs']['']['text'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $categories_parent[] =& new $this->feed->category_class($term, $scheme, $label);
+ $categories_parent[] = new $this->feed->category_class($term, $scheme, $label);
if (isset($category['child'][SIMPLEPIE_NAMESPACE_ITUNES]['category']))
{
@@ -3942,7 +3959,7 @@ class SimplePie_Item
{
$label = $this->sanitize($subcategory['attribs']['']['text'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $categories_parent[] =& new $this->feed->category_class($term, $scheme, $label);
+ $categories_parent[] = new $this->feed->category_class($term, $scheme, $label);
}
}
}
@@ -3964,7 +3981,7 @@ class SimplePie_Item
{
$copyright_label = $this->sanitize($copyright[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $copyrights_parent =& new $this->feed->copyright_class($copyright_url, $copyright_label);
+ $copyrights_parent = new $this->feed->copyright_class($copyright_url, $copyright_label);
}
elseif ($copyright = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'copyright'))
{
@@ -3978,7 +3995,7 @@ class SimplePie_Item
{
$copyright_label = $this->sanitize($copyright[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $copyrights_parent =& new $this->feed->copyright_class($copyright_url, $copyright_label);
+ $copyrights_parent = new $this->feed->copyright_class($copyright_url, $copyright_label);
}
// CREDITS
@@ -4005,7 +4022,7 @@ class SimplePie_Item
{
$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $credits_parent[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
+ $credits_parent[] = new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
}
}
elseif ($credits = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'credit'))
@@ -4031,7 +4048,7 @@ class SimplePie_Item
{
$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $credits_parent[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
+ $credits_parent[] = new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
}
}
if (is_array($credits_parent))
@@ -4220,7 +4237,7 @@ class SimplePie_Item
{
$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $ratings_parent[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+ $ratings_parent[] = new $this->feed->rating_class($rating_scheme, $rating_value);
}
}
elseif ($ratings = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'explicit'))
@@ -4233,7 +4250,7 @@ class SimplePie_Item
{
$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $ratings_parent[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+ $ratings_parent[] = new $this->feed->rating_class($rating_scheme, $rating_value);
}
}
elseif ($ratings = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'rating'))
@@ -4254,7 +4271,7 @@ class SimplePie_Item
{
$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $ratings_parent[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+ $ratings_parent[] = new $this->feed->rating_class($rating_scheme, $rating_value);
}
}
elseif ($ratings = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'explicit'))
@@ -4267,7 +4284,7 @@ class SimplePie_Item
{
$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $ratings_parent[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+ $ratings_parent[] = new $this->feed->rating_class($rating_scheme, $rating_value);
}
}
if (is_array($ratings_parent))
@@ -4295,7 +4312,7 @@ class SimplePie_Item
{
$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $restrictions_parent[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+ $restrictions_parent[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
}
}
elseif ($restrictions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'block'))
@@ -4309,7 +4326,7 @@ class SimplePie_Item
{
$restriction_relationship = 'deny';
}
- $restrictions_parent[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+ $restrictions_parent[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
}
}
elseif ($restrictions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'restriction'))
@@ -4331,7 +4348,7 @@ class SimplePie_Item
{
$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $restrictions_parent[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+ $restrictions_parent[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
}
}
elseif ($restrictions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'block'))
@@ -4345,7 +4362,7 @@ class SimplePie_Item
{
$restriction_relationship = 'deny';
}
- $restrictions_parent[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+ $restrictions_parent[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
}
}
if (is_array($restrictions_parent))
@@ -4549,7 +4566,7 @@ class SimplePie_Item
{
$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
+ $captions[] = new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
}
if (is_array($captions))
{
@@ -4585,7 +4602,7 @@ class SimplePie_Item
{
$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
+ $captions[] = new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
}
if (is_array($captions))
{
@@ -4621,7 +4638,7 @@ class SimplePie_Item
{
$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $categories[] =& new $this->feed->category_class($term, $scheme, $label);
+ $categories[] = new $this->feed->category_class($term, $scheme, $label);
}
}
if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
@@ -4647,7 +4664,7 @@ class SimplePie_Item
{
$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $categories[] =& new $this->feed->category_class($term, $scheme, $label);
+ $categories[] = new $this->feed->category_class($term, $scheme, $label);
}
}
if (is_array($categories) && is_array($categories_parent))
@@ -4676,7 +4693,7 @@ class SimplePie_Item
{
$copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label);
+ $copyrights = new $this->feed->copyright_class($copyright_url, $copyright_label);
}
elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
{
@@ -4690,7 +4707,7 @@ class SimplePie_Item
{
$copyright_label = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label);
+ $copyrights = new $this->feed->copyright_class($copyright_url, $copyright_label);
}
else
{
@@ -4721,7 +4738,7 @@ class SimplePie_Item
{
$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
+ $credits[] = new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
}
if (is_array($credits))
{
@@ -4751,7 +4768,7 @@ class SimplePie_Item
{
$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
+ $credits[] = new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
}
if (is_array($credits))
{
@@ -4904,7 +4921,7 @@ class SimplePie_Item
{
$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+ $ratings[] = new $this->feed->rating_class($rating_scheme, $rating_value);
}
if (is_array($ratings))
{
@@ -4929,7 +4946,7 @@ class SimplePie_Item
{
$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+ $ratings[] = new $this->feed->rating_class($rating_scheme, $rating_value);
}
if (is_array($ratings))
{
@@ -4961,7 +4978,7 @@ class SimplePie_Item
{
$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+ $restrictions[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
}
if (is_array($restrictions))
{
@@ -4987,7 +5004,7 @@ class SimplePie_Item
{
$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+ $restrictions[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
}
if (is_array($restrictions))
{
@@ -5041,7 +5058,7 @@ class SimplePie_Item
$title = $title_parent;
}
- $this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width);
+ $this->data['enclosures'][] = new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width);
}
}
}
@@ -5170,7 +5187,7 @@ class SimplePie_Item
{
$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
+ $captions[] = new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
}
if (is_array($captions))
{
@@ -5206,7 +5223,7 @@ class SimplePie_Item
{
$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $categories[] =& new $this->feed->category_class($term, $scheme, $label);
+ $categories[] = new $this->feed->category_class($term, $scheme, $label);
}
}
if (is_array($categories) && is_array($categories_parent))
@@ -5239,7 +5256,7 @@ class SimplePie_Item
{
$copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label);
+ $copyrights = new $this->feed->copyright_class($copyright_url, $copyright_label);
}
else
{
@@ -5270,7 +5287,7 @@ class SimplePie_Item
{
$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
+ $credits[] = new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
}
if (is_array($credits))
{
@@ -5374,7 +5391,7 @@ class SimplePie_Item
{
$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+ $ratings[] = new $this->feed->rating_class($rating_scheme, $rating_value);
}
if (is_array($ratings))
{
@@ -5406,7 +5423,7 @@ class SimplePie_Item
{
$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+ $restrictions[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
}
if (is_array($restrictions))
{
@@ -5445,7 +5462,7 @@ class SimplePie_Item
$title = $title_parent;
}
- $this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width);
+ $this->data['enclosures'][] = new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width);
}
}
}
@@ -5481,7 +5498,7 @@ class SimplePie_Item
}
// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
- $this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width);
+ $this->data['enclosures'][] = new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width);
}
}
@@ -5516,7 +5533,7 @@ class SimplePie_Item
}
// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
- $this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width);
+ $this->data['enclosures'][] = new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width);
}
}
@@ -5551,14 +5568,14 @@ class SimplePie_Item
}
// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
- $this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width);
+ $this->data['enclosures'][] = new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width);
}
}
if (sizeof($this->data['enclosures']) === 0 && ($url || $type || $length || $bitrate || $captions_parent || $categories_parent || $channels || $copyrights_parent || $credits_parent || $description_parent || $duration_parent || $expression || $framerate || $hashes_parent || $height || $keywords_parent || $lang || $medium || $player_parent || $ratings_parent || $restrictions_parent || $samplingrate || $thumbnails_parent || $title_parent || $width))
{
// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
- $this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width);
+ $this->data['enclosures'][] = new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width);
}
$this->data['enclosures'] = array_values(SimplePie_Misc::array_unique($this->data['enclosures']));
@@ -5835,7 +5852,7 @@ class SimplePie_Source
{
$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $categories[] =& new $this->item->feed->category_class($term, $scheme, $label);
+ $categories[] = new $this->item->feed->category_class($term, $scheme, $label);
}
foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
{
@@ -5850,15 +5867,15 @@ class SimplePie_Source
{
$scheme = null;
}
- $categories[] =& new $this->item->feed->category_class($term, $scheme, null);
+ $categories[] = new $this->item->feed->category_class($term, $scheme, null);
}
foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
{
- $categories[] =& new $this->item->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $categories[] = new $this->item->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
{
- $categories[] =& new $this->item->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $categories[] = new $this->item->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
if (!empty($categories))
@@ -5906,7 +5923,7 @@ class SimplePie_Source
}
if ($name !== null || $email !== null || $uri !== null)
{
- $authors[] =& new $this->item->feed->author_class($name, $uri, $email);
+ $authors[] = new $this->item->feed->author_class($name, $uri, $email);
}
}
if ($author = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
@@ -5928,20 +5945,20 @@ class SimplePie_Source
}
if ($name !== null || $email !== null || $url !== null)
{
- $authors[] =& new $this->item->feed->author_class($name, $url, $email);
+ $authors[] = new $this->item->feed->author_class($name, $url, $email);
}
}
foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
{
- $authors[] =& new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $authors[] = new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
{
- $authors[] =& new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $authors[] = new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
{
- $authors[] =& new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+ $authors[] = new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
}
if (!empty($authors))
@@ -5989,7 +6006,7 @@ class SimplePie_Source
}
if ($name !== null || $email !== null || $uri !== null)
{
- $contributors[] =& new $this->item->feed->author_class($name, $uri, $email);
+ $contributors[] = new $this->item->feed->author_class($name, $uri, $email);
}
}
foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
@@ -6011,7 +6028,7 @@ class SimplePie_Source
}
if ($name !== null || $email !== null || $url !== null)
{
- $contributors[] =& new $this->item->feed->author_class($name, $url, $email);
+ $contributors[] = new $this->item->feed->author_class($name, $url, $email);
}
}
@@ -6448,7 +6465,7 @@ class SimplePie_Enclosure
$this->width = $width;
if (class_exists('idna_convert'))
{
- $idn =& new idna_convert;
+ $idn = new idna_convert;
$parsed = SimplePie_Misc::parse_url($link);
$this->link = SimplePie_Misc::compress_parse_url($parsed['scheme'], $idn->encode($parsed['authority']), $parsed['path'], $parsed['query'], $parsed['fragment']);
}
@@ -7655,7 +7672,7 @@ class SimplePie_File
{
if (class_exists('idna_convert'))
{
- $idn =& new idna_convert;
+ $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']);
}
@@ -7687,6 +7704,13 @@ class SimplePie_File
{
curl_setopt($fp, CURLOPT_ENCODING, '');
}
+ if (preg_match('#^([a-z0-9_]+://)(?:([^/]*:[^/]*)@)([^/@]+([/\?].*)?$)#is', $url, $m))
+ {
+ $headers2[] = "Authorization: Basic ".base64_encode(urldecode($m[2]));
+ }
+ // added by FoF (vitalif@yourcmc.ru) to enable environment proxy settings support
+ // fucking cURL doesn't support this by default
+ curl_set_env_proxy($fp, $url);
curl_setopt($fp, CURLOPT_URL, $url);
curl_setopt($fp, CURLOPT_HEADER, 1);
curl_setopt($fp, CURLOPT_RETURNTRANSFER, 1);
@@ -7701,6 +7725,10 @@ class SimplePie_File
curl_setopt($fp, CURLOPT_MAXREDIRS, $redirects);
}
+ // added by FoF to enable https and digest authentication
+ curl_setopt($fp, CURLOPT_SSL_VERIFYPEER, false);
+ curl_setopt($fp, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
+
$this->headers = curl_exec($fp);
if (curl_errno($fp) === 23 || curl_errno($fp) === 61)
{
@@ -7718,7 +7746,7 @@ class SimplePie_File
curl_close($fp);
$this->headers = explode("\r\n\r\n", $this->headers, $info['redirect_count'] + 1);
$this->headers = array_pop($this->headers);
- $parser =& new SimplePie_HTTP_Parser($this->headers);
+ $parser = new SimplePie_HTTP_Parser($this->headers);
if ($parser->parse())
{
$this->headers = $parser->headers;
@@ -7799,7 +7827,7 @@ class SimplePie_File
}
if (!$info['timed_out'])
{
- $parser =& new SimplePie_HTTP_Parser($this->headers);
+ $parser = new SimplePie_HTTP_Parser($this->headers);
if ($parser->parse())
{
$this->headers = $parser->headers;
@@ -7818,7 +7846,7 @@ class SimplePie_File
{
case 'gzip':
case 'x-gzip':
- $decoder =& new SimplePie_gzdecode($this->body);
+ $decoder = new SimplePie_gzdecode($this->body);
if (!$decoder->parse())
{
$this->error = 'Unable to decode HTTP "gzip" stream';
@@ -8630,7 +8658,7 @@ class SimplePie_Cache
*/
function create($location, $filename, $extension)
{
- $location_iri =& new SimplePie_IRI($location);
+ $location_iri = new SimplePie_IRI($location);
switch ($location_iri->get_scheme())
{
case 'mysql':
@@ -9327,7 +9355,7 @@ class SimplePie_Misc
function parse_url($url)
{
- $iri =& new SimplePie_IRI($url);
+ $iri = new SimplePie_IRI($url);
return array(
'scheme' => (string) $iri->get_scheme(),
'authority' => (string) $iri->get_authority(),
@@ -9339,7 +9367,7 @@ class SimplePie_Misc
function compress_parse_url($scheme = '', $authority = '', $path = '', $query = '', $fragment = '')
{
- $iri =& new SimplePie_IRI('');
+ $iri = new SimplePie_IRI('');
$iri->set_scheme($scheme);
$iri->set_authority($authority);
$iri->set_path($path);
@@ -9350,7 +9378,7 @@ class SimplePie_Misc
function normalize_url($url)
{
- $iri =& new SimplePie_IRI($url);
+ $iri = new SimplePie_IRI($url);
return $iri->get_iri();
}
@@ -10870,7 +10898,7 @@ class SimplePie_Misc
*/
function entities_decode($data)
{
- $decoder =& new SimplePie_Decode_HTML_Entities($data);
+ $decoder = new SimplePie_Decode_HTML_Entities($data);
return $decoder->parse();
}
@@ -11266,7 +11294,7 @@ class SimplePie_Misc
{
if ($pos = strpos($data, "\x00\x00\x00\x3F\x00\x00\x00\x3E"))
{
- $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32BE', 'UTF-8'));
+ $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32BE', 'UTF-8'));
if ($parser->parse())
{
$encoding[] = $parser->encoding;
@@ -11279,7 +11307,7 @@ class SimplePie_Misc
{
if ($pos = strpos($data, "\x3F\x00\x00\x00\x3E\x00\x00\x00"))
{
- $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32LE', 'UTF-8'));
+ $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32LE', 'UTF-8'));
if ($parser->parse())
{
$encoding[] = $parser->encoding;
@@ -11292,7 +11320,7 @@ class SimplePie_Misc
{
if ($pos = strpos($data, "\x00\x3F\x00\x3E"))
{
- $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16BE', 'UTF-8'));
+ $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16BE', 'UTF-8'));
if ($parser->parse())
{
$encoding[] = $parser->encoding;
@@ -11305,7 +11333,7 @@ class SimplePie_Misc
{
if ($pos = strpos($data, "\x3F\x00\x3E\x00"))
{
- $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16LE', 'UTF-8'));
+ $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16LE', 'UTF-8'));
if ($parser->parse())
{
$encoding[] = $parser->encoding;
@@ -11318,7 +11346,7 @@ class SimplePie_Misc
{
if ($pos = strpos($data, "\x3F\x3E"))
{
- $parser =& new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
+ $parser = new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
if ($parser->parse())
{
$encoding[] = $parser->encoding;
@@ -11693,7 +11721,7 @@ class SimplePie_IRI
$relative = (string) $relative;
if ($relative !== '')
{
- $relative =& new SimplePie_IRI($relative);
+ $relative = new SimplePie_IRI($relative);
if ($relative->get_scheme() !== null)
{
$target = $relative;
@@ -11707,7 +11735,7 @@ class SimplePie_IRI
}
else
{
- $target =& new SimplePie_IRI('');
+ $target = new SimplePie_IRI('');
$target->set_scheme($base->get_scheme());
$target->set_userinfo($base->get_userinfo());
$target->set_host($base->get_host());
@@ -11769,11 +11797,7 @@ class SimplePie_IRI
*/
function parse_iri($iri)
{
- preg_match('/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/', $iri, $match);
- for ($i = count($match); $i <= 9; $i++)
- {
- $match[$i] = '';
- }
+ preg_match('/^(([^:\/?#]+):)?(\/\/(\/*[^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/', $iri, $match);
return array('scheme' => $match[2], 'authority' => $match[4], 'path' => $match[5], 'query' => $match[7], 'fragment' => $match[9]);
}
@@ -12056,7 +12080,7 @@ class SimplePie_IRI
}
else
{
- $this->host = $this->replace_invalid_with_pct_encoding($host, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$&\'()*+,;=', SIMPLEPIE_LOWERCASE);
+ $this->host = $this->replace_invalid_with_pct_encoding($host, '\/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$&\'()*+,;=', SIMPLEPIE_LOWERCASE);
$this->valid[__FUNCTION__] = true;
return true;
}
@@ -13059,7 +13083,7 @@ class SimplePie_Parse_Date
static $object;
if (!$object)
{
- $object =& new SimplePie_Parse_Date;
+ $object = new SimplePie_Parse_Date;
}
return $object;
}
@@ -14074,6 +14098,7 @@ class SimplePie_Locator
var $checked_feeds = 0;
var $max_checked_feeds = 10;
var $content_type_sniffer_class = 'SimplePie_Content_Type_Sniffer';
+ var $headers = array();
function SimplePie_Locator(&$file, $timeout = 10, $useragent = null, $file_class = 'SimplePie_File', $max_checked_feeds = 10, $content_type_sniffer_class = 'SimplePie_Content_Type_Sniffer')
{
@@ -14094,7 +14119,7 @@ class SimplePie_Locator
if ($this->file->method & SIMPLEPIE_FILE_SOURCE_REMOTE)
{
- $sniffer =& new $this->content_type_sniffer_class($this->file);
+ $sniffer = new $this->content_type_sniffer_class($this->file);
if ($sniffer->get_type() !== 'text/html')
{
return null;
@@ -14140,7 +14165,7 @@ class SimplePie_Locator
{
if ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE)
{
- $sniffer =& new $this->content_type_sniffer_class($file);
+ $sniffer = new $this->content_type_sniffer_class($file);
$sniffed = $sniffer->get_type();
if (in_array($sniffed, array('application/rss+xml', 'application/rdf+xml', 'text/rdf', 'application/atom+xml', 'text/xml', 'application/xml')))
{
@@ -14204,7 +14229,7 @@ class SimplePie_Locator
if (!in_array($href, $done) && in_array('feed', $rel) || (in_array('alternate', $rel) && !empty($link['attribs']['type']['data']) && in_array(strtolower(SimplePie_Misc::parse_mime($link['attribs']['type']['data'])), array('application/rss+xml', 'application/atom+xml'))) && !isset($feeds[$href]))
{
$this->checked_feeds++;
- $feed =& new $this->file_class($href, $this->timeout, 5, null, $this->useragent);
+ $feed = new $this->file_class($href, $this->timeout, 5, $this->headers, $this->useragent);
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))
{
$feeds[$href] = $feed;
@@ -14276,7 +14301,7 @@ class SimplePie_Locator
if (in_array(strtolower(strrchr($value, '.')), array('.rss', '.rdf', '.atom', '.xml')))
{
$this->checked_feeds++;
- $feed =& new $this->file_class($value, $this->timeout, 5, null, $this->useragent);
+ $feed = new $this->file_class($value, $this->timeout, 5, $this->headers, $this->useragent);
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 $feed;
@@ -14301,7 +14326,7 @@ class SimplePie_Locator
if (preg_match('/(rss|rdf|atom|xml)/i', $value))
{
$this->checked_feeds++;
- $feed =& new $this->file_class($value, $this->timeout, 5, null, $this->useragent);
+ $feed = new $this->file_class($value, $this->timeout, 5, $this->headers, $this->useragent);
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 $feed;
@@ -14375,7 +14400,7 @@ class SimplePie_Parser
if (substr($data, 0, 5) === '<?xml' && strspn(substr($data, 5, 1), "\x09\x0A\x0D\x20") && ($pos = strpos($data, '?>')) !== false)
{
- $declaration =& new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
+ $declaration = new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
if ($declaration->parse())
{
$data = substr($data, $pos + 2);
@@ -14425,7 +14450,7 @@ class SimplePie_Parser
else
{
libxml_clear_errors();
- $xml =& new XMLReader();
+ $xml = new XMLReader();
$xml->xml($data);
while (@$xml->read())
{
@@ -14665,7 +14690,7 @@ class SimplePie_Sanitize
// Options
var $remove_div = true;
var $image_handler = '';
- var $strip_htmltags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style');
+ var $strip_htmltags = array('base', 'blink', 'body', 'doctype', 'font', 'form', 'frame', 'frameset', 'html', 'input', 'marquee', 'meta', 'noscript', 'script', 'style');
var $encode_instead_of_strip = false;
var $strip_attributes = array('bgsound', 'class', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc');
var $strip_comments = false;
@@ -14754,7 +14779,7 @@ class SimplePie_Sanitize
}
}
- function strip_htmltags($tags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style'))
+ function strip_htmltags($tags = array('base', 'blink', 'body', 'doctype', 'font', 'form', 'frame', 'frameset', 'html', 'input', 'marquee', 'meta', 'noscript', 'script', 'style'))
{
if ($tags)
{
@@ -14911,7 +14936,7 @@ class SimplePie_Sanitize
}
else
{
- $file =& new $this->file_class($img['attribs']['src']['data'], $this->timeout, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen);
+ $file = new $this->file_class($img['attribs']['src']['data'], $this->timeout, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen);
$headers = $file->headers;
if ($file->success && ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)))