Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

patches for a couple of problems #75

Closed
mindplay-dk opened this Issue Apr 13, 2010 · 3 comments

Comments

Projects
None yet
3 participants

Trying to use SimplePie with Yii, I came across two issues.

The "new" operator was used with the reference operator - this is deprecated in modern PHP, and causes exceptions.

class_exists without the use of "false" will cause autoloaders in Yii (and most likely various other frameworks) to fail - need to pass "false" as the second argument when we're checking for a class that may already be loaded.

Posting a patch below...

Index: simplepie.inc
===================================================================
--- simplepie.inc   (revision 257)
+++ simplepie.inc   (working copy)
@@ -735,7 +735,7 @@
    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)
@@ -1105,7 +1105,7 @@
    {
        if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Sanitize'))
        {
-           $this->sanitize =& new $class;
+           $this->sanitize = new $class;
            return true;
        }
        return false;
@@ -1599,7 +1599,7 @@
                                {
                                    $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)
@@ -1640,7 +1640,7 @@
                    }
                    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, null, $this->useragent, $this->force_fsockopen);
                    }
                }
                // If the file connection has an error, set SimplePie::error to that and quit
@@ -1660,7 +1660,7 @@
                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);
                    if (!$locate->is_feed($file))
                    {
                        // We need to unset this so that if SimplePie::set_file() has been called that object is untouched
@@ -1690,7 +1690,7 @@
 
                $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
@@ -1760,7 +1760,7 @@
                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'))
@@ -1971,11 +1971,11 @@
                }
                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)))
@@ -2374,7 +2374,7 @@
            {
                $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)
        {
@@ -2389,15 +2389,15 @@
            {
                $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))
@@ -2445,7 +2445,7 @@
            }
            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'))
@@ -2467,20 +2467,20 @@
            }
            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))
@@ -2528,7 +2528,7 @@
            }
            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)
@@ -2550,7 +2550,7 @@
            }
            if ($name !== null || $email !== null || $url !== null)
            {
-               $contributors[] =& new $this->author_class($name, $url, $email);
+               $contributors[] = new $this->author_class($name, $url, $email);
            }
        }
 
@@ -2964,7 +2964,7 @@
                    $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'))
@@ -2972,7 +2972,7 @@
                    $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'))
@@ -2980,7 +2980,7 @@
                    $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'))
@@ -2988,7 +2988,7 @@
                    $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'))
@@ -2996,7 +2996,7 @@
                    $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]);
                    }
                }
            }
@@ -3347,7 +3347,7 @@
            {
                $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)
        {
@@ -3362,15 +3362,15 @@
            {
                $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))
@@ -3431,7 +3431,7 @@
            }
            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)
@@ -3453,7 +3453,7 @@
            }
            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);
            }
        }
 
@@ -3489,7 +3489,7 @@
            }
            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'))
@@ -3511,24 +3511,24 @@
            }
            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))
@@ -3838,7 +3838,7 @@
                    {
                        $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'))
@@ -3870,7 +3870,7 @@
                    {
                        $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))
@@ -3900,7 +3900,7 @@
                {
                    $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)
            {
@@ -3923,7 +3923,7 @@
                {
                    $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)
            {
@@ -3934,7 +3934,7 @@
                {
                    $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']))
                {
@@ -3944,7 +3944,7 @@
                        {
                            $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);
                    }
                }
            }
@@ -3966,7 +3966,7 @@
                {
                    $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'))
            {
@@ -3980,7 +3980,7 @@
                {
                    $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
@@ -4007,7 +4007,7 @@
                    {
                        $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'))
@@ -4033,7 +4033,7 @@
                    {
                        $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))
@@ -4222,7 +4222,7 @@
                    {
                        $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'))
@@ -4235,7 +4235,7 @@
                    {
                        $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'))
@@ -4256,7 +4256,7 @@
                    {
                        $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'))
@@ -4269,7 +4269,7 @@
                    {
                        $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))
@@ -4297,7 +4297,7 @@
                    {
                        $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'))
@@ -4311,7 +4311,7 @@
                    {
                        $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'))
@@ -4333,7 +4333,7 @@
                    {
                        $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'))
@@ -4347,7 +4347,7 @@
                    {
                        $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))
@@ -4553,7 +4553,7 @@
                                    {
                                        $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))
                                {
@@ -4589,7 +4589,7 @@
                                    {
                                        $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))
                                {
@@ -4625,7 +4625,7 @@
                                    {
                                        $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']))
@@ -4651,7 +4651,7 @@
                                    {
                                        $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))
@@ -4680,7 +4680,7 @@
                                {
                                    $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']))
                            {
@@ -4694,7 +4694,7 @@
                                {
                                    $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
                            {
@@ -4725,7 +4725,7 @@
                                    {
                                        $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))
                                {
@@ -4755,7 +4755,7 @@
                                    {
                                        $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))
                                {
@@ -4908,7 +4908,7 @@
                                    {
                                        $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))
                                {
@@ -4933,7 +4933,7 @@
                                    {
                                        $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))
                                {
@@ -4965,7 +4965,7 @@
                                    {
                                        $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))
                                {
@@ -4991,7 +4991,7 @@
                                    {
                                        $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))
                                {
@@ -5045,7 +5045,7 @@
                                $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);
                        }
                    }
                }
@@ -5175,7 +5175,7 @@
                                {
                                    $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))
                            {
@@ -5211,7 +5211,7 @@
                                {
                                    $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))
@@ -5244,7 +5244,7 @@
                            {
                                $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
                        {
@@ -5275,7 +5275,7 @@
                                {
                                    $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))
                            {
@@ -5379,7 +5379,7 @@
                                {
                                    $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))
                            {
@@ -5411,7 +5411,7 @@
                                {
                                    $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))
                            {
@@ -5450,7 +5450,7 @@
                            $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);
                    }
                }
            }
@@ -5486,7 +5486,7 @@
                    }
 
                    // 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);
                }
            }
 
@@ -5521,7 +5521,7 @@
                    }
 
                    // 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);
                }
            }
 
@@ -5556,14 +5556,14 @@
                    }
 
                    // 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']));
@@ -5840,7 +5840,7 @@
            {
                $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)
        {
@@ -5855,15 +5855,15 @@
            {
                $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))
@@ -5911,7 +5911,7 @@
            }
            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'))
@@ -5933,20 +5933,20 @@
            }
            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))
@@ -5994,7 +5994,7 @@
            }
            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)
@@ -6016,7 +6016,7 @@
            }
            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);
            }
        }
 
@@ -6451,9 +6451,9 @@
        $this->title = $title;
        $this->type = $type;
        $this->width = $width;
-       if (class_exists('idna_convert'))
+       if (class_exists('idna_convert',false))
        {
-           $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']);
        }
@@ -7649,9 +7649,9 @@
 
    function SimplePie_File($url, $timeout = 10, $redirects = 5, $headers = null, $useragent = null, $force_fsockopen = false)
    {
-       if (class_exists('idna_convert'))
+       if (class_exists('idna_convert',false))
        {
-           $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']);
        }
@@ -7712,7 +7712,7 @@
                    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;
@@ -7793,7 +7793,7 @@
                    }
                    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;
@@ -7812,7 +7812,7 @@
                                {
                                    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';
@@ -8624,7 +8624,7 @@
     */
    function create($location, $filename, $extension)
    {
-       $location_iri =& new SimplePie_IRI($location);
+       $location_iri = new SimplePie_IRI($location);
        switch ($location_iri->get_scheme())
        {
            case 'mysql':
@@ -9338,7 +9338,7 @@
 
    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(),
@@ -9350,7 +9350,7 @@
 
    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);
@@ -9361,7 +9361,7 @@
 
    function normalize_url($url)
    {
-       $iri =& new SimplePie_IRI($url);
+       $iri = new SimplePie_IRI($url);
        return $iri->get_iri();
    }
 
@@ -10818,9 +10818,9 @@
        }
        elseif (is_string($class1) && is_string($class2))
        {
-           if (class_exists($class1))
+           if (class_exists($class1,false))
            {
-               if (class_exists($class2))
+               if (class_exists($class2,false))
                {
                    $class2 = strtolower($class2);
                    while ($class1 = strtolower(get_parent_class($class1)))
@@ -10881,7 +10881,7 @@
     */
    function entities_decode($data)
    {
-       $decoder =& new SimplePie_Decode_HTML_Entities($data);
+       $decoder = new SimplePie_Decode_HTML_Entities($data);
        return $decoder->parse();
    }
 
@@ -11277,7 +11277,7 @@
        {
            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;
@@ -11290,7 +11290,7 @@
        {
            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;
@@ -11303,7 +11303,7 @@
        {
            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;
@@ -11316,7 +11316,7 @@
        {
            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;
@@ -11329,7 +11329,7 @@
        {
            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;
@@ -11704,7 +11704,7 @@
        $relative = (string) $relative;
        if ($relative !== '')
        {
-           $relative =& new SimplePie_IRI($relative);
+           $relative = new SimplePie_IRI($relative);
            if ($relative->get_scheme() !== null)
            {
                $target = $relative;
@@ -11718,7 +11718,7 @@
                }
                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());
@@ -13070,7 +13070,7 @@
        static $object;
        if (!$object)
        {
-           $object =& new SimplePie_Parse_Date;
+           $object = new SimplePie_Parse_Date;
        }
        return $object;
    }
@@ -14105,7 +14105,7 @@
 
        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;
@@ -14151,7 +14151,7 @@
    {
        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')))
            {
@@ -14215,7 +14215,7 @@
                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, null, $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;
@@ -14287,7 +14287,7 @@
            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, null, $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;
@@ -14312,7 +14312,7 @@
            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, null, $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;
@@ -14386,7 +14386,7 @@
 
        if (substr($data, 0, 5) === '')) !== 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);
@@ -14436,7 +14436,7 @@
        else
        {
            libxml_clear_errors();
-           $xml =& new XMLReader();
+           $xml = new XMLReader();
            $xml->xml($data);
            while (@$xml->read())
            {
@@ -14922,7 +14922,7 @@
                            }
                            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)))

Contributor

rmccue commented Apr 23, 2010

Thanks, I'll take a look at this.

BryceB commented Aug 26, 2010

I ran into this problem, too.

Rather than hunt it down and change it line by line, I just used notepad++'s search and replace function with:
I searched for: =& new
I replaced it with: = new
It found like 114 instances.
When I re ran the code that I was using simplepie with, the warning stopped appearing and everything appeared to work correctly.

Contributor

rmccue commented Dec 11, 2010

I've checked the source code, and there are no assignment by references on the master branch (1.3-dev). Closing now as Fixed. If you can find any, please report them as a new bug.

This issue was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment