Fixed bug #9994: ereg* is deprecated in PHP 5.3 alpha3
[Packages/TYPO3.CMS.git] / typo3 / mod / tools / em / class.nusoap.php
index cabfab1..0199c28 100644 (file)
@@ -500,7 +500,7 @@ class nusoap_base {
                        case (is_array($val) || $type):
                                // detect if struct or array
                                $valueType = $this->isArraySimpleOrStruct($val);
-                if($valueType=='arraySimple' || ereg('^ArrayOf',$type)){
+                if($valueType=='arraySimple' || preg_match('/^ArrayOf/',$type)){
                                        $i = 0;
                                        if(is_array($val) && count($val)> 0){
                                                foreach($val as $v){
@@ -695,7 +695,7 @@ class nusoap_base {
        */
        function expandQname($qname){
                // get element prefix
-               if(strpos($qname,':') && !ereg('^http://',$qname)){
+               if(strpos($qname,':') && !preg_match('/^http:\/\//',$qname)){
                        // get unqualified name
                        $name = substr(strstr($qname,':'),1);
                        // get ns prefix
@@ -823,7 +823,7 @@ class nusoap_base {
 function timestamp_to_iso8601($timestamp,$utc=true){
        $datestr = date('Y-m-d\TH:i:sO',$timestamp);
        if($utc){
-               $eregStr =
+               $pattern = '/'.
                '([0-9]{4})-'.  // centuries & years CCYY-
                '([0-9]{2})-'.  // months MM-
                '([0-9]{2})'.   // days DD
@@ -831,9 +831,10 @@ function timestamp_to_iso8601($timestamp,$utc=true){
                '([0-9]{2}):'.  // hours hh:
                '([0-9]{2}):'.  // minutes mm:
                '([0-9]{2})(\.[0-9]*)?'. // seconds ss.ss...
-               '(Z|[+\-][0-9]{2}:?[0-9]{2})?'; // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's
+               '(Z|[+\-][0-9]{2}:?[0-9]{2})?'. // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's
+               '/';
 
-               if(ereg($eregStr,$datestr,$regs)){
+               if(preg_match($pattern,$datestr,$regs)){
                        return sprintf('%04d-%02d-%02dT%02d:%02d:%02dZ',$regs[1],$regs[2],$regs[3],$regs[4],$regs[5],$regs[6]);
                }
                return false;
@@ -849,7 +850,7 @@ function timestamp_to_iso8601($timestamp,$utc=true){
 * @access   public
 */
 function iso8601_to_timestamp($datestr){
-       $eregStr =
+       $pattern = '/'.
        '([0-9]{4})-'.  // centuries & years CCYY-
        '([0-9]{2})-'.  // months MM-
        '([0-9]{2})'.   // days DD
@@ -857,8 +858,10 @@ function iso8601_to_timestamp($datestr){
        '([0-9]{2}):'.  // hours hh:
        '([0-9]{2}):'.  // minutes mm:
        '([0-9]{2})(\.[0-9]+)?'. // seconds ss.ss...
-       '(Z|[+\-][0-9]{2}:?[0-9]{2})?'; // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's
-       if(ereg($eregStr,$datestr,$regs)){
+       '(Z|[+\-][0-9]{2}:?[0-9]{2})?'. // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's
+       '/';
+
+       if(preg_match($pattern,$datestr,$regs)){
                // not utc
                if($regs[8] != 'Z'){
                        $op = substr($regs[8],0,1);
@@ -1162,7 +1165,7 @@ class XMLSchema extends nusoap_base  {
         if(count($attrs) > 0){
                foreach($attrs as $k => $v){
                 // if ns declarations, add to class level array of valid namespaces
-                               if(ereg("^xmlns",$k)){
+                               if(preg_match('/^xmlns/',$k)){
                        //$this->xdebug("$k: $v");
                        //$this->xdebug('ns_prefix: '.$this->getPrefix($k));
                        if($ns_prefix = substr(strrchr($k,':'),1)){
@@ -1272,7 +1275,7 @@ class XMLSchema extends nusoap_base  {
                                        //                        minOccurs="0" maxOccurs="unbounded" />
                                        //                </sequence>
                                        //            </complexType>
-                                       if(isset($attrs['base']) && ereg(':Array$',$attrs['base'])){
+                                       if(isset($attrs['base']) && preg_match('/:Array$/',$attrs['base'])){
                                                $this->xdebug('complexType is unusual array');
                                                $this->complexTypes[$this->currentComplexType]['phpType'] = 'array';
                                        } else {
@@ -1291,7 +1294,7 @@ class XMLSchema extends nusoap_base  {
                                        //                        minOccurs="0" maxOccurs="unbounded" />
                                        //                </sequence>
                                        //            </complexType>
-                                       if(isset($attrs['base']) && ereg(':Array$',$attrs['base'])){
+                                       if(isset($attrs['base']) && preg_match('/:Array$/',$attrs['base'])){
                                                $this->xdebug('complexType is unusual array');
                                                $this->complexTypes[$this->currentComplexType]['phpType'] = 'array';
                                        } else {
@@ -1689,7 +1692,7 @@ class XMLSchema extends nusoap_base  {
                } elseif(isset($this->attributes[$type])){
                        $this->xdebug("in getTypeDef, found attribute $type");
                        return $this->attributes[$type];
-               } elseif (ereg('_ContainedType$', $type)) {
+               } elseif (preg_match('/_ContainedType$/', $type)) {
                        $this->xdebug("in getTypeDef, have an untyped element $type");
                        $typeDef['typeClass'] = 'simpleType';
                        $typeDef['phpType'] = 'scalar';
@@ -2024,7 +2027,7 @@ class soap_transport_http extends nusoap_base {
        function soap_transport_http($url){
                parent::nusoap_base();
                $this->setURL($url);
-               ereg('\$Revisio' . 'n: ([^ ]+)', $this->revision, $rev);
+               preg_match('/\$Revisio' . 'n: ([^ ]+)/', $this->revision, $rev);
                $this->outgoing_headers['User-Agent'] = $this->title.'/'.$this->version.' ('.$rev[1].')';
                $this->debug('set User-Agent: ' . $this->outgoing_headers['User-Agent']);
        }
@@ -2563,7 +2566,7 @@ class soap_transport_http extends nusoap_base {
                                }
                        }
                        // remove 100 header
-                       if(isset($lb) && ereg('^HTTP/1.1 100',$data)){
+                       if(isset($lb) && preg_match('/^HTTP\/1.1 100/',$data)){
                                unset($lb);
                                $data = '';
                        }//
@@ -2716,7 +2719,7 @@ class soap_transport_http extends nusoap_base {
                curl_close($this->ch);
 
                // remove 100 header(s)
-               while (ereg('^HTTP/1.1 100',$data)) {
+               while (preg_match('/^HTTP\/1.1 100/',$data)) {
                        if ($pos = strpos($data,"\r\n\r\n")) {
                                $data = ltrim(substr($data,$pos));
                        } elseif($pos = strpos($data,"\n\n") ) {
@@ -3282,7 +3285,7 @@ class wsdl extends nusoap_base {
             $this->currentSchema->schemaStartElement($parser, $name, $attrs);
             $this->appendDebug($this->currentSchema->getDebug());
             $this->currentSchema->clearDebug();
-        } elseif (ereg('schema$', $name)) {
+        } elseif (preg_match('/schema$/', $name)) {
                $this->debug('Parsing WSDL schema');
             // $this->debug("startElement for $name ($attrs[name]). status = $this->status (".$this->getLocalPart($name).")");
             $this->status = 'schema';
@@ -3301,7 +3304,7 @@ class wsdl extends nusoap_base {
             if (count($attrs) > 0) {
                                // register namespace declarations
                 foreach($attrs as $k => $v) {
-                    if (ereg("^xmlns", $k)) {
+                    if (preg_match('/^xmlns/', $k)) {
                         if ($ns_prefix = substr(strrchr($k, ':'), 1)) {
                             $this->namespaces[$ns_prefix] = $v;
                         } else {
@@ -3326,7 +3329,7 @@ class wsdl extends nusoap_base {
                 $attrs = array();
             }
             // get element prefix, namespace and name
-            if (ereg(':', $name)) {
+            if (preg_match('/:/', $name)) {
                 // get ns prefix
                 $prefix = substr($name, 0, strpos($name, ':'));
                 // get ns
@@ -3491,7 +3494,7 @@ class wsdl extends nusoap_base {
        */
        function end_element($parser, $name){
                // unset schema status
-               if (/*ereg('types$', $name) ||*/ ereg('schema$', $name)) {
+               if (/*preg_match('/types$/', $name) ||*/ preg_match('/schema$/', $name)) {
                        $this->status = "";
             $this->appendDebug($this->currentSchema->getDebug());
             $this->currentSchema->clearDebug();
@@ -4936,7 +4939,7 @@ class soap_parser extends nusoap_base {
                        $key_localpart = $this->getLocalPart($key);
                        // if ns declarations, add to class level array of valid namespaces
             if($key_prefix == 'xmlns'){
-                               if(ereg('^http://www.w3.org/[0-9]{4}/XMLSchema$',$value)){
+                               if(preg_match('/^http:\/\/www.w3.org\/[0-9]{4}\/XMLSchema$/',$value)){
                                        $this->XMLSchemaVersion = $value;
                                        $this->namespaces['xsd'] = $this->XMLSchemaVersion;
                                        $this->namespaces['xsi'] = $this->XMLSchemaVersion.'-instance';
@@ -4960,7 +4963,7 @@ class soap_parser extends nusoap_base {
                                // should do something here with the namespace of specified type?
                        } elseif($key_localpart == 'arrayType'){
                                $this->message[$pos]['type'] = 'array';
-                               /* do arrayType ereg here
+                               /* do arrayType preg_match here
                                [1]    arrayTypeValue    ::=    atype asize
                                [2]    atype    ::=    QName rank*
                                [3]    rank    ::=    '[' (',')* ']'
@@ -4968,8 +4971,8 @@ class soap_parser extends nusoap_base {
                                [5]    length    ::=    nextDimension* Digit+
                                [6]    nextDimension    ::=    Digit+ ','
                                */
-                               $expr = '([A-Za-z0-9_]+):([A-Za-z]+[A-Za-z0-9_]+)\[([0-9]+),?([0-9]*)\]';
-                               if(ereg($expr,$value,$regs)){
+                               $expr = '/([A-Za-z0-9_]+):([A-Za-z]+[A-Za-z0-9_]+)\[([0-9]+),?([0-9]*)\]/';
+                               if(preg_match($expr,$value,$regs)){
                                        $this->message[$pos]['typePrefix'] = $regs[1];
                                        $this->message[$pos]['arrayTypePrefix'] = $regs[1];
                        if (isset($this->namespaces[$regs[1]])) {
@@ -5682,7 +5685,7 @@ class soapclient extends nusoap_base  {
                // detect transport
                switch(true){
                        // http(s)
-                       case ereg('^http',$this->endpoint):
+                       case preg_match('/^http/',$this->endpoint):
                                $this->debug('transporting via HTTP');
                                if($this->persistentConnection == true && is_object($this->persistentConnection)){
                                        $http =& $this->persistentConnection;
@@ -5704,10 +5707,10 @@ class soapclient extends nusoap_base  {
                                        $http->setEncoding($this->http_encoding);
                                }
                                $this->debug('sending message, length='.strlen($msg));
-                               if(ereg('^http:',$this->endpoint)){
+                               if(preg_match('/^http:/',$this->endpoint)){
                                //if(strpos($this->endpoint,'http:')){
                                        $this->responseData = $http->send($msg,$timeout,$response_timeout,$this->cookies);
-                               } elseif(ereg('^https',$this->endpoint)){
+                               } elseif(preg_match('/^https/',$this->endpoint)){
                                //} elseif(strpos($this->endpoint,'https:')){
                                        //if(phpversion() == '4.3.0-dev'){
                                                //$response = $http->send($msg,$timeout,$response_timeout);
@@ -5765,7 +5768,7 @@ class soapclient extends nusoap_base  {
                if (strpos($headers['content-type'], '=')) {
                        $enc = str_replace('"', '', substr(strstr($headers["content-type"], '='), 1));
                        $this->debug('Got response encoding: ' . $enc);
-                       if(eregi('^(ISO-8859-1|US-ASCII|UTF-8)$',$enc)){
+                       if(preg_match('/^(ISO-8859-1|US-ASCII|UTF-8)$/i',$enc)){
                                $this->xml_encoding = strtoupper($enc);
                        } else {
                                $this->xml_encoding = 'US-ASCII';