Make WordPress Core


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/class-simplepie.php

    r11658 r10747  
    752752    function __destruct()
    753753    {
    754         if ((version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode'))
    755         {
    756             if (!empty($this->data['items']))
    757             {
    758                 foreach ($this->data['items'] as $item)
    759                 {
    760                     $item->__destruct();
    761                 }
    762                 unset($item, $this->data['items']);
    763             }
    764             if (!empty($this->data['ordered_items']))
    765             {
    766                 foreach ($this->data['ordered_items'] as $item)
    767                 {
    768                     $item->__destruct();
    769                 }
    770                 unset($item, $this->data['ordered_items']);
    771             }
     754        if (!empty($this->data['items']))
     755        {
     756            foreach ($this->data['items'] as $item)
     757            {
     758                $item->__destruct();
     759            }
     760            unset($this->data['items']);
     761        }
     762        if (!empty($this->data['ordered_items']))
     763        {
     764            foreach ($this->data['ordered_items'] as $item)
     765            {
     766                $item->__destruct();
     767            }
     768            unset($this->data['ordered_items']);
    772769        }
    773770    }
     
    16871684                $headers = $file->headers;
    16881685                $data = $file->body;
    1689                 $sniffer =& new $this->content_type_sniffer_class($file);
     1686                $sniffer = new $this->content_type_sniffer_class($file);
    16901687                $sniffed = $sniffer->get_type();
    16911688            }
     
    19651962                    if ($file->success && ($file->status_code == 200 || ($file->status_code > 206 && $file->status_code < 300)) && strlen($file->body) > 0)
    19661963                    {
    1967                         $sniffer =& new $this->content_type_sniffer_class($file);
     1964                        $sniffer = new $this->content_type_sniffer_class($file);
    19681965                        if (substr($sniffer->get_type(), 0, 6) === 'image/')
    19691966                        {
     
    30863083    function __destruct()
    30873084    {
    3088         if ((version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode'))
    3089         {
    3090             unset($this->feed);
    3091         }
     3085        unset($this->feed);
    30923086    }
    30933087
     
    56895683    }
    56905684
     5685    /**
     5686     * Remove items that link back to this before destroying this object
     5687     */
     5688    function __destruct()
     5689    {
     5690        unset($this->item);
     5691    }
     5692
    56915693    function get_source_tags($namespace, $tag)
    56925694    {
     
    77457747                                    case 'gzip':
    77467748                                    case 'x-gzip':
    7747                                         $decoder =& new SimplePie_gzdecode($this->body);
     7749                                        $decoder = new SimplePie_gzdecode($this->body);
    77487750                                        if (!$decoder->parse())
    77497751                                        {
     
    89538955    function parse_url($url)
    89548956    {
    8955         preg_match('/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/', $url, $match);
    8956         for ($i = count($match); $i <= 9; $i++)
    8957         {
    8958             $match[$i] = '';
    8959         }
    8960         return array('scheme' => $match[2], 'authority' => $match[4], 'path' => $match[5], 'query' => $match[7], 'fragment' => $match[9]);
     8957        static $cache = array();
     8958        if (isset($cache[$url]))
     8959        {
     8960            return $cache[$url];
     8961        }
     8962        elseif (preg_match('/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/', $url, $match))
     8963        {
     8964            for ($i = count($match); $i <= 9; $i++)
     8965            {
     8966                $match[$i] = '';
     8967            }
     8968            return $cache[$url] = array('scheme' => $match[2], 'authority' => $match[4], 'path' => $match[5], 'query' => $match[7], 'fragment' => $match[9]);
     8969        }
     8970        else
     8971        {
     8972            return $cache[$url] = array('scheme' => '', 'authority' => '', 'path' => '', 'query' => '', 'fragment' => '');
     8973        }
    89618974    }
    89628975
     
    1054310556    function entities_decode($data)
    1054410557    {
    10545         $decoder =& new SimplePie_Decode_HTML_Entities($data);
     10558        $decoder = new SimplePie_Decode_HTML_Entities($data);
    1054610559        return $decoder->parse();
    1054710560    }
     
    1079710810    function codepoint_to_utf8($codepoint)
    1079810811    {
     10812        static $cache = array();
    1079910813        $codepoint = (int) $codepoint;
    10800         if ($codepoint < 0)
    10801         {
    10802             return false;
     10814        if (isset($cache[$codepoint]))
     10815        {
     10816            return $cache[$codepoint];
     10817        }
     10818        elseif ($codepoint < 0)
     10819        {
     10820            return $cache[$codepoint] = false;
    1080310821        }
    1080410822        else if ($codepoint <= 0x7f)
    1080510823        {
    10806             return chr($codepoint);
     10824            return $cache[$codepoint] = chr($codepoint);
    1080710825        }
    1080810826        else if ($codepoint <= 0x7ff)
    1080910827        {
    10810             return chr(0xc0 | ($codepoint >> 6)) . chr(0x80 | ($codepoint & 0x3f));
     10828            return $cache[$codepoint] = chr(0xc0 | ($codepoint >> 6)) . chr(0x80 | ($codepoint & 0x3f));
    1081110829        }
    1081210830        else if ($codepoint <= 0xffff)
    1081310831        {
    10814             return chr(0xe0 | ($codepoint >> 12)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
     10832            return $cache[$codepoint] = chr(0xe0 | ($codepoint >> 12)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
    1081510833        }
    1081610834        else if ($codepoint <= 0x10ffff)
    1081710835        {
    10818             return chr(0xf0 | ($codepoint >> 18)) . chr(0x80 | (($codepoint >> 12) & 0x3f)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
     10836            return $cache[$codepoint] = chr(0xf0 | ($codepoint >> 18)) . chr(0x80 | (($codepoint >> 12) & 0x3f)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
    1081910837        }
    1082010838        else
    1082110839        {
    1082210840            // U+FFFD REPLACEMENT CHARACTER
    10823             return "\xEF\xBF\xBD";
     10841            return $cache[$codepoint] = "\xEF\xBF\xBD";
    1082410842        }
    1082510843    }
     
    1093910957            if ($pos = strpos($data, "\x00\x00\x00\x3F\x00\x00\x00\x3E"))
    1094010958            {
    10941                 $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32BE', 'UTF-8'));
     10959                $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32BE', 'UTF-8'));
    1094210960                if ($parser->parse())
    1094310961                {
     
    1095210970            if ($pos = strpos($data, "\x3F\x00\x00\x00\x3E\x00\x00\x00"))
    1095310971            {
    10954                 $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32LE', 'UTF-8'));
     10972                $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32LE', 'UTF-8'));
    1095510973                if ($parser->parse())
    1095610974                {
     
    1096510983            if ($pos = strpos($data, "\x00\x3F\x00\x3E"))
    1096610984            {
    10967                 $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16BE', 'UTF-8'));
     10985                $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16BE', 'UTF-8'));
    1096810986                if ($parser->parse())
    1096910987                {
     
    1097810996            if ($pos = strpos($data, "\x3F\x00\x3E\x00"))
    1097910997            {
    10980                 $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16LE', 'UTF-8'));
     10998                $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16LE', 'UTF-8'));
    1098110999                if ($parser->parse())
    1098211000                {
     
    1099111009            if ($pos = strpos($data, "\x3F\x3E"))
    1099211010            {
    10993                 $parser =& new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
     11011                $parser = new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
    1099411012                if ($parser->parse())
    1099511013                {
     
    1171711735        if (!isset($cache[get_class($this)]))
    1171811736        {
    11719             $all_methods = get_class_methods($this);
     11737            if (extension_loaded('Reflection'))
     11738            {
     11739                $class = new ReflectionClass(get_class($this));
     11740                $methods = $class->getMethods();
     11741                $all_methods = array();
     11742                foreach ($methods as $method)
     11743                {
     11744                    $all_methods[] = $method->getName();
     11745                }
     11746            }
     11747            else
     11748            {
     11749                $all_methods = get_class_methods($this);
     11750            }
    1172011751
    1172111752            foreach ($all_methods as $method)
     
    1174411775        if (!$object)
    1174511776        {
    11746             $object =& new SimplePie_Parse_Date;
     11777            $object = new SimplePie_Parse_Date;
    1174711778        }
    1174811779        return $object;
     
    1277912810        if ($this->file->method & SIMPLEPIE_FILE_SOURCE_REMOTE)
    1278012811        {
    12781             $sniffer =& new $this->content_type_sniffer_class($this->file);
     12812            $sniffer = new $this->content_type_sniffer_class($this->file);
    1278212813            if ($sniffer->get_type() !== 'text/html')
    1278312814            {
     
    1282512856        if ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE)
    1282612857        {
    12827             $sniffer =& new $this->content_type_sniffer_class($file);
     12858            $sniffer = new $this->content_type_sniffer_class($file);
    1282812859            $sniffed = $sniffer->get_type();
    1282912860            if (in_array($sniffed, array('application/rss+xml', 'application/rdf+xml', 'text/rdf', 'application/atom+xml', 'text/xml', 'application/xml')))
     
    1305313084        if (substr($data, 0, 5) === '<?xml' && strspn(substr($data, 5, 1), "\x09\x0A\x0D\x20") && ($pos = strpos($data, '?>')) !== false)
    1305413085        {
    13055             $declaration =& new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
     13086            $declaration = new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
    1305613087            if ($declaration->parse())
    1305713088            {
Note: See TracChangeset for help on using the changeset viewer.