WordPress.org

Make WordPress Core

Changeset 11657


Ignore:
Timestamp:
06/27/09 22:12:18 (5 years ago)
Author:
ryan
Message:

Fix compat with zend.ze1_compatibility_mode. Props gsnedders. fixes #10222 for trunk

File:
1 edited

Legend:

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

    r11599 r11657  
    752752    function __destruct() 
    753753    { 
    754         if (version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) 
     754        if ((version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode')) 
    755755        { 
    756756            if (!empty($this->data['items'])) 
     
    16871687                $headers = $file->headers; 
    16881688                $data = $file->body; 
    1689                 $sniffer = new $this->content_type_sniffer_class($file); 
     1689                $sniffer =& new $this->content_type_sniffer_class($file); 
    16901690                $sniffed = $sniffer->get_type(); 
    16911691            } 
     
    19651965                    if ($file->success && ($file->status_code == 200 || ($file->status_code > 206 && $file->status_code < 300)) && strlen($file->body) > 0) 
    19661966                    { 
    1967                         $sniffer = new $this->content_type_sniffer_class($file); 
     1967                        $sniffer =& new $this->content_type_sniffer_class($file); 
    19681968                        if (substr($sniffer->get_type(), 0, 6) === 'image/') 
    19691969                        { 
     
    30863086    function __destruct() 
    30873087    { 
    3088         if (version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) 
     3088        if ((version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode')) 
    30893089        { 
    30903090            unset($this->feed); 
     
    77457745                                    case 'gzip': 
    77467746                                    case 'x-gzip': 
    7747                                         $decoder = new SimplePie_gzdecode($this->body); 
     7747                                        $decoder =& new SimplePie_gzdecode($this->body); 
    77487748                                        if (!$decoder->parse()) 
    77497749                                        { 
     
    1054310543    function entities_decode($data) 
    1054410544    { 
    10545         $decoder = new SimplePie_Decode_HTML_Entities($data); 
     10545        $decoder =& new SimplePie_Decode_HTML_Entities($data); 
    1054610546        return $decoder->parse(); 
    1054710547    } 
     
    1093910939            if ($pos = strpos($data, "\x00\x00\x00\x3F\x00\x00\x00\x3E")) 
    1094010940            { 
    10941                 $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')); 
    1094210942                if ($parser->parse()) 
    1094310943                { 
     
    1095210952            if ($pos = strpos($data, "\x3F\x00\x00\x00\x3E\x00\x00\x00")) 
    1095310953            { 
    10954                 $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')); 
    1095510955                if ($parser->parse()) 
    1095610956                { 
     
    1096510965            if ($pos = strpos($data, "\x00\x3F\x00\x3E")) 
    1096610966            { 
    10967                 $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')); 
    1096810968                if ($parser->parse()) 
    1096910969                { 
     
    1097810978            if ($pos = strpos($data, "\x3F\x00\x3E\x00")) 
    1097910979            { 
    10980                 $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')); 
    1098110981                if ($parser->parse()) 
    1098210982                { 
     
    1099110991            if ($pos = strpos($data, "\x3F\x3E")) 
    1099210992            { 
    10993                 $parser = new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5)); 
     10993                $parser =& new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5)); 
    1099410994                if ($parser->parse()) 
    1099510995                { 
     
    1171711717        if (!isset($cache[get_class($this)])) 
    1171811718        { 
    11719             if (extension_loaded('Reflection')) 
    11720             { 
    11721                 $class = new ReflectionClass(get_class($this)); 
    11722                 $methods = $class->getMethods(); 
    11723                 $all_methods = array(); 
    11724                 foreach ($methods as $method) 
    11725                 { 
    11726                     $all_methods[] = $method->getName(); 
    11727                 } 
    11728             } 
    11729             else 
    11730             { 
    11731                 $all_methods = get_class_methods($this); 
    11732             } 
     11719            $all_methods = get_class_methods($this); 
    1173311720 
    1173411721            foreach ($all_methods as $method) 
     
    1175711744        if (!$object) 
    1175811745        { 
    11759             $object = new SimplePie_Parse_Date; 
     11746            $object =& new SimplePie_Parse_Date; 
    1176011747        } 
    1176111748        return $object; 
     
    1279212779        if ($this->file->method & SIMPLEPIE_FILE_SOURCE_REMOTE) 
    1279312780        { 
    12794             $sniffer = new $this->content_type_sniffer_class($this->file); 
     12781            $sniffer =& new $this->content_type_sniffer_class($this->file); 
    1279512782            if ($sniffer->get_type() !== 'text/html') 
    1279612783            { 
     
    1283812825        if ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE) 
    1283912826        { 
    12840             $sniffer = new $this->content_type_sniffer_class($file); 
     12827            $sniffer =& new $this->content_type_sniffer_class($file); 
    1284112828            $sniffed = $sniffer->get_type(); 
    1284212829            if (in_array($sniffed, array('application/rss+xml', 'application/rdf+xml', 'text/rdf', 'application/atom+xml', 'text/xml', 'application/xml'))) 
     
    1306613053        if (substr($data, 0, 5) === '<?xml' && strspn(substr($data, 5, 1), "\x09\x0A\x0D\x20") && ($pos = strpos($data, '?>')) !== false) 
    1306713054        { 
    13068             $declaration = new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5)); 
     13055            $declaration =& new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5)); 
    1306913056            if ($declaration->parse()) 
    1307013057            { 
Note: See TracChangeset for help on using the changeset viewer.