Make WordPress Core


Ignore:
File:
1 edited

Legend:

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

    r10747 r11658  
    752752    function __destruct()
    753753    {
    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']);
     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            }
    769772        }
    770773    }
     
    16841687                $headers = $file->headers;
    16851688                $data = $file->body;
    1686                 $sniffer = new $this->content_type_sniffer_class($file);
     1689                $sniffer =& new $this->content_type_sniffer_class($file);
    16871690                $sniffed = $sniffer->get_type();
    16881691            }
     
    19621965                    if ($file->success && ($file->status_code == 200 || ($file->status_code > 206 && $file->status_code < 300)) && strlen($file->body) > 0)
    19631966                    {
    1964                         $sniffer = new $this->content_type_sniffer_class($file);
     1967                        $sniffer =& new $this->content_type_sniffer_class($file);
    19651968                        if (substr($sniffer->get_type(), 0, 6) === 'image/')
    19661969                        {
     
    30833086    function __destruct()
    30843087    {
    3085         unset($this->feed);
     3088        if ((version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode'))
     3089        {
     3090            unset($this->feed);
     3091        }
    30863092    }
    30873093
     
    56835689    }
    56845690
    5685     /**
    5686      * Remove items that link back to this before destroying this object
    5687      */
    5688     function __destruct()
    5689     {
    5690         unset($this->item);
    5691     }
    5692 
    56935691    function get_source_tags($namespace, $tag)
    56945692    {
     
    77477745                                    case 'gzip':
    77487746                                    case 'x-gzip':
    7749                                         $decoder = new SimplePie_gzdecode($this->body);
     7747                                        $decoder =& new SimplePie_gzdecode($this->body);
    77507748                                        if (!$decoder->parse())
    77517749                                        {
     
    89558953    function parse_url($url)
    89568954    {
    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         }
     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]);
    89748961    }
    89758962
     
    1055610543    function entities_decode($data)
    1055710544    {
    10558         $decoder = new SimplePie_Decode_HTML_Entities($data);
     10545        $decoder =& new SimplePie_Decode_HTML_Entities($data);
    1055910546        return $decoder->parse();
    1056010547    }
     
    1081010797    function codepoint_to_utf8($codepoint)
    1081110798    {
    10812         static $cache = array();
    1081310799        $codepoint = (int) $codepoint;
    10814         if (isset($cache[$codepoint]))
    10815         {
    10816             return $cache[$codepoint];
    10817         }
    10818         elseif ($codepoint < 0)
    10819         {
    10820             return $cache[$codepoint] = false;
     10800        if ($codepoint < 0)
     10801        {
     10802            return false;
    1082110803        }
    1082210804        else if ($codepoint <= 0x7f)
    1082310805        {
    10824             return $cache[$codepoint] = chr($codepoint);
     10806            return chr($codepoint);
    1082510807        }
    1082610808        else if ($codepoint <= 0x7ff)
    1082710809        {
    10828             return $cache[$codepoint] = chr(0xc0 | ($codepoint >> 6)) . chr(0x80 | ($codepoint & 0x3f));
     10810            return chr(0xc0 | ($codepoint >> 6)) . chr(0x80 | ($codepoint & 0x3f));
    1082910811        }
    1083010812        else if ($codepoint <= 0xffff)
    1083110813        {
    10832             return $cache[$codepoint] = chr(0xe0 | ($codepoint >> 12)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
     10814            return chr(0xe0 | ($codepoint >> 12)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
    1083310815        }
    1083410816        else if ($codepoint <= 0x10ffff)
    1083510817        {
    10836             return $cache[$codepoint] = chr(0xf0 | ($codepoint >> 18)) . chr(0x80 | (($codepoint >> 12) & 0x3f)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
     10818            return chr(0xf0 | ($codepoint >> 18)) . chr(0x80 | (($codepoint >> 12) & 0x3f)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
    1083710819        }
    1083810820        else
    1083910821        {
    1084010822            // U+FFFD REPLACEMENT CHARACTER
    10841             return $cache[$codepoint] = "\xEF\xBF\xBD";
     10823            return "\xEF\xBF\xBD";
    1084210824        }
    1084310825    }
     
    1095710939            if ($pos = strpos($data, "\x00\x00\x00\x3F\x00\x00\x00\x3E"))
    1095810940            {
    10959                 $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32BE', 'UTF-8'));
     10941                $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32BE', 'UTF-8'));
    1096010942                if ($parser->parse())
    1096110943                {
     
    1097010952            if ($pos = strpos($data, "\x3F\x00\x00\x00\x3E\x00\x00\x00"))
    1097110953            {
    10972                 $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32LE', 'UTF-8'));
     10954                $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32LE', 'UTF-8'));
    1097310955                if ($parser->parse())
    1097410956                {
     
    1098310965            if ($pos = strpos($data, "\x00\x3F\x00\x3E"))
    1098410966            {
    10985                 $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16BE', 'UTF-8'));
     10967                $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16BE', 'UTF-8'));
    1098610968                if ($parser->parse())
    1098710969                {
     
    1099610978            if ($pos = strpos($data, "\x3F\x00\x3E\x00"))
    1099710979            {
    10998                 $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16LE', 'UTF-8'));
     10980                $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16LE', 'UTF-8'));
    1099910981                if ($parser->parse())
    1100010982                {
     
    1100910991            if ($pos = strpos($data, "\x3F\x3E"))
    1101010992            {
    11011                 $parser = new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
     10993                $parser =& new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
    1101210994                if ($parser->parse())
    1101310995                {
     
    1173511717        if (!isset($cache[get_class($this)]))
    1173611718        {
    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             }
     11719            $all_methods = get_class_methods($this);
    1175111720
    1175211721            foreach ($all_methods as $method)
     
    1177511744        if (!$object)
    1177611745        {
    11777             $object = new SimplePie_Parse_Date;
     11746            $object =& new SimplePie_Parse_Date;
    1177811747        }
    1177911748        return $object;
     
    1281012779        if ($this->file->method & SIMPLEPIE_FILE_SOURCE_REMOTE)
    1281112780        {
    12812             $sniffer = new $this->content_type_sniffer_class($this->file);
     12781            $sniffer =& new $this->content_type_sniffer_class($this->file);
    1281312782            if ($sniffer->get_type() !== 'text/html')
    1281412783            {
     
    1285612825        if ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE)
    1285712826        {
    12858             $sniffer = new $this->content_type_sniffer_class($file);
     12827            $sniffer =& new $this->content_type_sniffer_class($file);
    1285912828            $sniffed = $sniffer->get_type();
    1286012829            if (in_array($sniffed, array('application/rss+xml', 'application/rdf+xml', 'text/rdf', 'application/atom+xml', 'text/xml', 'application/xml')))
     
    1308413053        if (substr($data, 0, 5) === '<?xml' && strspn(substr($data, 5, 1), "\x09\x0A\x0D\x20") && ($pos = strpos($data, '?>')) !== false)
    1308513054        {
    13086             $declaration = new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
     13055            $declaration =& new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
    1308713056            if ($declaration->parse())
    1308813057            {
Note: See TracChangeset for help on using the changeset viewer.