- Grab changes from http://sourceforge.net/projects/nusoapforphp53/ to use of preg_match instead of ereg.
- Removes another PHP 5.3 issue (return of a new by reference
- Fixes an XSS vulnerability using PHP_SELF
diff -r -u a/lib/class.nusoap_base.php b/lib/class.nusoap_base.php
--- a/lib/class.nusoap_base.php 2010-09-06 18:31:49.000000000 +0800
+++ b/lib/class.nusoap_base.php 2010-09-06 18:32:28.000000000 +0800
@@ -562,7 +562,7 @@
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)){
$this->debug("serialize_val: serialize array");
$i = 0;
if(is_array($val) && count($val)> 0){
@@ -765,7 +765,7 @@
*/
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
@@ -904,7 +904,7 @@
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
@@ -912,9 +912,10 @@
'([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;
@@ -930,7 +931,7 @@
* @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
@@ -938,8 +939,9 @@
'([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);
diff -r -u a/lib/class.soapclient.php b/lib/class.soapclient.php
--- a/lib/class.soapclient.php 2010-09-06 18:31:49.000000000 +0800
+++ b/lib/class.soapclient.php 2010-09-06 18:32:28.000000000 +0800
@@ -406,7 +406,7 @@
// 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;
@@ -428,10 +428,10 @@
$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);
@@ -490,7 +490,7 @@
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';
diff -r -u a/lib/class.soap_parser.php b/lib/class.soap_parser.php
--- a/lib/class.soap_parser.php 2010-09-06 18:31:49.000000000 +0800
+++ b/lib/class.soap_parser.php 2010-09-06 18:32:28.000000000 +0800
@@ -207,7 +207,7 @@
$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';
@@ -243,8 +243,8 @@
[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]])) {
diff -r -u a/lib/class.soap_server.php b/lib/class.soap_server.php
--- a/lib/class.soap_server.php 2010-09-06 18:31:49.000000000 +0800
+++ b/lib/class.soap_server.php 2010-09-06 18:32:28.000000000 +0800
@@ -245,7 +245,7 @@
}
$this->debug("In service, query string=$qs");
- if (ereg('wsdl', $qs) ){
+ if (preg_match('/wsdl/', $qs) ){
$this->debug("In service, this is a request for WSDL");
if($this->externalWSDLURL){
if (strpos($this->externalWSDLURL,"://")!==false) { // assume URL
@@ -316,7 +316,7 @@
// get the character encoding of the incoming request
if(isset($this->headers['content-type']) && strpos($this->headers['content-type'],'=')){
$enc = str_replace('"','',substr(strstr($this->headers["content-type"],'='),1));
- 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';
@@ -345,7 +345,7 @@
$enc = substr(strstr($v, '='), 1);
$enc = str_replace('"', '', $enc);
$enc = str_replace('\\', '', $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';
@@ -379,7 +379,7 @@
$enc = substr(strstr($v, '='), 1);
$enc = str_replace('"', '', $enc);
$enc = str_replace('\\', '', $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';
@@ -717,7 +717,7 @@
$payload .= $this->getDebugAsXMLComment();
}
$this->outgoing_headers[] = "Server: $this->title Server v$this->version";
- ereg('\$Revisio' . 'n: ([^ ]+)', $this->revision, $rev);
+ preg_match('/\$Revisio' . 'n: ([^ ]+)/', $this->revision, $rev);
$this->outgoing_headers[] = "X-SOAP-Server: $this->title/$this->version (".$rev[1].")";
// Let the Web server decide about this
//$this->outgoing_headers[] = "Connection: Close\r\n";
@@ -805,7 +805,7 @@
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';
diff -r -u a/lib/class.soap_transport_http.php b/lib/class.soap_transport_http.php
--- a/lib/class.soap_transport_http.php 2010-09-06 18:31:49.000000000 +0800
+++ b/lib/class.soap_transport_http.php 2010-09-06 18:32:28.000000000 +0800
@@ -66,7 +66,7 @@
$this->ch_options = $curl_options;
}
$this->use_curl = $use_curl;
- ereg('\$Revisio' . 'n: ([^ ]+)', $this->revision, $rev);
+ preg_match('/\$Revisio' . 'n: ([^ ]+)/', $this->revision, $rev);
$this->setHeader('User-Agent', $this->title.'/'.$this->version.' ('.$rev[1].')');
}
@@ -829,7 +829,7 @@
}
}
// remove 100 headers
- if (isset($lb) && ereg('^HTTP/1.1 100',$data)) {
+ if (isset($lb) && preg_match('/^HTTP\/1.1 100/',$data)) {
unset($lb);
$data = '';
}//
@@ -995,7 +995,7 @@
if ($data == '') {
// have nothing left; just remove 100 header(s)
$data = $savedata;
- 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") ) {
diff -r -u a/lib/class.wsdl.php b/lib/class.wsdl.php
--- a/lib/class.wsdl.php 2010-09-06 18:31:49.000000000 +0800
+++ b/lib/class.wsdl.php 2010-09-06 18:50:31.000000000 +0800
@@ -302,7 +302,7 @@
$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';
@@ -321,7 +321,7 @@
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 {
@@ -346,7 +346,7 @@
$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
@@ -829,7 +829,7 @@
<br><br>
<div class=title>'.$this->serviceName.'</div>
<div class=nav>
- <p>View the <a href="'.$PHP_SELF.'?wsdl">WSDL</a> for the service.
+ <p>View the <a href="?wsdl">WSDL</a> for the service.
Click on an operation name to view it's details.</p>
<ul>';
foreach($this->getOperations() as $op => $data){
diff -r -u a/lib/nusoap.php b/lib/nusoap.php
--- a/lib/nusoap.php 2010-09-06 18:31:49.000000000 +0800
+++ b/lib/nusoap.php 2010-09-06 18:49:56.000000000 +0800
@@ -562,7 +562,7 @@
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)){
$this->debug("serialize_val: serialize array");
$i = 0;
if(is_array($val) && count($val)> 0){
@@ -765,7 +765,7 @@
*/
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
@@ -904,7 +904,7 @@
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
@@ -912,9 +912,10 @@
'([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)){
return sprintf('%04d-%02d-%02dT%02d:%02d:%02dZ',$regs[1],$regs[2],$regs[3],$regs[4],$regs[5],$regs[6]);
}
return false;
@@ -930,7 +931,7 @@
* @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
@@ -938,8 +939,10 @@
'([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);
@@ -1267,7 +1270,7 @@
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)){
@@ -1379,7 +1382,7 @@
// 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 {
@@ -1399,7 +1402,7 @@
// 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 {
@@ -1809,7 +1812,7 @@
} 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';
@@ -2173,7 +2176,7 @@
$this->ch_options = $curl_options;
}
$this->use_curl = $use_curl;
- ereg('\$Revisio' . 'n: ([^ ]+)', $this->revision, $rev);
+ preg_match('/\$Revisio' . 'n: ([^ ]+)/', $this->revision, $rev);
$this->setHeader('User-Agent', $this->title.'/'.$this->version.' ('.$rev[1].')');
}
@@ -2936,7 +2939,7 @@
}
}
// remove 100 headers
- if (isset($lb) && ereg('^HTTP/1.1 100',$data)) {
+ if (isset($lb) && preg_match('/^HTTP\/1.1 100/',$data)) {
unset($lb);
$data = '';
}//
@@ -3102,7 +3105,7 @@
if ($data == '') {
// have nothing left; just remove 100 header(s)
$data = $savedata;
- 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") ) {
@@ -3654,7 +3657,7 @@
}
$this->debug("In service, query string=$qs");
- if (ereg('wsdl', $qs) ){
+ if (preg_match('/wsdl/', $qs) ){
$this->debug("In service, this is a request for WSDL");
if($this->externalWSDLURL){
if (strpos($this->externalWSDLURL,"://")!==false) { // assume URL
@@ -3725,7 +3728,7 @@
// get the character encoding of the incoming request
if(isset($this->headers['content-type']) && strpos($this->headers['content-type'],'=')){
$enc = str_replace('"','',substr(strstr($this->headers["content-type"],'='),1));
- 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';
@@ -3754,7 +3757,7 @@
$enc = substr(strstr($v, '='), 1);
$enc = str_replace('"', '', $enc);
$enc = str_replace('\\', '', $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';
@@ -3788,7 +3791,7 @@
$enc = substr(strstr($v, '='), 1);
$enc = str_replace('"', '', $enc);
$enc = str_replace('\\', '', $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';
@@ -4018,7 +4021,7 @@
function serialize_return() {
$this->debug('Entering serialize_return methodname: ' . $this->methodname . ' methodURI: ' . $this->methodURI);
// if fault
- if (isset($this->methodreturn) && ((get_class($this->methodreturn) == 'soap_fault') || (get_class($this->methodreturn) == 'nusoap_fault'))) {
+ if (isset($this->methodreturn) && ((get_class((object)$this->methodreturn) == 'soap_fault') || (get_class((object)$this->methodreturn) == 'nusoap_fault'))) {
$this->debug('got a fault object from method');
$this->fault = $this->methodreturn;
return;
@@ -4126,7 +4129,7 @@
$payload .= $this->getDebugAsXMLComment();
}
$this->outgoing_headers[] = "Server: $this->title Server v$this->version";
- ereg('\$Revisio' . 'n: ([^ ]+)', $this->revision, $rev);
+ preg_match('/\$Revisio' . 'n: ([^ ]+)/', $this->revision, $rev);
$this->outgoing_headers[] = "X-SOAP-Server: $this->title/$this->version (".$rev[1].")";
// Let the Web server decide about this
//$this->outgoing_headers[] = "Connection: Close\r\n";
@@ -4214,7 +4217,7 @@
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';
@@ -4781,7 +4784,7 @@
$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';
@@ -4800,7 +4803,7 @@
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 {
@@ -4825,7 +4828,7 @@
$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
@@ -4990,7 +4993,7 @@
*/
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();
@@ -5308,7 +5311,7 @@
<br><br>
<div class=title>'.$this->serviceName.'</div>
<div class=nav>
- <p>View the <a href="'.$PHP_SELF.'?wsdl">WSDL</a> for the service.
+ <p>View the <a href="?wsdl">WSDL</a> for the service.
Click on an operation name to view it's details.</p>
<ul>';
foreach($this->getOperations() as $op => $data){
@@ -6587,7 +6590,7 @@
$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';
@@ -6623,8 +6626,8 @@
[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]])) {
@@ -7378,7 +7381,7 @@
*/
function loadWSDL() {
$this->debug('instantiating wsdl class with doc: '.$this->wsdlFile);
- $this->wsdl =& new wsdl('',$this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword,$this->timeout,$this->response_timeout,$this->curl_options,$this->use_curl);
+ $this->wsdl = new wsdl('',$this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword,$this->timeout,$this->response_timeout,$this->curl_options,$this->use_curl);
$this->wsdl->setCredentials($this->username, $this->password, $this->authtype, $this->certRequest);
$this->wsdl->fetchWSDL($this->wsdlFile);
$this->checkWSDL();
@@ -7422,7 +7425,7 @@
// 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;
@@ -7444,10 +7447,10 @@
$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);
@@ -7506,7 +7509,7 @@
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';