Completed
Push — developer ( f9e515...68a04b )
by Błażej
506:11 queued 468:51
created
install/views/Index.php 2 patches
Doc Comments   +5 added lines patch added patch discarded remove patch
@@ -19,6 +19,11 @@
 block discarded – undo
19 19
 		return false;
20 20
 	}
21 21
 
22
+	/**
23
+	 * @param Vtiger_Request $request
24
+	 *
25
+	 * @return Vtiger_Request
26
+	 */
22 27
 	public function setLanguage($request)
23 28
 	{
24 29
 		if (!$request->get('lang')) {
Please login to merge, or discard this patch.
Braces   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -87,8 +87,9 @@
 block discarded – undo
87 87
 	public function process(Vtiger_Request $request)
88 88
 	{
89 89
 		$default_charset = AppConfig::main('default_charset');
90
-		if (empty($default_charset))
91
-			$default_charset = 'UTF-8';
90
+		if (empty($default_charset)) {
91
+					$default_charset = 'UTF-8';
92
+		}
92 93
 		$mode = $request->getMode();
93 94
 		if (!empty($mode) && $this->isMethodExposed($mode)) {
94 95
 			return $this->$mode($request);
Please login to merge, or discard this patch.
libraries/nusoap/class.nusoap_base.php 3 patches
Doc Comments   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -306,7 +306,7 @@  discard block
 block discarded – undo
306 306
 	/**
307 307
 	* gets the current debug data for this instance
308 308
 	*
309
-	* @return   debug data
309
+	* @return   string data
310 310
 	* @access   public
311 311
 	*/
312 312
 	public function &getDebug() {
@@ -319,7 +319,7 @@  discard block
 block discarded – undo
319 319
 	* gets the current debug data for this instance as an XML comment
320 320
 	* this may change the contents of the debug data
321 321
 	*
322
-	* @return   debug data as an XML comment
322
+	* @return   string data as an XML comment
323 323
 	* @access   public
324 324
 	*/
325 325
 	public function &getDebugAsXMLComment() {
@@ -352,7 +352,7 @@  discard block
 block discarded – undo
352 352
 	/**
353 353
 	* returns error string if present
354 354
 	*
355
-	* @return   mixed error string or false
355
+	* @return   string|false error string or false
356 356
 	* @access   public
357 357
 	*/
358 358
 	public function getError(){
@@ -365,7 +365,7 @@  discard block
 block discarded – undo
365 365
 	/**
366 366
 	* sets error string
367 367
 	*
368
-	* @return   boolean $string error string
368
+	* @return   boolean|null $string error string
369 369
 	* @access   private
370 370
 	*/
371 371
 	public function setError($str){
@@ -800,7 +800,7 @@  discard block
 block discarded – undo
800 800
     * returns false, if not prefixed
801 801
     *
802 802
     * @param string $str The prefixed string
803
-    * @return mixed The prefix or false if there is no prefix
803
+    * @return string|false The prefix or false if there is no prefix
804 804
     * @access public
805 805
     */
806 806
 	public function getPrefix($str){
@@ -830,7 +830,7 @@  discard block
 block discarded – undo
830 830
     * or false if no prefixes registered for the given namespace
831 831
     *
832 832
     * @param string $ns The namespace
833
-    * @return mixed The prefix, false if the namespace has no prefixes
833
+    * @return string The prefix, false if the namespace has no prefixes
834 834
     * @access public
835 835
     */
836 836
 	public function getPrefixFromNamespace($ns) {
@@ -896,7 +896,7 @@  discard block
 block discarded – undo
896 896
 *
897 897
 * @param    int $timestamp Unix time stamp
898 898
 * @param	boolean $utc Whether the time stamp is UTC or local
899
-* @return	mixed ISO 8601 date string or false
899
+* @return	string|false ISO 8601 date string or false
900 900
 * @access   public
901 901
 */
902 902
 function timestamp_to_iso8601($timestamp,$utc=true){
Please login to merge, or discard this patch.
Indentation   +244 added lines, -244 removed lines patch added patch discarded remove patch
@@ -104,21 +104,21 @@  discard block
 block discarded – undo
104 104
 	 * @access private
105 105
 	 */
106 106
 	public $revision = '$Revision: 1.57 $';
107
-    /**
108
-     * Current error string (manipulated by getError/setError)
107
+	/**
108
+	 * Current error string (manipulated by getError/setError)
109 109
 	 *
110 110
 	 * @var string
111 111
 	 * @access private
112 112
 	 */
113 113
 	public $error_str = '';
114
-    /**
115
-     * Current debug string (manipulated by debug/appendDebug/clearDebug/getDebug/getDebugAsXMLComment)
114
+	/**
115
+	 * Current debug string (manipulated by debug/appendDebug/clearDebug/getDebug/getDebugAsXMLComment)
116 116
 	 *
117 117
 	 * @var string
118 118
 	 * @access private
119 119
 	 */
120
-    public $debug_str = '';
121
-    /**
120
+	public $debug_str = '';
121
+	/**
122 122
 	 * toggles automatic encoding of special characters as entities
123 123
 	 * (should always be true, I think)
124 124
 	 *
@@ -134,31 +134,31 @@  discard block
 block discarded – undo
134 134
 	 */
135 135
 	public $debugLevel;
136 136
 
137
-    /**
138
-	* set schema version
139
-	*
140
-	* @var      string
141
-	* @access   public
142
-	*/
137
+	/**
138
+	 * set schema version
139
+	 *
140
+	 * @var      string
141
+	 * @access   public
142
+	 */
143 143
 	public $XMLSchemaVersion = 'http://www.w3.org/2001/XMLSchema';
144 144
 	
145
-    /**
146
-	* charset encoding for outgoing messages
147
-	*
148
-	* @var      string
149
-	* @access   public
150
-	*/
151
-    public $soap_defencoding = 'UTF-8';
145
+	/**
146
+	 * charset encoding for outgoing messages
147
+	 *
148
+	 * @var      string
149
+	 * @access   public
150
+	 */
151
+	public $soap_defencoding = 'UTF-8';
152 152
 	//var $soap_defencoding = 'UTF-8';
153 153
 
154 154
 	/**
155
-	* namespaces in an array of prefix => uri
156
-	*
157
-	* this is "seeded" by a set of constants, but it may be altered by code
158
-	*
159
-	* @var      array
160
-	* @access   public
161
-	*/
155
+	 * namespaces in an array of prefix => uri
156
+	 *
157
+	 * this is "seeded" by a set of constants, but it may be altered by code
158
+	 *
159
+	 * @var      array
160
+	 * @access   public
161
+	 */
162 162
 	public $namespaces = array(
163 163
 		'SOAP-ENV' => 'http://schemas.xmlsoap.org/soap/envelope/',
164 164
 		'xsd' => 'http://www.w3.org/2001/XMLSchema',
@@ -167,20 +167,20 @@  discard block
 block discarded – undo
167 167
 		);
168 168
 
169 169
 	/**
170
-	* namespaces used in the current context, e.g. during serialization
171
-	*
172
-	* @var      array
173
-	* @access   private
174
-	*/
170
+	 * namespaces used in the current context, e.g. during serialization
171
+	 *
172
+	 * @var      array
173
+	 * @access   private
174
+	 */
175 175
 	public $usedNamespaces = array();
176 176
 
177 177
 	/**
178
-	* XML Schema types in an array of uri => (array of xml type => php type)
179
-	* is this legacy yet?
180
-	* no, this is used by the nusoap_xmlschema class to verify type => namespace mappings.
181
-	* @var      array
182
-	* @access   public
183
-	*/
178
+	 * XML Schema types in an array of uri => (array of xml type => php type)
179
+	 * is this legacy yet?
180
+	 * no, this is used by the nusoap_xmlschema class to verify type => namespace mappings.
181
+	 * @var      array
182
+	 * @access   public
183
+	 */
184 184
 	public $typemap = array(
185 185
 	'http://www.w3.org/2001/XMLSchema' => array(
186 186
 		'string'=>'string','boolean'=>'boolean','float'=>'double','double'=>'double','decimal'=>'double',
@@ -203,75 +203,75 @@  discard block
 block discarded – undo
203 203
 		'timeInstant'=>'string','base64Binary'=>'string','base64'=>'string','ur-type'=>'array'),
204 204
 	'http://soapinterop.org/xsd' => array('SOAPStruct'=>'struct'),
205 205
 	'http://schemas.xmlsoap.org/soap/encoding/' => array('base64'=>'string','array'=>'array','Array'=>'array'),
206
-    'http://xml.apache.org/xml-soap' => array('Map')
206
+	'http://xml.apache.org/xml-soap' => array('Map')
207 207
 	);
208 208
 
209 209
 	/**
210
-	* XML entities to convert
211
-	*
212
-	* @var      array
213
-	* @access   public
214
-	* @deprecated
215
-	* @see	expandEntities
216
-	*/
210
+	 * XML entities to convert
211
+	 *
212
+	 * @var      array
213
+	 * @access   public
214
+	 * @deprecated
215
+	 * @see	expandEntities
216
+	 */
217 217
 	public $xmlEntities = array('quot' => '"','amp' => '&',
218 218
 		'lt' => '<','gt' => '>','apos' => "'");
219 219
 
220 220
 	/**
221
-	* constructor
222
-	*
223
-	* @access	public
224
-	*/
221
+	 * constructor
222
+	 *
223
+	 * @access	public
224
+	 */
225 225
 	public function nusoap_base() {
226 226
 		$this->debugLevel = $GLOBALS['_transient']['static']['nusoap_base']['globalDebugLevel'];
227 227
 	}
228 228
 
229 229
 	/**
230
-	* gets the global debug level, which applies to future instances
231
-	*
232
-	* @return	integer	Debug level 0-9, where 0 turns off
233
-	* @access	public
234
-	*/
230
+	 * gets the global debug level, which applies to future instances
231
+	 *
232
+	 * @return	integer	Debug level 0-9, where 0 turns off
233
+	 * @access	public
234
+	 */
235 235
 	public function getGlobalDebugLevel() {
236 236
 		return $GLOBALS['_transient']['static']['nusoap_base']['globalDebugLevel'];
237 237
 	}
238 238
 
239 239
 	/**
240
-	* sets the global debug level, which applies to future instances
241
-	*
242
-	* @param	int	$level	Debug level 0-9, where 0 turns off
243
-	* @access	public
244
-	*/
240
+	 * sets the global debug level, which applies to future instances
241
+	 *
242
+	 * @param	int	$level	Debug level 0-9, where 0 turns off
243
+	 * @access	public
244
+	 */
245 245
 	public function setGlobalDebugLevel($level) {
246 246
 		$GLOBALS['_transient']['static']['nusoap_base']['globalDebugLevel'] = $level;
247 247
 	}
248 248
 
249 249
 	/**
250
-	* gets the debug level for this instance
251
-	*
252
-	* @return	int	Debug level 0-9, where 0 turns off
253
-	* @access	public
254
-	*/
250
+	 * gets the debug level for this instance
251
+	 *
252
+	 * @return	int	Debug level 0-9, where 0 turns off
253
+	 * @access	public
254
+	 */
255 255
 	public function getDebugLevel() {
256 256
 		return $this->debugLevel;
257 257
 	}
258 258
 
259 259
 	/**
260
-	* sets the debug level for this instance
261
-	*
262
-	* @param	int	$level	Debug level 0-9, where 0 turns off
263
-	* @access	public
264
-	*/
260
+	 * sets the debug level for this instance
261
+	 *
262
+	 * @param	int	$level	Debug level 0-9, where 0 turns off
263
+	 * @access	public
264
+	 */
265 265
 	public function setDebugLevel($level) {
266 266
 		$this->debugLevel = $level;
267 267
 	}
268 268
 
269 269
 	/**
270
-	* adds debug data to the instance debug string with formatting
271
-	*
272
-	* @param    string $string debug data
273
-	* @access   private
274
-	*/
270
+	 * adds debug data to the instance debug string with formatting
271
+	 *
272
+	 * @param    string $string debug data
273
+	 * @access   private
274
+	 */
275 275
 	public function debug($string){
276 276
 		if ($this->debugLevel > 0) {
277 277
 			$this->appendDebug($this->getmicrotime().' '.get_class($this).": $string\n");
@@ -279,11 +279,11 @@  discard block
 block discarded – undo
279 279
 	}
280 280
 
281 281
 	/**
282
-	* adds debug data to the instance debug string without formatting
283
-	*
284
-	* @param    string $string debug data
285
-	* @access   public
286
-	*/
282
+	 * adds debug data to the instance debug string without formatting
283
+	 *
284
+	 * @param    string $string debug data
285
+	 * @access   public
286
+	 */
287 287
 	public function appendDebug($string){
288 288
 		if ($this->debugLevel > 0) {
289 289
 			// it would be nice to use a memory stream here to use
@@ -293,10 +293,10 @@  discard block
 block discarded – undo
293 293
 	}
294 294
 
295 295
 	/**
296
-	* clears the current debug data for this instance
297
-	*
298
-	* @access   public
299
-	*/
296
+	 * clears the current debug data for this instance
297
+	 *
298
+	 * @access   public
299
+	 */
300 300
 	public function clearDebug() {
301 301
 		// it would be nice to use a memory stream here to use
302 302
 		// memory more efficiently
@@ -304,11 +304,11 @@  discard block
 block discarded – undo
304 304
 	}
305 305
 
306 306
 	/**
307
-	* gets the current debug data for this instance
308
-	*
309
-	* @return   debug data
310
-	* @access   public
311
-	*/
307
+	 * gets the current debug data for this instance
308
+	 *
309
+	 * @return   debug data
310
+	 * @access   public
311
+	 */
312 312
 	public function &getDebug() {
313 313
 		// it would be nice to use a memory stream here to use
314 314
 		// memory more efficiently
@@ -316,12 +316,12 @@  discard block
 block discarded – undo
316 316
 	}
317 317
 
318 318
 	/**
319
-	* gets the current debug data for this instance as an XML comment
320
-	* this may change the contents of the debug data
321
-	*
322
-	* @return   debug data as an XML comment
323
-	* @access   public
324
-	*/
319
+	 * gets the current debug data for this instance as an XML comment
320
+	 * this may change the contents of the debug data
321
+	 *
322
+	 * @return   debug data as an XML comment
323
+	 * @access   public
324
+	 */
325 325
 	public function &getDebugAsXMLComment() {
326 326
 		// it would be nice to use a memory stream here to use
327 327
 		// memory more efficiently
@@ -329,32 +329,32 @@  discard block
 block discarded – undo
329 329
 			$this->debug_str = str_replace('--', '- -', $this->debug_str);
330 330
 		}
331 331
 		$ret = "<!--\n" . $this->debug_str . "\n-->";
332
-    	return $ret;
332
+		return $ret;
333 333
 	}
334 334
 
335 335
 	/**
336
-	* expands entities, e.g. changes '<' to '&lt;'.
337
-	*
338
-	* @param	string	$val	The string in which to expand entities.
339
-	* @access	private
340
-	*/
336
+	 * expands entities, e.g. changes '<' to '&lt;'.
337
+	 *
338
+	 * @param	string	$val	The string in which to expand entities.
339
+	 * @access	private
340
+	 */
341 341
 	public function expandEntities($val) {
342 342
 		if ($this->charencoding) {
343
-	    	$val = str_replace('&', '&amp;', $val);
344
-	    	$val = str_replace("'", '&apos;', $val);
345
-	    	$val = str_replace('"', '&quot;', $val);
346
-	    	$val = str_replace('<', '&lt;', $val);
347
-	    	$val = str_replace('>', '&gt;', $val);
348
-	    }
349
-	    return $val;
343
+			$val = str_replace('&', '&amp;', $val);
344
+			$val = str_replace("'", '&apos;', $val);
345
+			$val = str_replace('"', '&quot;', $val);
346
+			$val = str_replace('<', '&lt;', $val);
347
+			$val = str_replace('>', '&gt;', $val);
348
+		}
349
+		return $val;
350 350
 	}
351 351
 
352 352
 	/**
353
-	* returns error string if present
354
-	*
355
-	* @return   mixed error string or false
356
-	* @access   public
357
-	*/
353
+	 * returns error string if present
354
+	 *
355
+	 * @return   mixed error string or false
356
+	 * @access   public
357
+	 */
358 358
 	public function getError(){
359 359
 		if($this->error_str != ''){
360 360
 			return $this->error_str;
@@ -363,24 +363,24 @@  discard block
 block discarded – undo
363 363
 	}
364 364
 
365 365
 	/**
366
-	* sets error string
367
-	*
368
-	* @return   boolean $string error string
369
-	* @access   private
370
-	*/
366
+	 * sets error string
367
+	 *
368
+	 * @return   boolean $string error string
369
+	 * @access   private
370
+	 */
371 371
 	public function setError($str){
372 372
 		$this->error_str = $str;
373 373
 	}
374 374
 
375 375
 	/**
376
-	* detect if array is a simple array or a struct (associative array)
377
-	*
378
-	* @param	mixed	$val	The PHP array
379
-	* @return	string	(arraySimple|arrayStruct)
380
-	* @access	private
381
-	*/
376
+	 * detect if array is a simple array or a struct (associative array)
377
+	 *
378
+	 * @param	mixed	$val	The PHP array
379
+	 * @return	string	(arraySimple|arrayStruct)
380
+	 * @access	private
381
+	 */
382 382
 	public function isArraySimpleOrStruct($val) {
383
-        $keyList = array_keys($val);
383
+		$keyList = array_keys($val);
384 384
 		foreach ($keyList as $keyListValue) {
385 385
 			if (!is_int($keyListValue)) {
386 386
 				return 'arrayStruct';
@@ -390,33 +390,33 @@  discard block
 block discarded – undo
390 390
 	}
391 391
 
392 392
 	/**
393
-	* serializes PHP values in accordance w/ section 5. Type information is
394
-	* not serialized if $use == 'literal'.
395
-	*
396
-	* @param	mixed	$val	The value to serialize
397
-	* @param	string	$name	The name (local part) of the XML element
398
-	* @param	string	$type	The XML schema type (local part) for the element
399
-	* @param	string	$name_ns	The namespace for the name of the XML element
400
-	* @param	string	$type_ns	The namespace for the type of the element
401
-	* @param	array	$attributes	The attributes to serialize as name=>value pairs
402
-	* @param	string	$use	The WSDL "use" (encoded|literal)
403
-	* @param	boolean	$soapval	Whether this is called from soapval.
404
-	* @return	string	The serialized element, possibly with child elements
405
-    * @access	public
406
-	*/
393
+	 * serializes PHP values in accordance w/ section 5. Type information is
394
+	 * not serialized if $use == 'literal'.
395
+	 *
396
+	 * @param	mixed	$val	The value to serialize
397
+	 * @param	string	$name	The name (local part) of the XML element
398
+	 * @param	string	$type	The XML schema type (local part) for the element
399
+	 * @param	string	$name_ns	The namespace for the name of the XML element
400
+	 * @param	string	$type_ns	The namespace for the type of the element
401
+	 * @param	array	$attributes	The attributes to serialize as name=>value pairs
402
+	 * @param	string	$use	The WSDL "use" (encoded|literal)
403
+	 * @param	boolean	$soapval	Whether this is called from soapval.
404
+	 * @return	string	The serialized element, possibly with child elements
405
+	 * @access	public
406
+	 */
407 407
 	public function serialize_val($val,$name=false,$type=false,$name_ns=false,$type_ns=false,$attributes=false,$use='encoded',$soapval=false) {
408 408
 		$this->debug("in serialize_val: name=$name, type=$type, name_ns=$name_ns, type_ns=$type_ns, use=$use, soapval=$soapval");
409 409
 		$this->appendDebug('value=' . $this->varDump($val));
410 410
 		$this->appendDebug('attributes=' . $this->varDump($attributes));
411 411
 		
412
-    	if (is_object($val) && get_class($val) == 'soapval' && (! $soapval)) {
413
-    		$this->debug("serialize_val: serialize soapval");
414
-        	$xml = $val->serialize($use);
412
+		if (is_object($val) && get_class($val) == 'soapval' && (! $soapval)) {
413
+			$this->debug("serialize_val: serialize soapval");
414
+			$xml = $val->serialize($use);
415 415
 			$this->appendDebug($val->getDebug());
416 416
 			$val->clearDebug();
417 417
 			$this->debug("serialize_val of soapval returning $xml");
418 418
 			return $xml;
419
-        }
419
+		}
420 420
 		// force valid name if necessary
421 421
 		if (is_numeric($name)) {
422 422
 			$name = '__numeric_' . $name;
@@ -425,7 +425,7 @@  discard block
 block discarded – undo
425 425
 		}
426 426
 		// if name has ns, add ns prefix to name
427 427
 		$xmlns = '';
428
-        if($name_ns){
428
+		if($name_ns){
429 429
 			$prefix = 'nu'.rand(1000,9999);
430 430
 			$name = $prefix.':'.$name;
431 431
 			$xmlns .= " xmlns:$prefix=\"$name_ns\"";
@@ -433,7 +433,7 @@  discard block
 block discarded – undo
433 433
 		// if type is prefixed, create type prefix
434 434
 		if($type_ns != '' && $type_ns == $this->namespaces['xsd']){
435 435
 			// need to fix this. shouldn't default to xsd if no ns specified
436
-		    // w/o checking against typemap
436
+			// w/o checking against typemap
437 437
 			$type_prefix = 'xsd';
438 438
 		} elseif($type_ns){
439 439
 			$type_prefix = 'ns'.rand(1000,9999);
@@ -448,12 +448,12 @@  discard block
 block discarded – undo
448 448
 		}
449 449
 		// serialize null value
450 450
 		if (is_null($val)) {
451
-    		$this->debug("serialize_val: serialize null");
451
+			$this->debug("serialize_val: serialize null");
452 452
 			if ($use == 'literal') {
453 453
 				$xml = "<$name$xmlns$atts/>";
454 454
 				$this->debug("serialize_val returning $xml");
455
-	        	return $xml;
456
-        	} else {
455
+				return $xml;
456
+			} else {
457 457
 				if (isset($type) && isset($type_prefix)) {
458 458
 					$type_str = " xsi:type=\"$type_prefix:$type\"";
459 459
 				} else {
@@ -461,41 +461,41 @@  discard block
 block discarded – undo
461 461
 				}
462 462
 				$xml = "<$name$xmlns$type_str$atts xsi:nil=\"true\"/>";
463 463
 				$this->debug("serialize_val returning $xml");
464
-	        	return $xml;
465
-        	}
464
+				return $xml;
465
+			}
466 466
 		}
467
-        // serialize if an xsd built-in primitive type
468
-        if($type != '' && isset($this->typemap[$this->XMLSchemaVersion][$type])){
469
-    		$this->debug("serialize_val: serialize xsd built-in primitive type");
470
-        	if (is_bool($val)) {
471
-        		if ($type == 'boolean') {
472
-	        		$val = $val ? 'true' : 'false';
473
-	        	} elseif (! $val) {
474
-	        		$val = 0;
475
-	        	}
467
+		// serialize if an xsd built-in primitive type
468
+		if($type != '' && isset($this->typemap[$this->XMLSchemaVersion][$type])){
469
+			$this->debug("serialize_val: serialize xsd built-in primitive type");
470
+			if (is_bool($val)) {
471
+				if ($type == 'boolean') {
472
+					$val = $val ? 'true' : 'false';
473
+				} elseif (! $val) {
474
+					$val = 0;
475
+				}
476 476
 			} else if (is_string($val)) {
477 477
 				$val = $this->expandEntities($val);
478 478
 			}
479 479
 			if ($use == 'literal') {
480 480
 				$xml = "<$name$xmlns$atts>$val</$name>";
481 481
 				$this->debug("serialize_val returning $xml");
482
-	        	return $xml;
483
-        	} else {
482
+				return $xml;
483
+			} else {
484 484
 				$xml = "<$name$xmlns xsi:type=\"xsd:$type\"$atts>$val</$name>";
485 485
 				$this->debug("serialize_val returning $xml");
486
-	        	return $xml;
487
-        	}
488
-        }
486
+				return $xml;
487
+			}
488
+		}
489 489
 		// detect type and serialize
490 490
 		$xml = '';
491 491
 		switch(true) {
492 492
 			case (is_bool($val) || $type == 'boolean'):
493 493
 		   		$this->debug("serialize_val: serialize boolean");
494
-        		if ($type == 'boolean') {
495
-	        		$val = $val ? 'true' : 'false';
496
-	        	} elseif (! $val) {
497
-	        		$val = 0;
498
-	        	}
494
+				if ($type == 'boolean') {
495
+					$val = $val ? 'true' : 'false';
496
+				} elseif (! $val) {
497
+					$val = 0;
498
+				}
499 499
 				if ($use == 'literal') {
500 500
 					$xml .= "<$name$xmlns$atts>$val</$name>";
501 501
 				} else {
@@ -529,12 +529,12 @@  discard block
 block discarded – undo
529 529
 				break;
530 530
 			case is_object($val):
531 531
 		   		$this->debug("serialize_val: serialize object");
532
-		    	if (get_class($val) == 'soapval') {
533
-		    		$this->debug("serialize_val: serialize soapval object");
534
-		        	$pXml = $val->serialize($use);
532
+				if (get_class($val) == 'soapval') {
533
+					$this->debug("serialize_val: serialize soapval object");
534
+					$pXml = $val->serialize($use);
535 535
 					$this->appendDebug($val->getDebug());
536 536
 					$val->clearDebug();
537
-		        } else {
537
+				} else {
538 538
 					if (! $name) {
539 539
 						$name = get_class($val);
540 540
 						$this->debug("In serialize_val, used class name $name as element name");
@@ -560,19 +560,19 @@  discard block
 block discarded – undo
560 560
 			case (is_array($val) || $type):
561 561
 				// detect if struct or array
562 562
 				$valueType = $this->isArraySimpleOrStruct($val);
563
-                if($valueType=='arraySimple' || preg_match('/^ArrayOf/',$type)){
563
+				if($valueType=='arraySimple' || preg_match('/^ArrayOf/',$type)){
564 564
 			   		$this->debug("serialize_val: serialize array");
565 565
 					$i = 0;
566 566
 					if(is_array($val) && count($val)> 0){
567 567
 						foreach($val as $v){
568
-	                    	if(is_object($v) && get_class($v) ==  'soapval'){
568
+							if(is_object($v) && get_class($v) ==  'soapval'){
569 569
 								$tt_ns = $v->type_ns;
570 570
 								$tt = $v->type;
571 571
 							} elseif (is_array($v)) {
572 572
 								$tt = $this->isArraySimpleOrStruct($v);
573 573
 							} else {
574 574
 								$tt = gettype($v);
575
-	                        }
575
+							}
576 576
 							$array_types[$tt] = 1;
577 577
 							$xml .= $this->serialize_val($v,'item',false,false,false,false,$use);
578 578
 							++$i;
@@ -655,19 +655,19 @@  discard block
 block discarded – undo
655 655
 		return $xml;
656 656
 	}
657 657
 
658
-    /**
659
-    * serializes a message
660
-    *
661
-    * @param string $body the XML of the SOAP body
662
-    * @param mixed $headers optional string of XML with SOAP header content, or array of soapval objects for SOAP headers, or associative array
663
-    * @param array $namespaces optional the namespaces used in generating the body and headers
664
-    * @param string $style optional (rpc|document)
665
-    * @param string $use optional (encoded|literal)
666
-    * @param string $encodingStyle optional (usually 'http://schemas.xmlsoap.org/soap/encoding/' for encoded)
667
-    * @return string the message
668
-    * @access public
669
-    */
670
-    public function serializeEnvelope($body,$headers=false,$namespaces=array(),$style='rpc',$use='encoded',$encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'){
658
+	/**
659
+	 * serializes a message
660
+	 *
661
+	 * @param string $body the XML of the SOAP body
662
+	 * @param mixed $headers optional string of XML with SOAP header content, or array of soapval objects for SOAP headers, or associative array
663
+	 * @param array $namespaces optional the namespaces used in generating the body and headers
664
+	 * @param string $style optional (rpc|document)
665
+	 * @param string $use optional (encoded|literal)
666
+	 * @param string $encodingStyle optional (usually 'http://schemas.xmlsoap.org/soap/encoding/' for encoded)
667
+	 * @return string the message
668
+	 * @access public
669
+	 */
670
+	public function serializeEnvelope($body,$headers=false,$namespaces=array(),$style='rpc',$use='encoded',$encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'){
671 671
 
672 672
 	$this->debug("In serializeEnvelope length=" . strlen($body) . " body (max 1000 characters)=" . substr($body, 0, 1000) . " style=$style use=$use encodingStyle=$encodingStyle");
673 673
 	$this->debug("headers:");
@@ -676,7 +676,7 @@  discard block
 block discarded – undo
676 676
 	$this->appendDebug($this->varDump($namespaces));
677 677
 
678 678
 	// serialize namespaces
679
-    $ns_string = '';
679
+	$ns_string = '';
680 680
 	foreach(array_merge($this->namespaces,$namespaces) as $k => $v){
681 681
 		$ns_string .= " xmlns:$k=\"$v\"";
682 682
 	}
@@ -709,7 +709,7 @@  discard block
 block discarded – undo
709 709
 		$body.
710 710
 	"</SOAP-ENV:Body>".
711 711
 	"</SOAP-ENV:Envelope>";
712
-    }
712
+	}
713 713
 
714 714
 	/**
715 715
 	 * formats a string to be inserted into an HTML stream
@@ -719,18 +719,18 @@  discard block
 block discarded – undo
719 719
 	 * @access public
720 720
 	 * @deprecated
721 721
 	 */
722
-    public function formatDump($str){
722
+	public function formatDump($str){
723 723
 		$str = htmlspecialchars($str);
724 724
 		return nl2br($str);
725
-    }
725
+	}
726 726
 
727 727
 	/**
728
-	* contracts (changes namespace to prefix) a qualified name
729
-	*
730
-	* @param    string $qname qname
731
-	* @return	string contracted qname
732
-	* @access   private
733
-	*/
728
+	 * contracts (changes namespace to prefix) a qualified name
729
+	 *
730
+	 * @param    string $qname qname
731
+	 * @return	string contracted qname
732
+	 * @access   private
733
+	 */
734 734
 	public function contractQname($qname){
735 735
 		// get element namespace
736 736
 		if (strrpos($qname, ':')) {
@@ -749,12 +749,12 @@  discard block
 block discarded – undo
749 749
 	}
750 750
 
751 751
 	/**
752
-	* expands (changes prefix to namespace) a qualified name
753
-	*
754
-	* @param    string $qname qname
755
-	* @return	string expanded qname
756
-	* @access   private
757
-	*/
752
+	 * expands (changes prefix to namespace) a qualified name
753
+	 *
754
+	 * @param    string $qname qname
755
+	 * @return	string expanded qname
756
+	 * @access   private
757
+	 */
758 758
 	public function expandQname($qname){
759 759
 		// get element prefix
760 760
 		if(strpos($qname,':') && !preg_match('/^http:\/\//',$qname)){
@@ -772,14 +772,14 @@  discard block
 block discarded – undo
772 772
 		}
773 773
 	}
774 774
 
775
-    /**
776
-    * returns the local part of a prefixed string
777
-    * returns the original string, if not prefixed
778
-    *
779
-    * @param string $str The prefixed string
780
-    * @return string The local part
781
-    * @access public
782
-    */
775
+	/**
776
+	 * returns the local part of a prefixed string
777
+	 * returns the original string, if not prefixed
778
+	 *
779
+	 * @param string $str The prefixed string
780
+	 * @return string The local part
781
+	 * @access public
782
+	 */
783 783
 	public function getLocalPart($str){
784 784
 		if($sstr = strrchr($str,':')){
785 785
 			// get unqualified name
@@ -790,13 +790,13 @@  discard block
 block discarded – undo
790 790
 	}
791 791
 
792 792
 	/**
793
-    * returns the prefix part of a prefixed string
794
-    * returns false, if not prefixed
795
-    *
796
-    * @param string $str The prefixed string
797
-    * @return mixed The prefix or false if there is no prefix
798
-    * @access public
799
-    */
793
+	 * returns the prefix part of a prefixed string
794
+	 * returns false, if not prefixed
795
+	 *
796
+	 * @param string $str The prefixed string
797
+	 * @return mixed The prefix or false if there is no prefix
798
+	 * @access public
799
+	 */
800 800
 	public function getPrefix($str){
801 801
 		if($pos = strrpos($str,':')){
802 802
 			// get prefix
@@ -806,12 +806,12 @@  discard block
 block discarded – undo
806 806
 	}
807 807
 
808 808
 	/**
809
-    * pass it a prefix, it returns a namespace
810
-    *
811
-    * @param string $prefix The prefix
812
-    * @return mixed The namespace, false if no namespace has the specified prefix
813
-    * @access public
814
-    */
809
+	 * pass it a prefix, it returns a namespace
810
+	 *
811
+	 * @param string $prefix The prefix
812
+	 * @return mixed The namespace, false if no namespace has the specified prefix
813
+	 * @access public
814
+	 */
815 815
 	public function getNamespaceFromPrefix($prefix){
816 816
 		if (isset($this->namespaces[$prefix])) {
817 817
 			return $this->namespaces[$prefix];
@@ -820,17 +820,17 @@  discard block
 block discarded – undo
820 820
 	}
821 821
 
822 822
 	/**
823
-    * returns the prefix for a given namespace (or prefix)
824
-    * or false if no prefixes registered for the given namespace
825
-    *
826
-    * @param string $ns The namespace
827
-    * @return mixed The prefix, false if the namespace has no prefixes
828
-    * @access public
829
-    */
823
+	 * returns the prefix for a given namespace (or prefix)
824
+	 * or false if no prefixes registered for the given namespace
825
+	 *
826
+	 * @param string $ns The namespace
827
+	 * @return mixed The prefix, false if the namespace has no prefixes
828
+	 * @access public
829
+	 */
830 830
 	public function getPrefixFromNamespace($ns) {
831 831
 		foreach ($this->namespaces as $p => $n) {
832 832
 			if ($ns == $n || $ns == $p) {
833
-			    $this->usedNamespaces[$p] = $n;
833
+				$this->usedNamespaces[$p] = $n;
834 834
 				return $p;
835 835
 			}
836 836
 		}
@@ -838,11 +838,11 @@  discard block
 block discarded – undo
838 838
 	}
839 839
 
840 840
 	/**
841
-    * returns the time in ODBC canonical form with microseconds
842
-    *
843
-    * @return string The time in ODBC canonical form with microseconds
844
-    * @access public
845
-    */
841
+	 * returns the time in ODBC canonical form with microseconds
842
+	 *
843
+	 * @return string The time in ODBC canonical form with microseconds
844
+	 * @access public
845
+	 */
846 846
 	public function getmicrotime() {
847 847
 		if (function_exists('gettimeofday')) {
848 848
 			$tod = gettimeofday();
@@ -862,17 +862,17 @@  discard block
 block discarded – undo
862 862
 	 * @return string The output of var_dump
863 863
 	 * @access public
864 864
 	 */
865
-    public function varDump($data) {
865
+	public function varDump($data) {
866 866
 		$ret_val = var_export($data, true); 
867 867
 		return $ret_val;
868 868
 	}
869 869
 
870 870
 	/**
871
-	* represents the object as a string
872
-	*
873
-	* @return	string
874
-	* @access   public
875
-	*/
871
+	 * represents the object as a string
872
+	 *
873
+	 * @return	string
874
+	 * @access   public
875
+	 */
876 876
 	public function __toString() {
877 877
 		return $this->varDump($this);
878 878
 	}
Please login to merge, or discard this patch.
Spacing   +120 added lines, -120 removed lines patch added patch discarded remove patch
@@ -183,26 +183,26 @@  discard block
 block discarded – undo
183 183
 	*/
184 184
 	public $typemap = array(
185 185
 	'http://www.w3.org/2001/XMLSchema' => array(
186
-		'string'=>'string','boolean'=>'boolean','float'=>'double','double'=>'double','decimal'=>'double',
187
-		'duration'=>'','dateTime'=>'string','time'=>'string','date'=>'string','gYearMonth'=>'',
188
-		'gYear'=>'','gMonthDay'=>'','gDay'=>'','gMonth'=>'','hexBinary'=>'string','base64Binary'=>'string',
186
+		'string'=>'string', 'boolean'=>'boolean', 'float'=>'double', 'double'=>'double', 'decimal'=>'double',
187
+		'duration'=>'', 'dateTime'=>'string', 'time'=>'string', 'date'=>'string', 'gYearMonth'=>'',
188
+		'gYear'=>'', 'gMonthDay'=>'', 'gDay'=>'', 'gMonth'=>'', 'hexBinary'=>'string', 'base64Binary'=>'string',
189 189
 		// abstract "any" types
190
-		'anyType'=>'string','anySimpleType'=>'string',
190
+		'anyType'=>'string', 'anySimpleType'=>'string',
191 191
 		// derived datatypes
192
-		'normalizedString'=>'string','token'=>'string','language'=>'','NMTOKEN'=>'','NMTOKENS'=>'','Name'=>'','NCName'=>'','ID'=>'',
193
-		'IDREF'=>'','IDREFS'=>'','ENTITY'=>'','ENTITIES'=>'','integer'=>'integer','nonPositiveInteger'=>'integer',
194
-		'negativeInteger'=>'integer','long'=>'integer','int'=>'integer','short'=>'integer','byte'=>'integer','nonNegativeInteger'=>'integer',
195
-		'unsignedLong'=>'','unsignedInt'=>'','unsignedShort'=>'','unsignedByte'=>'','positiveInteger'=>''),
192
+		'normalizedString'=>'string', 'token'=>'string', 'language'=>'', 'NMTOKEN'=>'', 'NMTOKENS'=>'', 'Name'=>'', 'NCName'=>'', 'ID'=>'',
193
+		'IDREF'=>'', 'IDREFS'=>'', 'ENTITY'=>'', 'ENTITIES'=>'', 'integer'=>'integer', 'nonPositiveInteger'=>'integer',
194
+		'negativeInteger'=>'integer', 'long'=>'integer', 'int'=>'integer', 'short'=>'integer', 'byte'=>'integer', 'nonNegativeInteger'=>'integer',
195
+		'unsignedLong'=>'', 'unsignedInt'=>'', 'unsignedShort'=>'', 'unsignedByte'=>'', 'positiveInteger'=>''),
196 196
 	'http://www.w3.org/2000/10/XMLSchema' => array(
197
-		'i4'=>'','int'=>'integer','boolean'=>'boolean','string'=>'string','double'=>'double',
198
-		'float'=>'double','dateTime'=>'string',
199
-		'timeInstant'=>'string','base64Binary'=>'string','base64'=>'string','ur-type'=>'array'),
197
+		'i4'=>'', 'int'=>'integer', 'boolean'=>'boolean', 'string'=>'string', 'double'=>'double',
198
+		'float'=>'double', 'dateTime'=>'string',
199
+		'timeInstant'=>'string', 'base64Binary'=>'string', 'base64'=>'string', 'ur-type'=>'array'),
200 200
 	'http://www.w3.org/1999/XMLSchema' => array(
201
-		'i4'=>'','int'=>'integer','boolean'=>'boolean','string'=>'string','double'=>'double',
202
-		'float'=>'double','dateTime'=>'string',
203
-		'timeInstant'=>'string','base64Binary'=>'string','base64'=>'string','ur-type'=>'array'),
201
+		'i4'=>'', 'int'=>'integer', 'boolean'=>'boolean', 'string'=>'string', 'double'=>'double',
202
+		'float'=>'double', 'dateTime'=>'string',
203
+		'timeInstant'=>'string', 'base64Binary'=>'string', 'base64'=>'string', 'ur-type'=>'array'),
204 204
 	'http://soapinterop.org/xsd' => array('SOAPStruct'=>'struct'),
205
-	'http://schemas.xmlsoap.org/soap/encoding/' => array('base64'=>'string','array'=>'array','Array'=>'array'),
205
+	'http://schemas.xmlsoap.org/soap/encoding/' => array('base64'=>'string', 'array'=>'array', 'Array'=>'array'),
206 206
     'http://xml.apache.org/xml-soap' => array('Map')
207 207
 	);
208 208
 
@@ -214,8 +214,8 @@  discard block
 block discarded – undo
214 214
 	* @deprecated
215 215
 	* @see	expandEntities
216 216
 	*/
217
-	public $xmlEntities = array('quot' => '"','amp' => '&',
218
-		'lt' => '<','gt' => '>','apos' => "'");
217
+	public $xmlEntities = array('quot' => '"', 'amp' => '&',
218
+		'lt' => '<', 'gt' => '>', 'apos' => "'");
219 219
 
220 220
 	/**
221 221
 	* constructor
@@ -272,9 +272,9 @@  discard block
 block discarded – undo
272 272
 	* @param    string $string debug data
273 273
 	* @access   private
274 274
 	*/
275
-	public function debug($string){
275
+	public function debug($string) {
276 276
 		if ($this->debugLevel > 0) {
277
-			$this->appendDebug($this->getmicrotime().' '.get_class($this).": $string\n");
277
+			$this->appendDebug($this->getmicrotime() . ' ' . get_class($this) . ": $string\n");
278 278
 		}
279 279
 	}
280 280
 
@@ -284,7 +284,7 @@  discard block
 block discarded – undo
284 284
 	* @param    string $string debug data
285 285
 	* @access   public
286 286
 	*/
287
-	public function appendDebug($string){
287
+	public function appendDebug($string) {
288 288
 		if ($this->debugLevel > 0) {
289 289
 			// it would be nice to use a memory stream here to use
290 290
 			// memory more efficiently
@@ -355,8 +355,8 @@  discard block
 block discarded – undo
355 355
 	* @return   mixed error string or false
356 356
 	* @access   public
357 357
 	*/
358
-	public function getError(){
359
-		if($this->error_str != ''){
358
+	public function getError() {
359
+		if ($this->error_str != '') {
360 360
 			return $this->error_str;
361 361
 		}
362 362
 		return false;
@@ -368,7 +368,7 @@  discard block
 block discarded – undo
368 368
 	* @return   boolean $string error string
369 369
 	* @access   private
370 370
 	*/
371
-	public function setError($str){
371
+	public function setError($str) {
372 372
 		$this->error_str = $str;
373 373
 	}
374 374
 
@@ -404,12 +404,12 @@  discard block
 block discarded – undo
404 404
 	* @return	string	The serialized element, possibly with child elements
405 405
     * @access	public
406 406
 	*/
407
-	public function serialize_val($val,$name=false,$type=false,$name_ns=false,$type_ns=false,$attributes=false,$use='encoded',$soapval=false) {
407
+	public function serialize_val($val, $name = false, $type = false, $name_ns = false, $type_ns = false, $attributes = false, $use = 'encoded', $soapval = false) {
408 408
 		$this->debug("in serialize_val: name=$name, type=$type, name_ns=$name_ns, type_ns=$type_ns, use=$use, soapval=$soapval");
409 409
 		$this->appendDebug('value=' . $this->varDump($val));
410 410
 		$this->appendDebug('attributes=' . $this->varDump($attributes));
411 411
 		
412
-    	if (is_object($val) && get_class($val) == 'soapval' && (! $soapval)) {
412
+    	if (is_object($val) && get_class($val) == 'soapval' && (!$soapval)) {
413 413
     		$this->debug("serialize_val: serialize soapval");
414 414
         	$xml = $val->serialize($use);
415 415
 			$this->appendDebug($val->getDebug());
@@ -420,30 +420,30 @@  discard block
 block discarded – undo
420 420
 		// force valid name if necessary
421 421
 		if (is_numeric($name)) {
422 422
 			$name = '__numeric_' . $name;
423
-		} elseif (! $name) {
423
+		} elseif (!$name) {
424 424
 			$name = 'noname';
425 425
 		}
426 426
 		// if name has ns, add ns prefix to name
427 427
 		$xmlns = '';
428
-        if($name_ns){
429
-			$prefix = 'nu'.rand(1000,9999);
430
-			$name = $prefix.':'.$name;
428
+        if ($name_ns) {
429
+			$prefix = 'nu' . rand(1000, 9999);
430
+			$name = $prefix . ':' . $name;
431 431
 			$xmlns .= " xmlns:$prefix=\"$name_ns\"";
432 432
 		}
433 433
 		// if type is prefixed, create type prefix
434
-		if($type_ns != '' && $type_ns == $this->namespaces['xsd']){
434
+		if ($type_ns != '' && $type_ns == $this->namespaces['xsd']) {
435 435
 			// need to fix this. shouldn't default to xsd if no ns specified
436 436
 		    // w/o checking against typemap
437 437
 			$type_prefix = 'xsd';
438
-		} elseif($type_ns){
439
-			$type_prefix = 'ns'.rand(1000,9999);
438
+		} elseif ($type_ns) {
439
+			$type_prefix = 'ns' . rand(1000, 9999);
440 440
 			$xmlns .= " xmlns:$type_prefix=\"$type_ns\"";
441 441
 		}
442 442
 		// serialize attributes if present
443 443
 		$atts = '';
444
-		if($attributes){
445
-			foreach($attributes as $k => $v){
446
-				$atts .= " $k=\"".$this->expandEntities($v).'"';
444
+		if ($attributes) {
445
+			foreach ($attributes as $k => $v) {
446
+				$atts .= " $k=\"" . $this->expandEntities($v) . '"';
447 447
 			}
448 448
 		}
449 449
 		// serialize null value
@@ -465,12 +465,12 @@  discard block
 block discarded – undo
465 465
         	}
466 466
 		}
467 467
         // serialize if an xsd built-in primitive type
468
-        if($type != '' && isset($this->typemap[$this->XMLSchemaVersion][$type])){
468
+        if ($type != '' && isset($this->typemap[$this->XMLSchemaVersion][$type])) {
469 469
     		$this->debug("serialize_val: serialize xsd built-in primitive type");
470 470
         	if (is_bool($val)) {
471 471
         		if ($type == 'boolean') {
472 472
 	        		$val = $val ? 'true' : 'false';
473
-	        	} elseif (! $val) {
473
+	        	} elseif (!$val) {
474 474
 	        		$val = 0;
475 475
 	        	}
476 476
 			} else if (is_string($val)) {
@@ -488,12 +488,12 @@  discard block
 block discarded – undo
488 488
         }
489 489
 		// detect type and serialize
490 490
 		$xml = '';
491
-		switch(true) {
491
+		switch (true) {
492 492
 			case (is_bool($val) || $type == 'boolean'):
493 493
 		   		$this->debug("serialize_val: serialize boolean");
494 494
         		if ($type == 'boolean') {
495 495
 	        		$val = $val ? 'true' : 'false';
496
-	        	} elseif (! $val) {
496
+	        	} elseif (!$val) {
497 497
 	        		$val = 0;
498 498
 	        	}
499 499
 				if ($use == 'literal') {
@@ -510,7 +510,7 @@  discard block
 block discarded – undo
510 510
 					$xml .= "<$name$xmlns xsi:type=\"xsd:int\"$atts>$val</$name>";
511 511
 				}
512 512
 				break;
513
-			case (is_float($val)|| is_double($val) || $type == 'float'):
513
+			case (is_float($val) || is_double($val) || $type == 'float'):
514 514
 		   		$this->debug("serialize_val: serialize float");
515 515
 				if ($use == 'literal') {
516 516
 					$xml .= "<$name$xmlns$atts>$val</$name>";
@@ -535,17 +535,17 @@  discard block
 block discarded – undo
535 535
 					$this->appendDebug($val->getDebug());
536 536
 					$val->clearDebug();
537 537
 		        } else {
538
-					if (! $name) {
538
+					if (!$name) {
539 539
 						$name = get_class($val);
540 540
 						$this->debug("In serialize_val, used class name $name as element name");
541 541
 					} else {
542 542
 						$this->debug("In serialize_val, do not override name $name for element name for class " . get_class($val));
543 543
 					}
544
-					foreach(get_object_vars($val) as $k => $v){
545
-						$pXml = isset($pXml) ? $pXml.$this->serialize_val($v,$k,false,false,false,false,$use) : $this->serialize_val($v,$k,false,false,false,false,$use);
544
+					foreach (get_object_vars($val) as $k => $v) {
545
+						$pXml = isset($pXml) ? $pXml . $this->serialize_val($v, $k, false, false, false, false, $use) : $this->serialize_val($v, $k, false, false, false, false, $use);
546 546
 					}
547 547
 				}
548
-				if(isset($type) && isset($type_prefix)){
548
+				if (isset($type) && isset($type_prefix)) {
549 549
 					$type_str = " xsi:type=\"$type_prefix:$type\"";
550 550
 				} else {
551 551
 					$type_str = '';
@@ -560,12 +560,12 @@  discard block
 block discarded – undo
560 560
 			case (is_array($val) || $type):
561 561
 				// detect if struct or array
562 562
 				$valueType = $this->isArraySimpleOrStruct($val);
563
-                if($valueType=='arraySimple' || preg_match('/^ArrayOf/',$type)){
563
+                if ($valueType == 'arraySimple' || preg_match('/^ArrayOf/', $type)) {
564 564
 			   		$this->debug("serialize_val: serialize array");
565 565
 					$i = 0;
566
-					if(is_array($val) && count($val)> 0){
567
-						foreach($val as $v){
568
-	                    	if(is_object($v) && get_class($v) ==  'soapval'){
566
+					if (is_array($val) && count($val) > 0) {
567
+						foreach ($val as $v) {
568
+	                    	if (is_object($v) && get_class($v) == 'soapval') {
569 569
 								$tt_ns = $v->type_ns;
570 570
 								$tt = $v->type;
571 571
 							} elseif (is_array($v)) {
@@ -574,23 +574,23 @@  discard block
 block discarded – undo
574 574
 								$tt = gettype($v);
575 575
 	                        }
576 576
 							$array_types[$tt] = 1;
577
-							$xml .= $this->serialize_val($v,'item',false,false,false,false,$use);
577
+							$xml .= $this->serialize_val($v, 'item', false, false, false, false, $use);
578 578
 							++$i;
579 579
 						}
580
-						if(count($array_types) > 1){
580
+						if (count($array_types) > 1) {
581 581
 							$array_typename = 'xsd:anyType';
582
-						} elseif(isset($tt) && isset($this->typemap[$this->XMLSchemaVersion][$tt])) {
582
+						} elseif (isset($tt) && isset($this->typemap[$this->XMLSchemaVersion][$tt])) {
583 583
 							if ($tt == 'integer') {
584 584
 								$tt = 'int';
585 585
 							}
586
-							$array_typename = 'xsd:'.$tt;
587
-						} elseif(isset($tt) && $tt == 'arraySimple'){
586
+							$array_typename = 'xsd:' . $tt;
587
+						} elseif (isset($tt) && $tt == 'arraySimple') {
588 588
 							$array_typename = 'SOAP-ENC:Array';
589
-						} elseif(isset($tt) && $tt == 'arrayStruct'){
589
+						} elseif (isset($tt) && $tt == 'arrayStruct') {
590 590
 							$array_typename = 'unnamed_struct_use_soapval';
591 591
 						} else {
592 592
 							// if type is prefixed, create type prefix
593
-							if ($tt_ns != '' && $tt_ns == $this->namespaces['xsd']){
593
+							if ($tt_ns != '' && $tt_ns == $this->namespaces['xsd']) {
594 594
 								 $array_typename = 'xsd:' . $tt;
595 595
 							} elseif ($tt_ns) {
596 596
 								$tt_prefix = 'ns' . rand(1000, 9999);
@@ -606,7 +606,7 @@  discard block
 block discarded – undo
606 606
 						} else if (isset($type) && isset($type_prefix)) {
607 607
 							$type_str = " xsi:type=\"$type_prefix:$type\"";
608 608
 						} else {
609
-							$type_str = " xsi:type=\"SOAP-ENC:Array\" SOAP-ENC:arrayType=\"".$array_typename."[$array_type]\"";
609
+							$type_str = " xsi:type=\"SOAP-ENC:Array\" SOAP-ENC:arrayType=\"" . $array_typename . "[$array_type]\"";
610 610
 						}
611 611
 					// empty array
612 612
 					} else {
@@ -618,11 +618,11 @@  discard block
 block discarded – undo
618 618
 							$type_str = " xsi:type=\"SOAP-ENC:Array\" SOAP-ENC:arrayType=\"xsd:anyType[0]\"";
619 619
 						}
620 620
 					}
621
-					$xml = "<$name$xmlns$type_str$atts>".$xml."</$name>";
621
+					$xml = "<$name$xmlns$type_str$atts>" . $xml . "</$name>";
622 622
 				} else {
623 623
 					// got a struct
624 624
 			   		$this->debug("serialize_val: serialize struct");
625
-					if(isset($type) && isset($type_prefix)){
625
+					if (isset($type) && isset($type_prefix)) {
626 626
 						$type_str = " xsi:type=\"$type_prefix:$type\"";
627 627
 					} else {
628 628
 						$type_str = '';
@@ -632,15 +632,15 @@  discard block
 block discarded – undo
632 632
 					} else {
633 633
 						$xml .= "<$name$xmlns$type_str$atts>";
634 634
 					}
635
-					foreach($val as $k => $v){
635
+					foreach ($val as $k => $v) {
636 636
 						// Apache Map
637 637
 						if ($type == 'Map' && $type_ns == 'http://xml.apache.org/xml-soap') {
638 638
 							$xml .= '<item>';
639
-							$xml .= $this->serialize_val($k,'key',false,false,false,false,$use);
640
-							$xml .= $this->serialize_val($v,'value',false,false,false,false,$use);
639
+							$xml .= $this->serialize_val($k, 'key', false, false, false, false, $use);
640
+							$xml .= $this->serialize_val($v, 'value', false, false, false, false, $use);
641 641
 							$xml .= '</item>';
642 642
 						} else {
643
-							$xml .= $this->serialize_val($v,$k,false,false,false,false,$use);
643
+							$xml .= $this->serialize_val($v, $k, false, false, false, false, $use);
644 644
 						}
645 645
 					}
646 646
 					$xml .= "</$name>";
@@ -648,7 +648,7 @@  discard block
 block discarded – undo
648 648
 				break;
649 649
 			default:
650 650
 		   		$this->debug("serialize_val: serialize unknown");
651
-				$xml .= 'not detected, got '.gettype($val).' for '.$val;
651
+				$xml .= 'not detected, got ' . gettype($val) . ' for ' . $val;
652 652
 				break;
653 653
 		}
654 654
 		$this->debug("serialize_val returning $xml");
@@ -667,7 +667,7 @@  discard block
 block discarded – undo
667 667
     * @return string the message
668 668
     * @access public
669 669
     */
670
-    public function serializeEnvelope($body,$headers=false,$namespaces=array(),$style='rpc',$use='encoded',$encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'){
670
+    public function serializeEnvelope($body, $headers = false, $namespaces = array(), $style = 'rpc', $use = 'encoded', $encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/') {
671 671
 
672 672
 	$this->debug("In serializeEnvelope length=" . strlen($body) . " body (max 1000 characters)=" . substr($body, 0, 1000) . " style=$style use=$use encodingStyle=$encodingStyle");
673 673
 	$this->debug("headers:");
@@ -677,15 +677,15 @@  discard block
 block discarded – undo
677 677
 
678 678
 	// serialize namespaces
679 679
     $ns_string = '';
680
-	foreach(array_merge($this->namespaces,$namespaces) as $k => $v){
680
+	foreach (array_merge($this->namespaces, $namespaces) as $k => $v) {
681 681
 		$ns_string .= " xmlns:$k=\"$v\"";
682 682
 	}
683
-	if($encodingStyle) {
683
+	if ($encodingStyle) {
684 684
 		$ns_string = " SOAP-ENV:encodingStyle=\"$encodingStyle\"$ns_string";
685 685
 	}
686 686
 
687 687
 	// serialize headers
688
-	if($headers){
688
+	if ($headers) {
689 689
 		if (is_array($headers)) {
690 690
 			$xml = '';
691 691
 			foreach ($headers as $k => $v) {
@@ -698,16 +698,16 @@  discard block
 block discarded – undo
698 698
 			$headers = $xml;
699 699
 			$this->debug("In serializeEnvelope, serialized array of headers to $headers");
700 700
 		}
701
-		$headers = "<SOAP-ENV:Header>".$headers."</SOAP-ENV:Header>";
701
+		$headers = "<SOAP-ENV:Header>" . $headers . "</SOAP-ENV:Header>";
702 702
 	}
703 703
 	// serialize envelope
704 704
 	return
705
-	'<?xml version="1.0" encoding="'.$this->soap_defencoding .'"?'.">".
706
-	'<SOAP-ENV:Envelope'.$ns_string.">".
707
-	$headers.
708
-	"<SOAP-ENV:Body>".
709
-		$body.
710
-	"</SOAP-ENV:Body>".
705
+	'<?xml version="1.0" encoding="' . $this->soap_defencoding . '"?' . ">" .
706
+	'<SOAP-ENV:Envelope' . $ns_string . ">" .
707
+	$headers .
708
+	"<SOAP-ENV:Body>" .
709
+		$body .
710
+	"</SOAP-ENV:Body>" .
711 711
 	"</SOAP-ENV:Envelope>";
712 712
     }
713 713
 
@@ -719,7 +719,7 @@  discard block
 block discarded – undo
719 719
 	 * @access public
720 720
 	 * @deprecated
721 721
 	 */
722
-    public function formatDump($str){
722
+    public function formatDump($str) {
723 723
 		$str = htmlspecialchars($str);
724 724
 		return nl2br($str);
725 725
     }
@@ -731,7 +731,7 @@  discard block
 block discarded – undo
731 731
 	* @return	string contracted qname
732 732
 	* @access   private
733 733
 	*/
734
-	public function contractQname($qname){
734
+	public function contractQname($qname) {
735 735
 		// get element namespace
736 736
 		if (strrpos($qname, ':')) {
737 737
 			// get unqualified name
@@ -755,15 +755,15 @@  discard block
 block discarded – undo
755 755
 	* @return	string expanded qname
756 756
 	* @access   private
757 757
 	*/
758
-	public function expandQname($qname){
758
+	public function expandQname($qname) {
759 759
 		// get element prefix
760
-		if(strpos($qname,':') && !preg_match('/^http:\/\//',$qname)){
760
+		if (strpos($qname, ':') && !preg_match('/^http:\/\//', $qname)) {
761 761
 			// get unqualified name
762
-			$name = substr(strstr($qname,':'),1);
762
+			$name = substr(strstr($qname, ':'), 1);
763 763
 			// get ns prefix
764
-			$prefix = substr($qname,0,strpos($qname,':'));
765
-			if(isset($this->namespaces[$prefix])){
766
-				return $this->namespaces[$prefix].':'.$name;
764
+			$prefix = substr($qname, 0, strpos($qname, ':'));
765
+			if (isset($this->namespaces[$prefix])) {
766
+				return $this->namespaces[$prefix] . ':' . $name;
767 767
 			} else {
768 768
 				return $qname;
769 769
 			}
@@ -780,10 +780,10 @@  discard block
 block discarded – undo
780 780
     * @return string The local part
781 781
     * @access public
782 782
     */
783
-	public function getLocalPart($str){
784
-		if($sstr = strrchr($str,':')){
783
+	public function getLocalPart($str) {
784
+		if ($sstr = strrchr($str, ':')) {
785 785
 			// get unqualified name
786
-			return substr( $sstr, 1 );
786
+			return substr($sstr, 1);
787 787
 		} else {
788 788
 			return $str;
789 789
 		}
@@ -797,10 +797,10 @@  discard block
 block discarded – undo
797 797
     * @return mixed The prefix or false if there is no prefix
798 798
     * @access public
799 799
     */
800
-	public function getPrefix($str){
801
-		if($pos = strrpos($str,':')){
800
+	public function getPrefix($str) {
801
+		if ($pos = strrpos($str, ':')) {
802 802
 			// get prefix
803
-			return substr($str,0,$pos);
803
+			return substr($str, 0, $pos);
804 804
 		}
805 805
 		return false;
806 806
 	}
@@ -812,7 +812,7 @@  discard block
 block discarded – undo
812 812
     * @return mixed The namespace, false if no namespace has the specified prefix
813 813
     * @access public
814 814
     */
815
-	public function getNamespaceFromPrefix($prefix){
815
+	public function getNamespaceFromPrefix($prefix) {
816 816
 		if (isset($this->namespaces[$prefix])) {
817 817
 			return $this->namespaces[$prefix];
818 818
 		}
@@ -890,8 +890,8 @@  discard block
 block discarded – undo
890 890
 * @return	mixed ISO 8601 date string or false
891 891
 * @access   public
892 892
 */
893
-function timestamp_to_iso8601($timestamp,$utc=true){
894
-	$datestr = date('Y-m-d\TH:i:sO',$timestamp);
893
+function timestamp_to_iso8601($timestamp, $utc = true) {
894
+	$datestr = date('Y-m-d\TH:i:sO', $timestamp);
895 895
 	$pos = strrpos($datestr, "+");
896 896
 	if ($pos === false) {
897 897
 		$pos = strrpos($datestr, "-");
@@ -901,20 +901,20 @@  discard block
 block discarded – undo
901 901
 			$datestr = substr($datestr, 0, $pos + 3) . ':' . substr($datestr, -2);
902 902
 		}
903 903
 	}
904
-	if($utc){
905
-		$pattern = '/'.
906
-		'([0-9]{4})-'.	// centuries & years CCYY-
907
-		'([0-9]{2})-'.	// months MM-
908
-		'([0-9]{2})'.	// days DD
909
-		'T'.			// separator T
910
-		'([0-9]{2}):'.	// hours hh:
911
-		'([0-9]{2}):'.	// minutes mm:
912
-		'([0-9]{2})(\.[0-9]*)?'. // seconds ss.ss...
913
-		'(Z|[+\-][0-9]{2}:?[0-9]{2})?'. // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's
904
+	if ($utc) {
905
+		$pattern = '/' .
906
+		'([0-9]{4})-' . // centuries & years CCYY-
907
+		'([0-9]{2})-' . // months MM-
908
+		'([0-9]{2})' . // days DD
909
+		'T' . // separator T
910
+		'([0-9]{2}):' . // hours hh:
911
+		'([0-9]{2}):' . // minutes mm:
912
+		'([0-9]{2})(\.[0-9]*)?' . // seconds ss.ss...
913
+		'(Z|[+\-][0-9]{2}:?[0-9]{2})?' . // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's
914 914
 		'/';
915 915
 
916
-		if(preg_match($pattern,$datestr,$regs)){
917
-			return sprintf('%04d-%02d-%02dT%02d:%02d:%02dZ',$regs[1],$regs[2],$regs[3],$regs[4],$regs[5],$regs[6]);
916
+		if (preg_match($pattern, $datestr, $regs)) {
917
+			return sprintf('%04d-%02d-%02dT%02d:%02d:%02dZ', $regs[1], $regs[2], $regs[3], $regs[4], $regs[5], $regs[6]);
918 918
 		}
919 919
 		return false;
920 920
 	} else {
@@ -929,27 +929,27 @@  discard block
 block discarded – undo
929 929
 * @return	mixed Unix timestamp (int) or false
930 930
 * @access   public
931 931
 */
932
-function iso8601_to_timestamp($datestr){
933
-	$pattern = '/'.
934
-	'([0-9]{4})-'.	// centuries & years CCYY-
935
-	'([0-9]{2})-'.	// months MM-
936
-	'([0-9]{2})'.	// days DD
937
-	'T'.			// separator T
938
-	'([0-9]{2}):'.	// hours hh:
939
-	'([0-9]{2}):'.	// minutes mm:
940
-	'([0-9]{2})(\.[0-9]+)?'. // seconds ss.ss...
941
-	'(Z|[+\-][0-9]{2}:?[0-9]{2})?'. // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's
932
+function iso8601_to_timestamp($datestr) {
933
+	$pattern = '/' .
934
+	'([0-9]{4})-' . // centuries & years CCYY-
935
+	'([0-9]{2})-' . // months MM-
936
+	'([0-9]{2})' . // days DD
937
+	'T' . // separator T
938
+	'([0-9]{2}):' . // hours hh:
939
+	'([0-9]{2}):' . // minutes mm:
940
+	'([0-9]{2})(\.[0-9]+)?' . // seconds ss.ss...
941
+	'(Z|[+\-][0-9]{2}:?[0-9]{2})?' . // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's
942 942
 	'/';
943
-	if(preg_match($pattern,$datestr,$regs)){
943
+	if (preg_match($pattern, $datestr, $regs)) {
944 944
 		// not utc
945
-		if($regs[8] != 'Z'){
946
-			$op = substr($regs[8],0,1);
947
-			$h = substr($regs[8],1,2);
948
-			$m = substr($regs[8],strlen($regs[8])-2,2);
949
-			if($op == '-'){
945
+		if ($regs[8] != 'Z') {
946
+			$op = substr($regs[8], 0, 1);
947
+			$h = substr($regs[8], 1, 2);
948
+			$m = substr($regs[8], strlen($regs[8]) - 2, 2);
949
+			if ($op == '-') {
950 950
 				$regs[4] = $regs[4] + $h;
951 951
 				$regs[5] = $regs[5] + $m;
952
-			} elseif($op == '+'){
952
+			} elseif ($op == '+') {
953 953
 				$regs[4] = $regs[4] - $h;
954 954
 				$regs[5] = $regs[5] - $m;
955 955
 			}
Please login to merge, or discard this patch.
libraries/nusoap/class.soap_fault.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -43,7 +43,7 @@
 block discarded – undo
43 43
     * @param string $faultcode (SOAP-ENV:Client | SOAP-ENV:Server)
44 44
     * @param string $faultactor only used when msg routed between multiple actors
45 45
     * @param string $faultstring human readable error message
46
-    * @param mixed $faultdetail detail, typically a string or array of string
46
+    * @param string $faultdetail detail, typically a string or array of string
47 47
 	*/
48 48
 	public function nusoap_fault($faultcode,$faultactor='',$faultstring='',$faultdetail=''){
49 49
 		parent::nusoap_base();
Please login to merge, or discard this patch.
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -38,13 +38,13 @@  discard block
 block discarded – undo
38 38
 	var $faultdetail;
39 39
 
40 40
 	/**
41
-	* constructor
42
-    *
43
-    * @param string $faultcode (SOAP-ENV:Client | SOAP-ENV:Server)
44
-    * @param string $faultactor only used when msg routed between multiple actors
45
-    * @param string $faultstring human readable error message
46
-    * @param mixed $faultdetail detail, typically a string or array of string
47
-	*/
41
+	 * constructor
42
+	 *
43
+	 * @param string $faultcode (SOAP-ENV:Client | SOAP-ENV:Server)
44
+	 * @param string $faultactor only used when msg routed between multiple actors
45
+	 * @param string $faultstring human readable error message
46
+	 * @param mixed $faultdetail detail, typically a string or array of string
47
+	 */
48 48
 	public function nusoap_fault($faultcode,$faultactor='',$faultstring='',$faultdetail=''){
49 49
 		parent::nusoap_base();
50 50
 		$this->faultcode = $faultcode;
@@ -54,11 +54,11 @@  discard block
 block discarded – undo
54 54
 	}
55 55
 
56 56
 	/**
57
-	* serialize a fault
58
-	*
59
-	* @return	string	The serialization of the fault instance.
60
-	* @access   public
61
-	*/
57
+	 * serialize a fault
58
+	 *
59
+	 * @return	string	The serialization of the fault instance.
60
+	 * @access   public
61
+	 */
62 62
 	public function serialize(){
63 63
 		$ns_string = '';
64 64
 		foreach($this->namespaces as $k => $v){
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -45,7 +45,7 @@  discard block
 block discarded – undo
45 45
     * @param string $faultstring human readable error message
46 46
     * @param mixed $faultdetail detail, typically a string or array of string
47 47
 	*/
48
-	public function nusoap_fault($faultcode,$faultactor='',$faultstring='',$faultdetail=''){
48
+	public function nusoap_fault($faultcode, $faultactor = '', $faultstring = '', $faultdetail = '') {
49 49
 		parent::nusoap_base();
50 50
 		$this->faultcode = $faultcode;
51 51
 		$this->faultactor = $faultactor;
@@ -59,22 +59,22 @@  discard block
 block discarded – undo
59 59
 	* @return	string	The serialization of the fault instance.
60 60
 	* @access   public
61 61
 	*/
62
-	public function serialize(){
62
+	public function serialize() {
63 63
 		$ns_string = '';
64
-		foreach($this->namespaces as $k => $v){
64
+		foreach ($this->namespaces as $k => $v) {
65 65
 			$ns_string .= "\n  xmlns:$k=\"$v\"";
66 66
 		}
67 67
 		$return_msg =
68
-			'<?xml version="1.0" encoding="'.$this->soap_defencoding.'"?>'.
69
-			'<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"'.$ns_string.">\n".
70
-				'<SOAP-ENV:Body>'.
71
-				'<SOAP-ENV:Fault>'.
72
-					$this->serialize_val($this->faultcode, 'faultcode').
73
-					$this->serialize_val($this->faultactor, 'faultactor').
74
-					$this->serialize_val($this->faultstring, 'faultstring').
75
-					$this->serialize_val($this->faultdetail, 'detail').
76
-				'</SOAP-ENV:Fault>'.
77
-				'</SOAP-ENV:Body>'.
68
+			'<?xml version="1.0" encoding="' . $this->soap_defencoding . '"?>' .
69
+			'<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"' . $ns_string . ">\n" .
70
+				'<SOAP-ENV:Body>' .
71
+				'<SOAP-ENV:Fault>' .
72
+					$this->serialize_val($this->faultcode, 'faultcode') .
73
+					$this->serialize_val($this->faultactor, 'faultactor') .
74
+					$this->serialize_val($this->faultstring, 'faultstring') .
75
+					$this->serialize_val($this->faultdetail, 'detail') .
76
+				'</SOAP-ENV:Fault>' .
77
+				'</SOAP-ENV:Body>' .
78 78
 			'</SOAP-ENV:Envelope>';
79 79
 		return $return_msg;
80 80
 	}
Please login to merge, or discard this patch.
libraries/nusoap/class.soap_server.php 2 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -839,7 +839,7 @@
 block discarded – undo
839 839
 	 *
840 840
 	 * @param	array	$headers	The HTTP headers
841 841
 	 * @param	string	$data		unprocessed request data from client
842
-	 * @return	mixed	value of the message, decoded into a PHP type
842
+	 * @return	false|null	value of the message, decoded into a PHP type
843 843
 	 * @access   private
844 844
 	 */
845 845
 	public function parseRequest($headers, $data)
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -619,7 +619,7 @@
 block discarded – undo
619 619
 			$call_arg = array($class, $method);
620 620
 		} else {
621 621
 			$this->debug('in invoke_method, calling instance method using call_user_func_array()');
622
-			$instance = new $class ();
622
+			$instance = new $class();
623 623
 			$call_arg = array(&$instance, $method);
624 624
 		}
625 625
 		if (is_array($this->methodparams)) {
Please login to merge, or discard this patch.
libraries/nusoap/class.soap_val.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -63,7 +63,7 @@
 block discarded – undo
63 63
 	*
64 64
 	* @param    string $name optional name
65 65
 	* @param    mixed $type optional type name
66
-	* @param	mixed $value optional value
66
+	* @param	integer $value optional value
67 67
 	* @param	mixed $element_ns optional namespace of value
68 68
 	* @param	mixed $type_ns optional namespace of type
69 69
 	* @param	mixed $attributes associative array of attributes to add to element serialization
Please login to merge, or discard this patch.
Indentation   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -59,16 +59,16 @@  discard block
 block discarded – undo
59 59
 	var $attributes;
60 60
 
61 61
 	/**
62
-	* constructor
63
-	*
64
-	* @param    string $name optional name
65
-	* @param    mixed $type optional type name
66
-	* @param	mixed $value optional value
67
-	* @param	mixed $element_ns optional namespace of value
68
-	* @param	mixed $type_ns optional namespace of type
69
-	* @param	mixed $attributes associative array of attributes to add to element serialization
70
-	* @access   public
71
-	*/
62
+	 * constructor
63
+	 *
64
+	 * @param    string $name optional name
65
+	 * @param    mixed $type optional type name
66
+	 * @param	mixed $value optional value
67
+	 * @param	mixed $element_ns optional namespace of value
68
+	 * @param	mixed $type_ns optional namespace of type
69
+	 * @param	mixed $attributes associative array of attributes to add to element serialization
70
+	 * @access   public
71
+	 */
72 72
   	public function soapval($name='soapval',$type=false,$value=-1,$element_ns=false,$type_ns=false,$attributes=false) {
73 73
 		parent::nusoap_base();
74 74
 		$this->name = $name;
@@ -77,25 +77,25 @@  discard block
 block discarded – undo
77 77
 		$this->element_ns = $element_ns;
78 78
 		$this->type_ns = $type_ns;
79 79
 		$this->attributes = $attributes;
80
-    }
80
+	}
81 81
 
82 82
 	/**
83
-	* return serialized value
84
-	*
85
-	* @param	string $use The WSDL use value (encoded|literal)
86
-	* @return	string XML data
87
-	* @access   public
88
-	*/
83
+	 * return serialized value
84
+	 *
85
+	 * @param	string $use The WSDL use value (encoded|literal)
86
+	 * @return	string XML data
87
+	 * @access   public
88
+	 */
89 89
 	public function serialize($use='encoded') {
90 90
 		return $this->serialize_val($this->value, $this->name, $this->type, $this->element_ns, $this->type_ns, $this->attributes, $use, true);
91
-    }
91
+	}
92 92
 
93 93
 	/**
94
-	* decodes a soapval object into a PHP native type
95
-	*
96
-	* @return	mixed
97
-	* @access   public
98
-	*/
94
+	 * decodes a soapval object into a PHP native type
95
+	 *
96
+	 * @return	mixed
97
+	 * @access   public
98
+	 */
99 99
 	public function decode(){
100 100
 		return $this->value;
101 101
 	}
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
 	* @param	mixed $attributes associative array of attributes to add to element serialization
70 70
 	* @access   public
71 71
 	*/
72
-  	public function soapval($name='soapval',$type=false,$value=-1,$element_ns=false,$type_ns=false,$attributes=false) {
72
+  	public function soapval($name = 'soapval', $type = false, $value = -1, $element_ns = false, $type_ns = false, $attributes = false) {
73 73
 		parent::nusoap_base();
74 74
 		$this->name = $name;
75 75
 		$this->type = $type;
@@ -86,7 +86,7 @@  discard block
 block discarded – undo
86 86
 	* @return	string XML data
87 87
 	* @access   public
88 88
 	*/
89
-	public function serialize($use='encoded') {
89
+	public function serialize($use = 'encoded') {
90 90
 		return $this->serialize_val($this->value, $this->name, $this->type, $this->element_ns, $this->type_ns, $this->attributes, $use, true);
91 91
     }
92 92
 
@@ -96,7 +96,7 @@  discard block
 block discarded – undo
96 96
 	* @return	mixed
97 97
 	* @access   public
98 98
 	*/
99
-	public function decode(){
99
+	public function decode() {
100 100
 		return $this->value;
101 101
 	}
102 102
 }
Please login to merge, or discard this patch.
libraries/nusoap/class.wsdl.php 4 patches
Doc Comments   +4 added lines, -3 removed lines patch added patch discarded remove patch
@@ -88,6 +88,7 @@  discard block
 block discarded – undo
88 88
 	 * fetches the WSDL document and parses it
89 89
 	 *
90 90
 	 * @access public
91
+	 * @param string $wsdl
91 92
 	 */
92 93
 	public function fetchWSDL($wsdl) {
93 94
 		$this->debug("parse and process WSDL path=$wsdl");
@@ -882,7 +883,7 @@  discard block
 block discarded – undo
882 883
 	/**
883 884
 	* serialize the parsed wsdl
884 885
 	*
885
-	* @param mixed $debug whether to put debug=1 in endpoint URL
886
+	* @param integer $debug whether to put debug=1 in endpoint URL
886 887
 	* @return string serialization of WSDL
887 888
 	* @access public 
888 889
 	*/
@@ -1105,7 +1106,7 @@  discard block
 block discarded – undo
1105 1106
 	 * @param string $direction (input|output)
1106 1107
 	 * @param mixed $parameters parameter value(s)
1107 1108
 	 * @param string $bindingType (soap|soap12)
1108
-	 * @return mixed parameters serialized as XML or false on error (e.g. operation not found)
1109
+	 * @return false|string parameters serialized as XML or false on error (e.g. operation not found)
1109 1110
 	 * @access public
1110 1111
 	 */
1111 1112
 	public function serializeRPCParameters($operation, $direction, $parameters, $bindingType = 'soap') {
@@ -1205,7 +1206,7 @@  discard block
 block discarded – undo
1205 1206
 	 * @param string $operation operation name
1206 1207
 	 * @param string $direction (input|output)
1207 1208
 	 * @param mixed $parameters parameter value(s)
1208
-	 * @return mixed parameters serialized as XML or false on error (e.g. operation not found)
1209
+	 * @return false|string parameters serialized as XML or false on error (e.g. operation not found)
1209 1210
 	 * @access public
1210 1211
 	 * @deprecated
1211 1212
 	 */
Please login to merge, or discard this patch.
Braces   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -78,8 +78,9 @@
 block discarded – undo
78 78
 		$this->proxypassword = $proxypassword;
79 79
 		$this->timeout = $timeout;
80 80
 		$this->response_timeout = $response_timeout;
81
-		if (is_array($curl_options))
82
-			$this->curl_options = $curl_options;
81
+		if (is_array($curl_options)) {
82
+					$this->curl_options = $curl_options;
83
+		}
83 84
 		$this->use_curl = $use_curl;
84 85
 		$this->fetchWSDL($wsdl);
85 86
     }
Please login to merge, or discard this patch.
Spacing   +125 added lines, -127 removed lines patch added patch discarded remove patch
@@ -47,13 +47,13 @@  discard block
 block discarded – undo
47 47
 	public $proxypassword = '';
48 48
 	public $timeout = 0;
49 49
 	public $response_timeout = 30;
50
-	public $curl_options = array();	// User-specified cURL options
51
-	public $use_curl = false;			// whether to always try to use cURL
50
+	public $curl_options = array(); // User-specified cURL options
51
+	public $use_curl = false; // whether to always try to use cURL
52 52
 	// for HTTP authentication
53
-	public $username = '';				// Username for HTTP authentication
54
-	public $password = '';				// Password for HTTP authentication
55
-	public $authtype = '';				// Type of HTTP authentication
56
-	public $certRequest = array();		// Certificate for HTTP SSL authentication
53
+	public $username = ''; // Username for HTTP authentication
54
+	public $password = ''; // Password for HTTP authentication
55
+	public $authtype = ''; // Type of HTTP authentication
56
+	public $certRequest = array(); // Certificate for HTTP SSL authentication
57 57
 
58 58
     /**
59 59
      * constructor
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
 	 * @param boolean $use_curl try to use cURL
70 70
      * @access public 
71 71
      */
72
-    public function wsdl($wsdl = '',$proxyhost=false,$proxyport=false,$proxyusername=false,$proxypassword=false,$timeout=0,$response_timeout=30,$curl_options=null,$use_curl=false){
72
+    public function wsdl($wsdl = '', $proxyhost = false, $proxyport = false, $proxyusername = false, $proxypassword = false, $timeout = 0, $response_timeout = 30, $curl_options = null, $use_curl = false) {
73 73
 		parent::nusoap_base();
74 74
 		$this->debug("ctor wsdl=$wsdl timeout=$timeout response_timeout=$response_timeout");
75 75
         $this->proxyhost = $proxyhost;
@@ -103,10 +103,10 @@  discard block
 block discarded – undo
103 103
     		// Schema imports
104 104
     		foreach ($this->schemas as $ns => $list) {
105 105
     			foreach ($list as $xs) {
106
-					$wsdlparts = parse_url($this->wsdl);	// this is bogusly simple!
106
+					$wsdlparts = parse_url($this->wsdl); // this is bogusly simple!
107 107
 		            foreach ($xs->imports as $ns2 => $list2) {
108 108
 		                for ($ii = 0; $ii < count($list2); $ii++) {
109
-		                	if (! $list2[$ii]['loaded']) {
109
+		                	if (!$list2[$ii]['loaded']) {
110 110
 		                		/*
111 111
 		                		 * Substituted with line below
112 112
 		                		 * because of error "Warning: attempt to modify property of non-object"
@@ -117,10 +117,10 @@  discard block
 block discarded – undo
117 117
 								if ($url != '') {
118 118
 									$urlparts = parse_url($url);
119 119
 									if (!isset($urlparts['host'])) {
120
-										$url = $wsdlparts['scheme'] . '://' . $wsdlparts['host'] . (isset($wsdlparts['port']) ? ':' .$wsdlparts['port'] : '') .
121
-												substr($wsdlparts['path'],0,strrpos($wsdlparts['path'],'/') + 1) .$urlparts['path'];
120
+										$url = $wsdlparts['scheme'] . '://' . $wsdlparts['host'] . (isset($wsdlparts['port']) ? ':' . $wsdlparts['port'] : '') .
121
+												substr($wsdlparts['path'], 0, strrpos($wsdlparts['path'], '/') + 1) . $urlparts['path'];
122 122
 									}
123
-									if (! in_array($url, $imported_urls)) {
123
+									if (!in_array($url, $imported_urls)) {
124 124
 					                	$this->parseWSDL($url);
125 125
 				                		$imported++;
126 126
 				                		$imported_urls[] = $url;
@@ -134,19 +134,19 @@  discard block
 block discarded – undo
134 134
     			}
135 135
     		}
136 136
     		// WSDL imports
137
-			$wsdlparts = parse_url($this->wsdl);	// this is bogusly simple!
137
+			$wsdlparts = parse_url($this->wsdl); // this is bogusly simple!
138 138
             foreach ($this->import as $ns => $list) {
139 139
                 for ($ii = 0; $ii < count($list); $ii++) {
140
-                	if (! $list[$ii]['loaded']) {
140
+                	if (!$list[$ii]['loaded']) {
141 141
                 		$this->import[$ns][$ii]['loaded'] = true;
142 142
                 		$url = $list[$ii]['location'];
143 143
 						if ($url != '') {
144 144
 							$urlparts = parse_url($url);
145 145
 							if (!isset($urlparts['host'])) {
146 146
 								$url = $wsdlparts['scheme'] . '://' . $wsdlparts['host'] . (isset($wsdlparts['port']) ? ':' . $wsdlparts['port'] : '') .
147
-										substr($wsdlparts['path'],0,strrpos($wsdlparts['path'],'/') + 1) .$urlparts['path'];
147
+										substr($wsdlparts['path'], 0, strrpos($wsdlparts['path'], '/') + 1) . $urlparts['path'];
148 148
 							}
149
-							if (! in_array($url, $imported_urls)) {
149
+							if (!in_array($url, $imported_urls)) {
150 150
 			                	$this->parseWSDL($url);
151 151
 		                		$imported++;
152 152
 		                		$imported_urls[] = $url;
@@ -159,30 +159,28 @@  discard block
 block discarded – undo
159 159
             } 
160 160
 		}
161 161
         // add new data to operation data
162
-        foreach($this->bindings as $binding => $bindingData) {
162
+        foreach ($this->bindings as $binding => $bindingData) {
163 163
             if (isset($bindingData['operations']) && is_array($bindingData['operations'])) {
164
-                foreach($bindingData['operations'] as $operation => $data) {
164
+                foreach ($bindingData['operations'] as $operation => $data) {
165 165
                     $this->debug('post-parse data gathering for ' . $operation);
166 166
                     $this->bindings[$binding]['operations'][$operation]['input'] = 
167 167
 						isset($this->bindings[$binding]['operations'][$operation]['input']) ? 
168
-						array_merge($this->bindings[$binding]['operations'][$operation]['input'], $this->portTypes[ $bindingData['portType'] ][$operation]['input']) :
169
-						$this->portTypes[ $bindingData['portType'] ][$operation]['input'];
168
+						array_merge($this->bindings[$binding]['operations'][$operation]['input'], $this->portTypes[$bindingData['portType']][$operation]['input']) : $this->portTypes[$bindingData['portType']][$operation]['input'];
170 169
                     $this->bindings[$binding]['operations'][$operation]['output'] = 
171 170
 						isset($this->bindings[$binding]['operations'][$operation]['output']) ?
172
-						array_merge($this->bindings[$binding]['operations'][$operation]['output'], $this->portTypes[ $bindingData['portType'] ][$operation]['output']) :
173
-						$this->portTypes[ $bindingData['portType'] ][$operation]['output'];
174
-                    if(isset($this->messages[ $this->bindings[$binding]['operations'][$operation]['input']['message'] ])){
175
-						$this->bindings[$binding]['operations'][$operation]['input']['parts'] = $this->messages[ $this->bindings[$binding]['operations'][$operation]['input']['message'] ];
171
+						array_merge($this->bindings[$binding]['operations'][$operation]['output'], $this->portTypes[$bindingData['portType']][$operation]['output']) : $this->portTypes[$bindingData['portType']][$operation]['output'];
172
+                    if (isset($this->messages[$this->bindings[$binding]['operations'][$operation]['input']['message']])) {
173
+						$this->bindings[$binding]['operations'][$operation]['input']['parts'] = $this->messages[$this->bindings[$binding]['operations'][$operation]['input']['message']];
176 174
 					}
177
-					if(isset($this->messages[ $this->bindings[$binding]['operations'][$operation]['output']['message'] ])){
178
-                   		$this->bindings[$binding]['operations'][$operation]['output']['parts'] = $this->messages[ $this->bindings[$binding]['operations'][$operation]['output']['message'] ];
175
+					if (isset($this->messages[$this->bindings[$binding]['operations'][$operation]['output']['message']])) {
176
+                   		$this->bindings[$binding]['operations'][$operation]['output']['parts'] = $this->messages[$this->bindings[$binding]['operations'][$operation]['output']['message']];
179 177
                     }
180 178
                     // Set operation style if necessary, but do not override one already provided
181 179
 					if (isset($bindingData['style']) && !isset($this->bindings[$binding]['operations'][$operation]['style'])) {
182 180
                         $this->bindings[$binding]['operations'][$operation]['style'] = $bindingData['style'];
183 181
                     }
184 182
                     $this->bindings[$binding]['operations'][$operation]['transport'] = isset($bindingData['transport']) ? $bindingData['transport'] : '';
185
-                    $this->bindings[$binding]['operations'][$operation]['documentation'] = isset($this->portTypes[ $bindingData['portType'] ][$operation]['documentation']) ? $this->portTypes[ $bindingData['portType'] ][$operation]['documentation'] : '';
183
+                    $this->bindings[$binding]['operations'][$operation]['documentation'] = isset($this->portTypes[$bindingData['portType']][$operation]['documentation']) ? $this->portTypes[$bindingData['portType']][$operation]['documentation'] : '';
186 184
                     $this->bindings[$binding]['operations'][$operation]['endpoint'] = isset($bindingData['endpoint']) ? $bindingData['endpoint'] : '';
187 185
                 } 
188 186
             } 
@@ -213,8 +211,8 @@  discard block
 block discarded – undo
213 211
 	        $tr = new soap_transport_http($wsdl, $this->curl_options, $this->use_curl);
214 212
 			$tr->request_method = 'GET';
215 213
 			$tr->useSOAPAction = false;
216
-			if($this->proxyhost && $this->proxyport){
217
-				$tr->setProxy($this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword);
214
+			if ($this->proxyhost && $this->proxyport) {
215
+				$tr->setProxy($this->proxyhost, $this->proxyport, $this->proxyusername, $this->proxypassword);
218 216
 			}
219 217
 			if ($this->authtype != '') {
220 218
 				$tr->setCredentials($this->username, $this->password, $this->authtype, array(), $this->certRequest);
@@ -223,8 +221,8 @@  discard block
 block discarded – undo
223 221
 			$wsdl_string = $tr->send('', $this->timeout, $this->response_timeout);
224 222
 			$this->appendDebug($tr->getDebug());
225 223
 			// catch errors
226
-			if($err = $tr->getError() ){
227
-				$errstr = 'Getting ' . $wsdl . ' - HTTP ERROR: '.$err;
224
+			if ($err = $tr->getError()) {
225
+				$errstr = 'Getting ' . $wsdl . ' - HTTP ERROR: ' . $err;
228 226
 				$this->debug($errstr);
229 227
 	            $this->setError($errstr);
230 228
 				unset($tr);
@@ -283,7 +281,7 @@  discard block
 block discarded – undo
283 281
         xml_parser_free($this->parser);
284 282
         $this->debug('Parsing WSDL done');
285 283
 		// catch wsdl parse errors
286
-		if($this->getError()){
284
+		if ($this->getError()) {
287 285
 			return false;
288 286
 		}
289 287
         return true;
@@ -320,8 +318,8 @@  discard block
 block discarded – undo
320 318
             // process attributes
321 319
             if (count($attrs) > 0) {
322 320
 				// register namespace declarations
323
-                foreach($attrs as $k => $v) {
324
-                    if (preg_match('/^xmlns/',$k)) {
321
+                foreach ($attrs as $k => $v) {
322
+                    if (preg_match('/^xmlns/', $k)) {
325 323
                         if ($ns_prefix = substr(strrchr($k, ':'), 1)) {
326 324
                             $this->namespaces[$ns_prefix] = $v;
327 325
                         } else {
@@ -334,7 +332,7 @@  discard block
 block discarded – undo
334 332
                     }
335 333
                 }
336 334
                 // expand each attribute prefix to its namespace
337
-                foreach($attrs as $k => $v) {
335
+                foreach ($attrs as $k => $v) {
338 336
                     $k = strpos($k, ':') ? $this->expandQname($k) : $k;
339 337
                     if ($k != 'location' && $k != 'soapAction' && $k != 'namespace') {
340 338
                         $v = strpos($v, ':') ? $this->expandQname($v) : $v;
@@ -441,8 +439,8 @@  discard block
 block discarded – undo
441 439
 					    case 'address':
442 440
 					        $this->ports[$this->currentPort]['location'] = $attrs['location'];
443 441
 					        $this->ports[$this->currentPort]['bindingType'] = $namespace;
444
-					        $this->bindings[ $this->ports[$this->currentPort]['binding'] ]['bindingType'] = $namespace;
445
-					        $this->bindings[ $this->ports[$this->currentPort]['binding'] ]['endpoint'] = $attrs['location'];
442
+					        $this->bindings[$this->ports[$this->currentPort]['binding']]['bindingType'] = $namespace;
443
+					        $this->bindings[$this->ports[$this->currentPort]['binding']]['endpoint'] = $attrs['location'];
446 444
 					        break;
447 445
 					} 
448 446
 					break;
@@ -452,13 +450,13 @@  discard block
 block discarded – undo
452 450
 			case 'import':
453 451
 			    if (isset($attrs['location'])) {
454 452
                     $this->import[$attrs['namespace']][] = array('location' => $attrs['location'], 'loaded' => false);
455
-                    $this->debug('parsing import ' . $attrs['namespace']. ' - ' . $attrs['location'] . ' (' . count($this->import[$attrs['namespace']]).')');
453
+                    $this->debug('parsing import ' . $attrs['namespace'] . ' - ' . $attrs['location'] . ' (' . count($this->import[$attrs['namespace']]) . ')');
456 454
 				} else {
457 455
                     $this->import[$attrs['namespace']][] = array('location' => '', 'loaded' => true);
458
-					if (! $this->getPrefixFromNamespace($attrs['namespace'])) {
459
-						$this->namespaces['ns'.(count($this->namespaces)+1)] = $attrs['namespace'];
456
+					if (!$this->getPrefixFromNamespace($attrs['namespace'])) {
457
+						$this->namespaces['ns' . (count($this->namespaces) + 1)] = $attrs['namespace'];
460 458
 					}
461
-                    $this->debug('parsing import ' . $attrs['namespace']. ' - [no location] (' . count($this->import[$attrs['namespace']]).')');
459
+                    $this->debug('parsing import ' . $attrs['namespace'] . ' - [no location] (' . count($this->import[$attrs['namespace']]) . ')');
462 460
 				}
463 461
 				break;
464 462
 			//wait for schema
@@ -509,7 +507,7 @@  discard block
 block discarded – undo
509 507
 	* @param string $name element name
510 508
 	* @access private 
511 509
 	*/
512
-	public function end_element($parser, $name){ 
510
+	public function end_element($parser, $name) { 
513 511
 		// unset schema status
514 512
 		if (/*preg_match('/types$/', $name) ||*/ preg_match('/schema$/', $name)) {
515 513
 			$this->status = "";
@@ -592,15 +590,15 @@  discard block
 block discarded – undo
592 590
 		}
593 591
 		$this->debug("getOperations for port '$portName' bindingType $bindingType");
594 592
 		// loop thru ports
595
-		foreach($this->ports as $port => $portData) {
593
+		foreach ($this->ports as $port => $portData) {
596 594
 			$this->debug("getOperations checking port $port bindingType " . $portData['bindingType']);
597 595
 			if ($portName == '' || $port == $portName) {
598 596
 				// binding type of port matches parameter
599 597
 				if ($portData['bindingType'] == $bindingType) {
600 598
 					$this->debug("getOperations found port $port bindingType $bindingType");
601 599
 					// merge bindings
602
-					if (isset($this->bindings[ $portData['binding'] ]['operations'])) {
603
-						$ops = array_merge ($ops, $this->bindings[ $portData['binding'] ]['operations']);
600
+					if (isset($this->bindings[$portData['binding']]['operations'])) {
601
+						$ops = array_merge($ops, $this->bindings[$portData['binding']]['operations']);
604 602
 					}
605 603
 				}
606 604
 			}
@@ -627,15 +625,15 @@  discard block
 block discarded – undo
627 625
 			$bindingType = 'http://schemas.xmlsoap.org/wsdl/soap12/';
628 626
 		}
629 627
 		// loop thru ports
630
-		foreach($this->ports as $port => $portData) {
628
+		foreach ($this->ports as $port => $portData) {
631 629
 			// binding type of port matches parameter
632 630
 			if ($portData['bindingType'] == $bindingType) {
633 631
 				// get binding
634 632
 				//foreach($this->bindings[ $portData['binding'] ]['operations'] as $bOperation => $opData) {
635
-				foreach(array_keys($this->bindings[ $portData['binding'] ]['operations']) as $bOperation) {
633
+				foreach (array_keys($this->bindings[$portData['binding']]['operations']) as $bOperation) {
636 634
 					// note that we could/should also check the namespace here
637 635
 					if ($operation == $bOperation) {
638
-						$opData = $this->bindings[ $portData['binding'] ]['operations'][$operation];
636
+						$opData = $this->bindings[$portData['binding']]['operations'][$operation];
639 637
 					    return $opData;
640 638
 					} 
641 639
 				} 
@@ -658,11 +656,11 @@  discard block
 block discarded – undo
658 656
 			$bindingType = 'http://schemas.xmlsoap.org/wsdl/soap12/';
659 657
 		}
660 658
 		// loop thru ports
661
-		foreach($this->ports as $port => $portData) {
659
+		foreach ($this->ports as $port => $portData) {
662 660
 			// binding type of port matches parameter
663 661
 			if ($portData['bindingType'] == $bindingType) {
664 662
 				// loop through operations for the binding
665
-				foreach ($this->bindings[ $portData['binding'] ]['operations'] as $bOperation => $opData) {
663
+				foreach ($this->bindings[$portData['binding']]['operations'] as $bOperation => $opData) {
666 664
 					if ($opData['soapAction'] == $soapAction) {
667 665
 					    return $opData;
668 666
 					} 
@@ -691,7 +689,7 @@  discard block
 block discarded – undo
691 689
     */
692 690
 	public function getTypeDef($type, $ns) {
693 691
 		$this->debug("in getTypeDef: type=$type, ns=$ns");
694
-		if ((! $ns) && isset($this->namespaces['tns'])) {
692
+		if ((!$ns) && isset($this->namespaces['tns'])) {
695 693
 			$ns = $this->namespaces['tns'];
696 694
 			$this->debug("in getTypeDef: type namespace forced to $ns");
697 695
 		}
@@ -749,7 +747,7 @@  discard block
 block discarded – undo
749 747
     *
750 748
     * @access private
751 749
     */
752
-    public function webDescription(){
750
+    public function webDescription() {
753 751
     	global $HTTP_SERVER_VARS;
754 752
 
755 753
 		if (isset($_SERVER)) {
@@ -761,7 +759,7 @@  discard block
 block discarded – undo
761 759
 		}
762 760
 
763 761
 		$b = '
764
-		<html><head><title>NuSOAP: '.$this->serviceName.'</title>
762
+		<html><head><title>NuSOAP: '.$this->serviceName . '</title>
765 763
 		<style type="text/css">
766 764
 		    body    { font-family: arial; color: #000000; background-color: #ffffff; margin: 0px 0px 0px 0px; }
767 765
 		    p       { font-family: arial; color: #000000; margin-top: 0px; margin-bottom: 12px; }
@@ -838,24 +836,24 @@  discard block
 block discarded – undo
838 836
 		<body>
839 837
 		<div class=content>
840 838
 			<br><br>
841
-			<div class=title>'.$this->serviceName.'</div>
839
+			<div class=title>'.$this->serviceName . '</div>
842 840
 			<div class=nav>
843
-				<p>View the <a href="'.$PHP_SELF.'?wsdl">WSDL</a> for the service.
841
+				<p>View the <a href="'.$PHP_SELF . '?wsdl">WSDL</a> for the service.
844 842
 				Click on an operation name to view it&apos;s details.</p>
845 843
 				<ul>';
846
-				foreach($this->getOperations() as $op => $data){
844
+				foreach ($this->getOperations() as $op => $data) {
847 845
 				    $b .= "<li><a href='#' onclick=\"popout();popup('$op')\">$op</a></li>";
848 846
 				    // create hidden div
849 847
 				    $b .= "<div id='$op' class='hidden'>
850 848
 				    <a href='#' onclick='popout()'><font color='#ffffff'>Close</font></a><br><br>";
851
-				    foreach($data as $donnie => $marie){ // loop through opdata
852
-						if($donnie == 'input' || $donnie == 'output'){ // show input/output data
853
-						    $b .= "<font color='white'>".ucfirst($donnie).':</font><br>';
854
-						    foreach($marie as $captain => $tenille){ // loop through data
855
-								if($captain == 'parts'){ // loop thru parts
849
+				    foreach ($data as $donnie => $marie) { // loop through opdata
850
+						if ($donnie == 'input' || $donnie == 'output') { // show input/output data
851
+						    $b .= "<font color='white'>" . ucfirst($donnie) . ':</font><br>';
852
+						    foreach ($marie as $captain => $tenille) { // loop through data
853
+								if ($captain == 'parts') { // loop thru parts
856 854
 								    $b .= "&nbsp;&nbsp;$captain:<br>";
857 855
 					                //if(is_array($tenille)){
858
-								    	foreach($tenille as $joanie => $chachi){
856
+								    	foreach ($tenille as $joanie => $chachi) {
859 857
 											$b .= "&nbsp;&nbsp;&nbsp;&nbsp;$joanie: $chachi<br>";
860 858
 								    	}
861 859
 					        		//}
@@ -864,7 +862,7 @@  discard block
 block discarded – undo
864 862
 								}
865 863
 						    }
866 864
 						} else {
867
-						    $b .= "<font color='white'>".ucfirst($donnie).":</font> $marie<br>";
865
+						    $b .= "<font color='white'>" . ucfirst($donnie) . ":</font> $marie<br>";
868 866
 						}
869 867
 				    }
870 868
 					$b .= '</div>';
@@ -887,7 +885,7 @@  discard block
 block discarded – undo
887 885
 	{
888 886
 		$xml = '<?xml version="1.0" encoding="ISO-8859-1"?>';
889 887
 		$xml .= "\n<definitions";
890
-		foreach($this->namespaces as $k => $v) {
888
+		foreach ($this->namespaces as $k => $v) {
891 889
 			$xml .= " xmlns:$k=\"$v\"";
892 890
 		} 
893 891
 		// 10.9.02 - add poulter fix for wsdl and tns declarations
@@ -900,7 +898,7 @@  discard block
 block discarded – undo
900 898
 		$xml .= '>'; 
901 899
 		// imports
902 900
 		if (sizeof($this->import) > 0) {
903
-			foreach($this->import as $ns => $list) {
901
+			foreach ($this->import as $ns => $list) {
904 902
 				foreach ($list as $ii) {
905 903
 					if ($ii['location'] != '') {
906 904
 						$xml .= '<import location="' . $ii['location'] . '" namespace="' . $ns . '" />';
@@ -911,7 +909,7 @@  discard block
 block discarded – undo
911 909
 			} 
912 910
 		} 
913 911
 		// types
914
-		if (count($this->schemas)>=1) {
912
+		if (count($this->schemas) >= 1) {
915 913
 			$xml .= "\n<types>\n";
916 914
 			foreach ($this->schemas as $ns => $list) {
917 915
 				foreach ($list as $xs) {
@@ -922,10 +920,10 @@  discard block
 block discarded – undo
922 920
 		} 
923 921
 		// messages
924 922
 		if (count($this->messages) >= 1) {
925
-			foreach($this->messages as $msgName => $msgParts) {
923
+			foreach ($this->messages as $msgName => $msgParts) {
926 924
 				$xml .= "\n<message name=\"" . $msgName . '">';
927
-				if(is_array($msgParts)){
928
-					foreach($msgParts as $partName => $partType) {
925
+				if (is_array($msgParts)) {
926
+					foreach ($msgParts as $partName => $partType) {
929 927
 						// print 'serializing '.$partType.', sv: '.$this->XMLSchemaVersion.'<br>';
930 928
 						if (strpos($partType, ':')) {
931 929
 						    $typePrefix = $this->getPrefixFromNamespace($this->getPrefix($partType));
@@ -933,7 +931,7 @@  discard block
 block discarded – undo
933 931
 						    // print 'checking typemap: '.$this->XMLSchemaVersion.'<br>';
934 932
 						    $typePrefix = 'xsd';
935 933
 						} else {
936
-						    foreach($this->typemap as $ns => $types) {
934
+						    foreach ($this->typemap as $ns => $types) {
937 935
 						        if (isset($types[$partType])) {
938 936
 						            $typePrefix = $this->getPrefixFromNamespace($ns);
939 937
 						        } 
@@ -963,13 +961,13 @@  discard block
 block discarded – undo
963 961
 		if (count($this->bindings) >= 1) {
964 962
 			$binding_xml = '';
965 963
 			$portType_xml = '';
966
-			foreach($this->bindings as $bindingName => $attrs) {
964
+			foreach ($this->bindings as $bindingName => $attrs) {
967 965
 				$binding_xml .= "\n<binding name=\"" . $bindingName . '" type="tns:' . $attrs['portType'] . '">';
968 966
 				$binding_xml .= "\n" . '  <soap:binding style="' . $attrs['style'] . '" transport="' . $attrs['transport'] . '"/>';
969 967
 				$portType_xml .= "\n<portType name=\"" . $attrs['portType'] . '">';
970
-				foreach($attrs['operations'] as $opName => $opParts) {
968
+				foreach ($attrs['operations'] as $opName => $opParts) {
971 969
 					$binding_xml .= "\n" . '  <operation name="' . $opName . '">';
972
-					$binding_xml .= "\n" . '    <soap:operation soapAction="' . $opParts['soapAction'] . '" style="'. $opParts['style'] . '"/>';
970
+					$binding_xml .= "\n" . '    <soap:operation soapAction="' . $opParts['soapAction'] . '" style="' . $opParts['style'] . '"/>';
973 971
 					if (isset($opParts['input']['encodingStyle']) && $opParts['input']['encodingStyle'] != '') {
974 972
 						$enc_style = ' encodingStyle="' . $opParts['input']['encodingStyle'] . '"';
975 973
 					} else {
@@ -988,7 +986,7 @@  discard block
 block discarded – undo
988 986
 					    $portType_xml .= ' parameterOrder="' . $opParts['parameterOrder'] . '"';
989 987
 					} 
990 988
 					$portType_xml .= '>';
991
-					if(isset($opParts['documentation']) && $opParts['documentation'] != '') {
989
+					if (isset($opParts['documentation']) && $opParts['documentation'] != '') {
992 990
 						$portType_xml .= "\n" . '    <documentation>' . htmlspecialchars($opParts['documentation']) . '</documentation>';
993 991
 					}
994 992
 					$portType_xml .= "\n" . '    <input message="tns:' . $opParts['input']['message'] . '"/>';
@@ -1003,7 +1001,7 @@  discard block
 block discarded – undo
1003 1001
 		// services
1004 1002
 		$xml .= "\n<service name=\"" . $this->serviceName . '">';
1005 1003
 		if (count($this->ports) >= 1) {
1006
-			foreach($this->ports as $pName => $attrs) {
1004
+			foreach ($this->ports as $pName => $attrs) {
1007 1005
 				$xml .= "\n" . '  <port name="' . $pName . '" binding="tns:' . $attrs['binding'] . '">';
1008 1006
 				$xml .= "\n" . '    <soap:address location="' . $attrs['location'] . ($debug ? '?debug=1' : '') . '"/>';
1009 1007
 				$xml .= "\n" . '  </port>';
@@ -1118,7 +1116,7 @@  discard block
 block discarded – undo
1118 1116
 
1119 1117
 		// Get encoding style for output and set to current
1120 1118
 		$encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/';
1121
-		if(($direction == 'input') && isset($opData['output']['encodingStyle']) && ($opData['output']['encodingStyle'] != $encodingStyle)) {
1119
+		if (($direction == 'input') && isset($opData['output']['encodingStyle']) && ($opData['output']['encodingStyle'] != $encodingStyle)) {
1122 1120
 			$encodingStyle = $opData['output']['encodingStyle'];
1123 1121
 			$enc_style = $encodingStyle;
1124 1122
 		}
@@ -1213,7 +1211,7 @@  discard block
 block discarded – undo
1213 1211
 		
1214 1212
 		// Get encoding style for output and set to current
1215 1213
 		$encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/';
1216
-		if(($direction == 'input') && isset($opData['output']['encodingStyle']) && ($opData['output']['encodingStyle'] != $encodingStyle)) {
1214
+		if (($direction == 'input') && isset($opData['output']['encodingStyle']) && ($opData['output']['encodingStyle'] != $encodingStyle)) {
1217 1215
 			$encodingStyle = $opData['output']['encodingStyle'];
1218 1216
 			$enc_style = $encodingStyle;
1219 1217
 		}
@@ -1228,10 +1226,10 @@  discard block
 block discarded – undo
1228 1226
 			if (is_array($parameters)) {
1229 1227
 				$parametersArrayType = $this->isArraySimpleOrStruct($parameters);
1230 1228
 				$this->debug('have ' . $parametersArrayType . ' parameters');
1231
-				foreach($opData[$direction]['parts'] as $name => $type) {
1232
-					$this->debug('serializing part "'.$name.'" of type "'.$type.'"');
1229
+				foreach ($opData[$direction]['parts'] as $name => $type) {
1230
+					$this->debug('serializing part "' . $name . '" of type "' . $type . '"');
1233 1231
 					// Track encoding style
1234
-					if(isset($opData[$direction]['encodingStyle']) && $encodingStyle != $opData[$direction]['encodingStyle']) {
1232
+					if (isset($opData[$direction]['encodingStyle']) && $encodingStyle != $opData[$direction]['encodingStyle']) {
1235 1233
 						$encodingStyle = $opData[$direction]['encodingStyle'];			
1236 1234
 						$enc_style = $encodingStyle;
1237 1235
 					} else {
@@ -1271,11 +1269,11 @@  discard block
 block discarded – undo
1271 1269
 	 * @return string value serialized as an XML string
1272 1270
 	 * @access private
1273 1271
 	 */
1274
-	public function serializeType($name, $type, $value, $use='encoded', $encodingStyle=false, $unqualified=false)
1272
+	public function serializeType($name, $type, $value, $use = 'encoded', $encodingStyle = false, $unqualified = false)
1275 1273
 	{
1276 1274
 		$this->debug("in serializeType: name=$name, type=$type, use=$use, encodingStyle=$encodingStyle, unqualified=" . ($unqualified ? "unqualified" : "qualified"));
1277 1275
 		$this->appendDebug("value=" . $this->varDump($value));
1278
-		if($use == 'encoded' && $encodingStyle) {
1276
+		if ($use == 'encoded' && $encodingStyle) {
1279 1277
 			$encodingStyle = ' SOAP-ENV:encodingStyle="' . $encodingStyle . '"';
1280 1278
 		}
1281 1279
 
@@ -1319,7 +1317,7 @@  discard block
 block discarded – undo
1319 1317
 				$this->debug("in serializeType: expanded prefixed type: $uqType, $ns");
1320 1318
 			}
1321 1319
 
1322
-			if($ns == $this->XMLSchemaVersion || $ns == 'http://schemas.xmlsoap.org/soap/encoding/'){
1320
+			if ($ns == $this->XMLSchemaVersion || $ns == 'http://schemas.xmlsoap.org/soap/encoding/') {
1323 1321
 				$this->debug('in serializeType: type namespace indicates XML Schema or SOAP Encoding type');
1324 1322
 				if ($unqualified && $use == 'literal') {
1325 1323
 					$elementNS = " xmlns=\"\"";
@@ -1340,7 +1338,7 @@  discard block
 block discarded – undo
1340 1338
 					return $this->serialize_val($value, $name, false, false, false, false, $use);
1341 1339
 				}
1342 1340
 		    	if ($uqType == 'boolean') {
1343
-		    		if ((is_string($value) && $value == 'false') || (! $value)) {
1341
+		    		if ((is_string($value) && $value == 'false') || (!$value)) {
1344 1342
 						$value = 'false';
1345 1343
 					} else {
1346 1344
 						$value = 'true';
@@ -1370,7 +1368,7 @@  discard block
 block discarded – undo
1370 1368
 				$this->debug('in serializeType: appears to be Apache SOAP type');
1371 1369
 				if ($uqType == 'Map') {
1372 1370
 					$tt_prefix = $this->getPrefixFromNamespace('http://xml.apache.org/xml-soap');
1373
-					if (! $tt_prefix) {
1371
+					if (!$tt_prefix) {
1374 1372
 						$this->debug('in serializeType: Add namespace for Apache SOAP type');
1375 1373
 						$tt_prefix = 'ns' . rand(1000, 9999);
1376 1374
 						$this->namespaces[$tt_prefix] = 'http://xml.apache.org/xml-soap';
@@ -1378,11 +1376,11 @@  discard block
 block discarded – undo
1378 1376
 						$tt_prefix = $this->getPrefixFromNamespace('http://xml.apache.org/xml-soap');
1379 1377
 					}
1380 1378
 					$contents = '';
1381
-					foreach($value as $k => $v) {
1379
+					foreach ($value as $k => $v) {
1382 1380
 						$this->debug("serializing map element: key $k, value $v");
1383 1381
 						$contents .= '<item>';
1384
-						$contents .= $this->serialize_val($k,'key',false,false,false,false,$use);
1385
-						$contents .= $this->serialize_val($v,'value',false,false,false,false,$use);
1382
+						$contents .= $this->serialize_val($k, 'key', false, false, false, false, $use);
1383
+						$contents .= $this->serialize_val($v, 'value', false, false, false, false, $use);
1386 1384
 						$contents .= '</item>';
1387 1385
 					}
1388 1386
 					if ($use == 'literal') {
@@ -1404,7 +1402,7 @@  discard block
 block discarded – undo
1404 1402
 			$ns = '';
1405 1403
 			$uqType = $type;
1406 1404
 		}
1407
-		if(!$typeDef = $this->getTypeDef($uqType, $ns)){
1405
+		if (!$typeDef = $this->getTypeDef($uqType, $ns)) {
1408 1406
 			$this->setError("$type ($uqType) is not a supported type.");
1409 1407
 			$this->debug("in serializeType: $type ($uqType) is not a supported type.");
1410 1408
 			return false;
@@ -1421,7 +1419,7 @@  discard block
 block discarded – undo
1421 1419
 			return false;
1422 1420
 		}
1423 1421
 		$phpType = $typeDef['phpType'];
1424
-		$this->debug("in serializeType: uqType: $uqType, ns: $ns, phptype: $phpType, arrayType: " . (isset($typeDef['arrayType']) ? $typeDef['arrayType'] : '') ); 
1422
+		$this->debug("in serializeType: uqType: $uqType, ns: $ns, phptype: $phpType, arrayType: " . (isset($typeDef['arrayType']) ? $typeDef['arrayType'] : '')); 
1425 1423
 		// if php type == struct, map value to the <all> element names
1426 1424
 		if ($phpType == 'struct') {
1427 1425
 			if (isset($typeDef['typeClass']) && $typeDef['typeClass'] == 'element') {
@@ -1501,14 +1499,14 @@  discard block
 block discarded – undo
1501 1499
 						':arrayType="' .
1502 1500
 						$this->getPrefixFromNamespace($this->getPrefix($typeDef['arrayType'])) .
1503 1501
 						':' .
1504
-						$this->getLocalPart($typeDef['arrayType'])."[0]\"/>";
1502
+						$this->getLocalPart($typeDef['arrayType']) . "[0]\"/>";
1505 1503
 				}
1506 1504
 				$this->debug("in serializeType: returning: $xml");
1507 1505
 				return $xml;
1508 1506
 			}
1509 1507
 			if (isset($typeDef['multidimensional'])) {
1510 1508
 				$nv = array();
1511
-				foreach($value as $v) {
1509
+				foreach ($value as $v) {
1512 1510
 					$cols = ',' . sizeof($v);
1513 1511
 					$nv = array_merge($nv, $v);
1514 1512
 				} 
@@ -1519,10 +1517,10 @@  discard block
 block discarded – undo
1519 1517
 			if (is_array($value) && sizeof($value) >= 1) {
1520 1518
 				$rows = sizeof($value);
1521 1519
 				$contents = '';
1522
-				foreach($value as $k => $v) {
1520
+				foreach ($value as $k => $v) {
1523 1521
 					$this->debug("serializing array element: $k, $v of type: $typeDef[arrayType]");
1524 1522
 					//if (strpos($typeDef['arrayType'], ':') ) {
1525
-					if (!in_array($typeDef['arrayType'],$this->typemap['http://www.w3.org/2001/XMLSchema'])) {
1523
+					if (!in_array($typeDef['arrayType'], $this->typemap['http://www.w3.org/2001/XMLSchema'])) {
1526 1524
 					    $contents .= $this->serializeType('item', $typeDef['arrayType'], $v, $use);
1527 1525
 					} else {
1528 1526
 					    $contents .= $this->serialize_val($v, 'item', $typeDef['arrayType'], null, $this->XMLSchemaVersion, false, $use);
@@ -1537,11 +1535,11 @@  discard block
 block discarded – undo
1537 1535
 					.$contents
1538 1536
 					."</$name>";
1539 1537
 			} else {
1540
-				$xml = "<$name$elementNS xsi:type=\"".$this->getPrefixFromNamespace('http://schemas.xmlsoap.org/soap/encoding/').':Array" '.
1538
+				$xml = "<$name$elementNS xsi:type=\"" . $this->getPrefixFromNamespace('http://schemas.xmlsoap.org/soap/encoding/') . ':Array" ' .
1541 1539
 					$this->getPrefixFromNamespace('http://schemas.xmlsoap.org/soap/encoding/')
1542 1540
 					.':arrayType="'
1543 1541
 					.$this->getPrefixFromNamespace($this->getPrefix($typeDef['arrayType']))
1544
-					.":".$this->getLocalPart($typeDef['arrayType'])."[$rows$cols]\">"
1542
+					.":" . $this->getLocalPart($typeDef['arrayType']) . "[$rows$cols]\">"
1545 1543
 					.$contents
1546 1544
 					."</$name>";
1547 1545
 			}
@@ -1621,7 +1619,7 @@  discard block
 block discarded – undo
1621 1619
 					$this->debug("no value provided for attribute $aName");
1622 1620
 				}
1623 1621
 				if ($xname) {
1624
-					$xml .=  " $aName=\"" . $this->expandEntities($xvalue[$xname]) . "\"";
1622
+					$xml .= " $aName=\"" . $this->expandEntities($xvalue[$xname]) . "\"";
1625 1623
 				}
1626 1624
 			} 
1627 1625
 		} else {
@@ -1642,7 +1640,7 @@  discard block
 block discarded – undo
1642 1640
 	 * @return string value serialized as an XML string
1643 1641
 	 * @access private
1644 1642
 	 */
1645
-	public function serializeComplexTypeElements($typeDef, $value, $ns, $uqType, $use='encoded', $encodingStyle=false) {
1643
+	public function serializeComplexTypeElements($typeDef, $value, $ns, $uqType, $use = 'encoded', $encodingStyle = false) {
1646 1644
 		$this->debug("in serializeComplexTypeElements for XML Schema type $ns:$uqType");
1647 1645
 		$xml = '';
1648 1646
 		if (isset($typeDef['extensionBase'])) {
@@ -1669,7 +1667,7 @@  discard block
 block discarded – undo
1669 1667
 				$xvalue = array();
1670 1668
 			}
1671 1669
 			// toggle whether all elements are present - ideally should validate against schema
1672
-			if (count($typeDef['elements']) != count($xvalue)){
1670
+			if (count($typeDef['elements']) != count($xvalue)) {
1673 1671
 				$optionals = true;
1674 1672
 			}
1675 1673
 			foreach ($typeDef['elements'] as $eName => $attrs) {
@@ -1682,8 +1680,8 @@  discard block
 block discarded – undo
1682 1680
 				// if user took advantage of a minOccurs=0, then only serialize named parameters
1683 1681
 				if (isset($optionals)
1684 1682
 				    && (!isset($xvalue[$eName])) 
1685
-					&& ( (!isset($attrs['nillable'])) || $attrs['nillable'] != 'true')
1686
-					){
1683
+					&& ((!isset($attrs['nillable'])) || $attrs['nillable'] != 'true')
1684
+					) {
1687 1685
 					if (isset($attrs['minOccurs']) && $attrs['minOccurs'] <> '0') {
1688 1686
 						$this->debug("apparent error: no value provided for element $eName with minOccurs=" . $attrs['minOccurs']);
1689 1687
 					}
@@ -1748,15 +1746,15 @@  discard block
 block discarded – undo
1748 1746
 	* @see nusoap_xmlschema
1749 1747
 	* @access public
1750 1748
 	*/
1751
-	public function addComplexType($name,$typeClass='complexType',$phpType='array',$compositor='',$restrictionBase='',$elements=array(),$attrs=array(),$arrayType='') {
1749
+	public function addComplexType($name, $typeClass = 'complexType', $phpType = 'array', $compositor = '', $restrictionBase = '', $elements = array(), $attrs = array(), $arrayType = '') {
1752 1750
 		if (count($elements) > 0) {
1753 1751
 			$eElements = array();
1754
-	    	foreach($elements as $n => $e){
1752
+	    	foreach ($elements as $n => $e) {
1755 1753
 	            // expand each element
1756 1754
 	            $ee = array();
1757 1755
 	            foreach ($e as $k => $v) {
1758
-		            $k = strpos($k,':') ? $this->expandQname($k) : $k;
1759
-		            $v = strpos($v,':') ? $this->expandQname($v) : $v;
1756
+		            $k = strpos($k, ':') ? $this->expandQname($k) : $k;
1757
+		            $v = strpos($v, ':') ? $this->expandQname($v) : $v;
1760 1758
 		            $ee[$k] = $v;
1761 1759
 		    	}
1762 1760
 	    		$eElements[$n] = $ee;
@@ -1765,11 +1763,11 @@  discard block
 block discarded – undo
1765 1763
 		}
1766 1764
 		
1767 1765
 		if (count($attrs) > 0) {
1768
-	    	foreach($attrs as $n => $a){
1766
+	    	foreach ($attrs as $n => $a) {
1769 1767
 	            // expand each attribute
1770 1768
 	            foreach ($a as $k => $v) {
1771
-		            $k = strpos($k,':') ? $this->expandQname($k) : $k;
1772
-		            $v = strpos($v,':') ? $this->expandQname($v) : $v;
1769
+		            $k = strpos($k, ':') ? $this->expandQname($k) : $k;
1770
+		            $v = strpos($v, ':') ? $this->expandQname($v) : $v;
1773 1771
 		            $aa[$k] = $v;
1774 1772
 		    	}
1775 1773
 	    		$eAttrs[$n] = $aa;
@@ -1777,11 +1775,11 @@  discard block
 block discarded – undo
1777 1775
 	    	$attrs = $eAttrs;
1778 1776
 		}
1779 1777
 
1780
-		$restrictionBase = strpos($restrictionBase,':') ? $this->expandQname($restrictionBase) : $restrictionBase;
1781
-		$arrayType = strpos($arrayType,':') ? $this->expandQname($arrayType) : $arrayType;
1778
+		$restrictionBase = strpos($restrictionBase, ':') ? $this->expandQname($restrictionBase) : $restrictionBase;
1779
+		$arrayType = strpos($arrayType, ':') ? $this->expandQname($arrayType) : $arrayType;
1782 1780
 
1783 1781
 		$typens = isset($this->namespaces['types']) ? $this->namespaces['types'] : $this->namespaces['tns'];
1784
-		$this->schemas[$typens][0]->addComplexType($name,$typeClass,$phpType,$compositor,$restrictionBase,$elements,$attrs,$arrayType);
1782
+		$this->schemas[$typens][0]->addComplexType($name, $typeClass, $phpType, $compositor, $restrictionBase, $elements, $attrs, $arrayType);
1785 1783
 	}
1786 1784
 
1787 1785
 	/**
@@ -1795,8 +1793,8 @@  discard block
 block discarded – undo
1795 1793
 	* @see nusoap_xmlschema
1796 1794
 	* @access public
1797 1795
 	*/
1798
-	public function addSimpleType($name, $restrictionBase='', $typeClass='simpleType', $phpType='scalar', $enumeration=array()) {
1799
-		$restrictionBase = strpos($restrictionBase,':') ? $this->expandQname($restrictionBase) : $restrictionBase;
1796
+	public function addSimpleType($name, $restrictionBase = '', $typeClass = 'simpleType', $phpType = 'scalar', $enumeration = array()) {
1797
+		$restrictionBase = strpos($restrictionBase, ':') ? $this->expandQname($restrictionBase) : $restrictionBase;
1800 1798
 
1801 1799
 		$typens = isset($this->namespaces['types']) ? $this->namespaces['types'] : $this->namespaces['tns'];
1802 1800
 		$this->schemas[$typens][0]->addSimpleType($name, $restrictionBase, $typeClass, $phpType, $enumeration);
@@ -1828,7 +1826,7 @@  discard block
 block discarded – undo
1828 1826
 	* @param string $encodingStyle optional (usually 'http://schemas.xmlsoap.org/soap/encoding/' for encoded)
1829 1827
 	* @access public 
1830 1828
 	*/
1831
-	public function addOperation($name, $in = false, $out = false, $namespace = false, $soapaction = false, $style = 'rpc', $use = 'encoded', $documentation = '', $encodingStyle = ''){
1829
+	public function addOperation($name, $in = false, $out = false, $namespace = false, $soapaction = false, $style = 'rpc', $use = 'encoded', $documentation = '', $encodingStyle = '') {
1832 1830
 		if ($use == 'encoded' && $encodingStyle == '') {
1833 1831
 			$encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/';
1834 1832
 		}
@@ -1852,7 +1850,7 @@  discard block
 block discarded – undo
1852 1850
 		}
1853 1851
 
1854 1852
 		// get binding
1855
-		$this->bindings[ $this->serviceName . 'Binding' ]['operations'][$name] =
1853
+		$this->bindings[$this->serviceName . 'Binding']['operations'][$name] =
1856 1854
 		array(
1857 1855
 		'name' => $name,
1858 1856
 		'binding' => $this->serviceName . 'Binding',
@@ -1876,29 +1874,29 @@  discard block
 block discarded – undo
1876 1874
 		'documentation' => $documentation); 
1877 1875
 		// add portTypes
1878 1876
 		// add messages
1879
-		if($in)
1877
+		if ($in)
1880 1878
 		{
1881
-			foreach($in as $pName => $pType)
1879
+			foreach ($in as $pName => $pType)
1882 1880
 			{
1883
-				if(strpos($pType,':')) {
1884
-					$pType = $this->getNamespaceFromPrefix($this->getPrefix($pType)).":".$this->getLocalPart($pType);
1881
+				if (strpos($pType, ':')) {
1882
+					$pType = $this->getNamespaceFromPrefix($this->getPrefix($pType)) . ":" . $this->getLocalPart($pType);
1885 1883
 				}
1886
-				$this->messages[$name.'Request'][$pName] = $pType;
1884
+				$this->messages[$name . 'Request'][$pName] = $pType;
1887 1885
 			}
1888 1886
 		} else {
1889
-            $this->messages[$name.'Request']= '0';
1887
+            $this->messages[$name . 'Request'] = '0';
1890 1888
         }
1891
-		if($out)
1889
+		if ($out)
1892 1890
 		{
1893
-			foreach($out as $pName => $pType)
1891
+			foreach ($out as $pName => $pType)
1894 1892
 			{
1895
-				if(strpos($pType,':')) {
1896
-					$pType = $this->getNamespaceFromPrefix($this->getPrefix($pType)).":".$this->getLocalPart($pType);
1893
+				if (strpos($pType, ':')) {
1894
+					$pType = $this->getNamespaceFromPrefix($this->getPrefix($pType)) . ":" . $this->getLocalPart($pType);
1897 1895
 				}
1898
-				$this->messages[$name.'Response'][$pName] = $pType;
1896
+				$this->messages[$name . 'Response'][$pName] = $pType;
1899 1897
 			}
1900 1898
 		} else {
1901
-            $this->messages[$name.'Response']= '0';
1899
+            $this->messages[$name . 'Response'] = '0';
1902 1900
         }
1903 1901
 		return true;
1904 1902
 	} 
Please login to merge, or discard this patch.
Indentation   +491 added lines, -491 removed lines patch added patch discarded remove patch
@@ -14,35 +14,35 @@  discard block
 block discarded – undo
14 14
 */
15 15
 class wsdl extends nusoap_base {
16 16
 	// URL or filename of the root of this WSDL
17
-    public $wsdl; 
18
-    // define internal arrays of bindings, ports, operations, messages, etc.
19
-    public $schemas = array();
20
-    public $currentSchema;
21
-    public $message = array();
22
-    public $complexTypes = array();
23
-    public $messages = array();
24
-    public $currentMessage;
25
-    public $currentOperation;
26
-    public $portTypes = array();
27
-    public $currentPortType;
28
-    public $bindings = array();
29
-    public $currentBinding;
30
-    public $ports = array();
31
-    public $currentPort;
32
-    public $opData = array();
33
-    public $status = '';
34
-    public $documentation = false;
35
-    public $endpoint = ''; 
36
-    // array of wsdl docs to import
37
-    public $import = array(); 
38
-    // parser vars
39
-    public $parser;
40
-    public $position = 0;
41
-    public $depth = 0;
42
-    public $depth_array = array();
17
+	public $wsdl; 
18
+	// define internal arrays of bindings, ports, operations, messages, etc.
19
+	public $schemas = array();
20
+	public $currentSchema;
21
+	public $message = array();
22
+	public $complexTypes = array();
23
+	public $messages = array();
24
+	public $currentMessage;
25
+	public $currentOperation;
26
+	public $portTypes = array();
27
+	public $currentPortType;
28
+	public $bindings = array();
29
+	public $currentBinding;
30
+	public $ports = array();
31
+	public $currentPort;
32
+	public $opData = array();
33
+	public $status = '';
34
+	public $documentation = false;
35
+	public $endpoint = ''; 
36
+	// array of wsdl docs to import
37
+	public $import = array(); 
38
+	// parser vars
39
+	public $parser;
40
+	public $position = 0;
41
+	public $depth = 0;
42
+	public $depth_array = array();
43 43
 	// for getting wsdl
44 44
 	public $proxyhost = '';
45
-    public $proxyport = '';
45
+	public $proxyport = '';
46 46
 	public $proxyusername = '';
47 47
 	public $proxypassword = '';
48 48
 	public $timeout = 0;
@@ -55,10 +55,10 @@  discard block
 block discarded – undo
55 55
 	public $authtype = '';				// Type of HTTP authentication
56 56
 	public $certRequest = array();		// Certificate for HTTP SSL authentication
57 57
 
58
-    /**
59
-     * constructor
60
-     * 
61
-     * @param string $wsdl WSDL document URL
58
+	/**
59
+	 * constructor
60
+	 * 
61
+	 * @param string $wsdl WSDL document URL
62 62
 	 * @param string $proxyhost
63 63
 	 * @param string $proxyport
64 64
 	 * @param string $proxyusername
@@ -67,13 +67,13 @@  discard block
 block discarded – undo
67 67
 	 * @param integer $response_timeout set the response timeout
68 68
 	 * @param array $curl_options user-specified cURL options
69 69
 	 * @param boolean $use_curl try to use cURL
70
-     * @access public 
71
-     */
72
-    public function wsdl($wsdl = '',$proxyhost=false,$proxyport=false,$proxyusername=false,$proxypassword=false,$timeout=0,$response_timeout=30,$curl_options=null,$use_curl=false){
70
+	 * @access public 
71
+	 */
72
+	public function wsdl($wsdl = '',$proxyhost=false,$proxyport=false,$proxyusername=false,$proxypassword=false,$timeout=0,$response_timeout=30,$curl_options=null,$use_curl=false){
73 73
 		parent::nusoap_base();
74 74
 		$this->debug("ctor wsdl=$wsdl timeout=$timeout response_timeout=$response_timeout");
75
-        $this->proxyhost = $proxyhost;
76
-        $this->proxyport = $proxyport;
75
+		$this->proxyhost = $proxyhost;
76
+		$this->proxyport = $proxyport;
77 77
 		$this->proxyusername = $proxyusername;
78 78
 		$this->proxypassword = $proxypassword;
79 79
 		$this->timeout = $timeout;
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 			$this->curl_options = $curl_options;
83 83
 		$this->use_curl = $use_curl;
84 84
 		$this->fetchWSDL($wsdl);
85
-    }
85
+	}
86 86
 
87 87
 	/**
88 88
 	 * fetches the WSDL document and parses it
@@ -92,29 +92,29 @@  discard block
 block discarded – undo
92 92
 	public function fetchWSDL($wsdl) {
93 93
 		$this->debug("parse and process WSDL path=$wsdl");
94 94
 		$this->wsdl = $wsdl;
95
-        // parse wsdl file
96
-        if ($this->wsdl != "") {
97
-            $this->parseWSDL($this->wsdl);
98
-        }
99
-    	$imported_urls = array();
100
-    	$imported = 1;
101
-    	while ($imported > 0) {
102
-    		$imported = 0;
103
-    		// Schema imports
104
-    		foreach ($this->schemas as $ns => $list) {
105
-    			foreach ($list as $xs) {
95
+		// parse wsdl file
96
+		if ($this->wsdl != "") {
97
+			$this->parseWSDL($this->wsdl);
98
+		}
99
+		$imported_urls = array();
100
+		$imported = 1;
101
+		while ($imported > 0) {
102
+			$imported = 0;
103
+			// Schema imports
104
+			foreach ($this->schemas as $ns => $list) {
105
+				foreach ($list as $xs) {
106 106
 					$wsdlparts = parse_url($this->wsdl);	// this is bogusly simple!
107
-		            foreach ($xs->imports as $ns2 => $list2) {
107
+					foreach ($xs->imports as $ns2 => $list2) {
108 108
 						$countList2 = count($list2);
109
-		                for ($ii = 0; $ii < $countList2; $ii++) {
110
-		                	if (! $list2[$ii]['loaded']) {
111
-		                		/*
109
+						for ($ii = 0; $ii < $countList2; $ii++) {
110
+							if (! $list2[$ii]['loaded']) {
111
+								/*
112 112
 		                		 * Substituted with line below
113 113
 		                		 * because of error "Warning: attempt to modify property of non-object"
114 114
 		                		 * GitHub issue #1
115 115
 		                		 */
116
-		                		$list2[$ii]['loaded'] = true;
117
-		                		$url = $list2[$ii]['location'];
116
+								$list2[$ii]['loaded'] = true;
117
+								$url = $list2[$ii]['location'];
118 118
 								if ($url != '') {
119 119
 									$urlparts = parse_url($url);
120 120
 									if (!isset($urlparts['host'])) {
@@ -122,26 +122,26 @@  discard block
 block discarded – undo
122 122
 												substr($wsdlparts['path'],0,strrpos($wsdlparts['path'],'/') + 1) .$urlparts['path'];
123 123
 									}
124 124
 									if (! in_array($url, $imported_urls)) {
125
-					                	$this->parseWSDL($url);
126
-				                		$imported++;
127
-				                		$imported_urls[] = $url;
128
-				                	}
125
+										$this->parseWSDL($url);
126
+										$imported++;
127
+										$imported_urls[] = $url;
128
+									}
129 129
 								} else {
130 130
 									$this->debug("Unexpected scenario: empty URL for unloaded import");
131 131
 								}
132 132
 							}
133 133
 						}
134
-		            } 
135
-    			}
136
-    		}
137
-    		// WSDL imports
134
+					} 
135
+				}
136
+			}
137
+			// WSDL imports
138 138
 			$wsdlparts = parse_url($this->wsdl);	// this is bogusly simple!
139
-            foreach ($this->import as $ns => $list) {
139
+			foreach ($this->import as $ns => $list) {
140 140
 				$countList = count($list);
141
-                for ($ii = 0; $ii < $countList; $ii++) {
142
-                	if (! $list[$ii]['loaded']) {
143
-                		$this->import[$ns][$ii]['loaded'] = true;
144
-                		$url = $list[$ii]['location'];
141
+				for ($ii = 0; $ii < $countList; $ii++) {
142
+					if (! $list[$ii]['loaded']) {
143
+						$this->import[$ns][$ii]['loaded'] = true;
144
+						$url = $list[$ii]['location'];
145 145
 						if ($url != '') {
146 146
 							$urlparts = parse_url($url);
147 147
 							if (!isset($urlparts['host'])) {
@@ -149,70 +149,70 @@  discard block
 block discarded – undo
149 149
 										substr($wsdlparts['path'],0,strrpos($wsdlparts['path'],'/') + 1) .$urlparts['path'];
150 150
 							}
151 151
 							if (! in_array($url, $imported_urls)) {
152
-			                	$this->parseWSDL($url);
153
-		                		$imported++;
154
-		                		$imported_urls[] = $url;
155
-		                	}
152
+								$this->parseWSDL($url);
153
+								$imported++;
154
+								$imported_urls[] = $url;
155
+							}
156 156
 						} else {
157 157
 							$this->debug("Unexpected scenario: empty URL for unloaded import");
158 158
 						}
159 159
 					}
160 160
 				}
161
-            } 
161
+			} 
162 162
 		}
163
-        // add new data to operation data
164
-        foreach($this->bindings as $binding => $bindingData) {
165
-            if (isset($bindingData['operations']) && is_array($bindingData['operations'])) {
166
-                foreach($bindingData['operations'] as $operation => $data) {
167
-                    $this->debug('post-parse data gathering for ' . $operation);
168
-                    $this->bindings[$binding]['operations'][$operation]['input'] = 
163
+		// add new data to operation data
164
+		foreach($this->bindings as $binding => $bindingData) {
165
+			if (isset($bindingData['operations']) && is_array($bindingData['operations'])) {
166
+				foreach($bindingData['operations'] as $operation => $data) {
167
+					$this->debug('post-parse data gathering for ' . $operation);
168
+					$this->bindings[$binding]['operations'][$operation]['input'] = 
169 169
 						isset($this->bindings[$binding]['operations'][$operation]['input']) ? 
170 170
 						array_merge($this->bindings[$binding]['operations'][$operation]['input'], $this->portTypes[ $bindingData['portType'] ][$operation]['input']) :
171 171
 						$this->portTypes[ $bindingData['portType'] ][$operation]['input'];
172
-                    $this->bindings[$binding]['operations'][$operation]['output'] = 
172
+					$this->bindings[$binding]['operations'][$operation]['output'] = 
173 173
 						isset($this->bindings[$binding]['operations'][$operation]['output']) ?
174 174
 						array_merge($this->bindings[$binding]['operations'][$operation]['output'], $this->portTypes[ $bindingData['portType'] ][$operation]['output']) :
175 175
 						$this->portTypes[ $bindingData['portType'] ][$operation]['output'];
176
-                    if(isset($this->messages[ $this->bindings[$binding]['operations'][$operation]['input']['message'] ])){
176
+					if(isset($this->messages[ $this->bindings[$binding]['operations'][$operation]['input']['message'] ])){
177 177
 						$this->bindings[$binding]['operations'][$operation]['input']['parts'] = $this->messages[ $this->bindings[$binding]['operations'][$operation]['input']['message'] ];
178 178
 					}
179 179
 					if(isset($this->messages[ $this->bindings[$binding]['operations'][$operation]['output']['message'] ])){
180
-                   		$this->bindings[$binding]['operations'][$operation]['output']['parts'] = $this->messages[ $this->bindings[$binding]['operations'][$operation]['output']['message'] ];
181
-                    }
182
-                    // Set operation style if necessary, but do not override one already provided
180
+				   		$this->bindings[$binding]['operations'][$operation]['output']['parts'] = $this->messages[ $this->bindings[$binding]['operations'][$operation]['output']['message'] ];
181
+					}
182
+					// Set operation style if necessary, but do not override one already provided
183 183
 					if (isset($bindingData['style']) && !isset($this->bindings[$binding]['operations'][$operation]['style'])) {
184
-                        $this->bindings[$binding]['operations'][$operation]['style'] = $bindingData['style'];
185
-                    }
186
-                    $this->bindings[$binding]['operations'][$operation]['transport'] = isset($bindingData['transport']) ? $bindingData['transport'] : '';
187
-                    $this->bindings[$binding]['operations'][$operation]['documentation'] = isset($this->portTypes[ $bindingData['portType'] ][$operation]['documentation']) ? $this->portTypes[ $bindingData['portType'] ][$operation]['documentation'] : '';
188
-                    $this->bindings[$binding]['operations'][$operation]['endpoint'] = isset($bindingData['endpoint']) ? $bindingData['endpoint'] : '';
189
-                } 
190
-            } 
191
-        }
184
+						$this->bindings[$binding]['operations'][$operation]['style'] = $bindingData['style'];
185
+					}
186
+					$this->bindings[$binding]['operations'][$operation]['transport'] = isset($bindingData['transport']) ? $bindingData['transport'] : '';
187
+					$this->bindings[$binding]['operations'][$operation]['documentation'] = isset($this->portTypes[ $bindingData['portType'] ][$operation]['documentation']) ? $this->portTypes[ $bindingData['portType'] ][$operation]['documentation'] : '';
188
+					$this->bindings[$binding]['operations'][$operation]['endpoint'] = isset($bindingData['endpoint']) ? $bindingData['endpoint'] : '';
189
+				} 
190
+			} 
191
+		}
192 192
 	}
193 193
 
194
-    /**
195
-     * parses the wsdl document
196
-     * 
197
-     * @param string $wsdl path or URL
198
-     * @access private 
199
-     */
200
-    public function parseWSDL($wsdl = '') {
194
+	/**
195
+	 * parses the wsdl document
196
+	 * 
197
+	 * @param string $wsdl path or URL
198
+	 * @access private 
199
+	 */
200
+	public function parseWSDL($wsdl = '') {
201 201
 		$this->debug("parse WSDL at path=$wsdl");
202 202
 
203
-        if ($wsdl == '') {
204
-            $this->debug('no wsdl passed to parseWSDL()!!');
205
-            $this->setError('no wsdl passed to parseWSDL()!!');
206
-            return false;
207
-        }
203
+		if ($wsdl == '') {
204
+			$this->debug('no wsdl passed to parseWSDL()!!');
205
+			$this->setError('no wsdl passed to parseWSDL()!!');
206
+			return false;
207
+		}
208 208
         
209
-        // parse $wsdl for url format
210
-        $wsdl_props = parse_url($wsdl);
209
+		// parse $wsdl for url format
210
+		$wsdl_props = parse_url($wsdl);
211 211
 
212
-        if (isset($wsdl_props['scheme']) && ($wsdl_props['scheme'] == 'http' || $wsdl_props['scheme'] == 'https')) {
213
-            $this->debug('getting WSDL http(s) URL ' . $wsdl);
214
-        	// get wsdl
215
-	        $tr = new soap_transport_http($wsdl, $this->curl_options, $this->use_curl);
212
+		if (isset($wsdl_props['scheme']) && ($wsdl_props['scheme'] == 'http' || $wsdl_props['scheme'] == 'https')) {
213
+			$this->debug('getting WSDL http(s) URL ' . $wsdl);
214
+			// get wsdl
215
+			$tr = new soap_transport_http($wsdl, $this->curl_options, $this->use_curl);
216 216
 			$tr->request_method = 'GET';
217 217
 			$tr->useSOAPAction = false;
218 218
 			if($this->proxyhost && $this->proxyport){
@@ -228,238 +228,238 @@  discard block
 block discarded – undo
228 228
 			if($err = $tr->getError() ){
229 229
 				$errstr = 'Getting ' . $wsdl . ' - HTTP ERROR: '.$err;
230 230
 				$this->debug($errstr);
231
-	            $this->setError($errstr);
231
+				$this->setError($errstr);
232 232
 				unset($tr);
233
-	            return false;
233
+				return false;
234 234
 			}
235 235
 			unset($tr);
236 236
 			$this->debug("got WSDL URL");
237
-        } else {
238
-            // $wsdl is not http(s), so treat it as a file URL or plain file path
239
-        	if (isset($wsdl_props['scheme']) && ($wsdl_props['scheme'] == 'file') && isset($wsdl_props['path'])) {
240
-        		$path = isset($wsdl_props['host']) ? ($wsdl_props['host'] . ':' . $wsdl_props['path']) : $wsdl_props['path'];
241
-        	} else {
242
-        		$path = $wsdl;
243
-        	}
244
-            $this->debug('getting WSDL file ' . $path);
245
-            if ($fp = @fopen($path, 'r')) {
246
-                $wsdl_string = '';
247
-                while ($data = fread($fp, 32768)) {
248
-                    $wsdl_string .= $data;
249
-                } 
250
-                fclose($fp);
251
-            } else {
252
-            	$errstr = "Bad path to WSDL file $path";
253
-            	$this->debug($errstr);
254
-                $this->setError($errstr);
255
-                return false;
256
-            } 
257
-        }
258
-        $this->debug('Parse WSDL');
259
-        // end new code added
260
-        // Create an XML parser.
261
-        $this->parser = xml_parser_create(); 
262
-        // Set the options for parsing the XML data.
263
-        xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0); 
264
-        // Set the object for the parser.
265
-        xml_set_object($this->parser, $this); 
266
-        // Set the element handlers for the parser.
267
-        xml_set_element_handler($this->parser, 'start_element', 'end_element');
268
-        xml_set_character_data_handler($this->parser, 'character_data');
269
-        // Parse the XML file.
270
-        if (!xml_parse($this->parser, $wsdl_string, true)) {
271
-            // Display an error message.
272
-            $errstr = sprintf(
237
+		} else {
238
+			// $wsdl is not http(s), so treat it as a file URL or plain file path
239
+			if (isset($wsdl_props['scheme']) && ($wsdl_props['scheme'] == 'file') && isset($wsdl_props['path'])) {
240
+				$path = isset($wsdl_props['host']) ? ($wsdl_props['host'] . ':' . $wsdl_props['path']) : $wsdl_props['path'];
241
+			} else {
242
+				$path = $wsdl;
243
+			}
244
+			$this->debug('getting WSDL file ' . $path);
245
+			if ($fp = @fopen($path, 'r')) {
246
+				$wsdl_string = '';
247
+				while ($data = fread($fp, 32768)) {
248
+					$wsdl_string .= $data;
249
+				} 
250
+				fclose($fp);
251
+			} else {
252
+				$errstr = "Bad path to WSDL file $path";
253
+				$this->debug($errstr);
254
+				$this->setError($errstr);
255
+				return false;
256
+			} 
257
+		}
258
+		$this->debug('Parse WSDL');
259
+		// end new code added
260
+		// Create an XML parser.
261
+		$this->parser = xml_parser_create(); 
262
+		// Set the options for parsing the XML data.
263
+		xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0); 
264
+		// Set the object for the parser.
265
+		xml_set_object($this->parser, $this); 
266
+		// Set the element handlers for the parser.
267
+		xml_set_element_handler($this->parser, 'start_element', 'end_element');
268
+		xml_set_character_data_handler($this->parser, 'character_data');
269
+		// Parse the XML file.
270
+		if (!xml_parse($this->parser, $wsdl_string, true)) {
271
+			// Display an error message.
272
+			$errstr = sprintf(
273 273
 				'XML error parsing WSDL from %s on line %d: %s',
274 274
 				$wsdl,
275
-                xml_get_current_line_number($this->parser),
276
-                xml_error_string(xml_get_error_code($this->parser))
277
-                );
278
-            $this->debug($errstr);
275
+				xml_get_current_line_number($this->parser),
276
+				xml_error_string(xml_get_error_code($this->parser))
277
+				);
278
+			$this->debug($errstr);
279 279
 			$this->debug("XML payload:\n" . $wsdl_string);
280
-            $this->setError($errstr);
281
-            return false;
282
-        } 
280
+			$this->setError($errstr);
281
+			return false;
282
+		} 
283 283
 		// free the parser
284
-        xml_parser_free($this->parser);
285
-        $this->debug('Parsing WSDL done');
284
+		xml_parser_free($this->parser);
285
+		$this->debug('Parsing WSDL done');
286 286
 		// catch wsdl parse errors
287 287
 		if($this->getError()){
288 288
 			return false;
289 289
 		}
290
-        return true;
291
-    } 
290
+		return true;
291
+	} 
292 292
 
293
-    /**
294
-     * start-element handler
295
-     * 
296
-     * @param string $parser XML parser object
297
-     * @param string $name element name
298
-     * @param string $attrs associative array of attributes
299
-     * @access private 
300
-     */
301
-    public function start_element($parser, $name, $attrs)
302
-    {
303
-        if ($this->status == 'schema') {
304
-            $this->currentSchema->schemaStartElement($parser, $name, $attrs);
305
-            $this->appendDebug($this->currentSchema->getDebug());
306
-            $this->currentSchema->clearDebug();
307
-        } elseif (preg_match('/schema$/', $name)) {
308
-        	$this->debug('Parsing WSDL schema');
309
-            $this->status = 'schema';
310
-            $this->currentSchema = new nusoap_xmlschema('', '', $this->namespaces);
311
-            $this->currentSchema->schemaStartElement($parser, $name, $attrs);
312
-            $this->appendDebug($this->currentSchema->getDebug());
313
-            $this->currentSchema->clearDebug();
314
-        } else {
315
-            // position in the total number of elements, starting from 0
316
-            $pos = $this->position++;
317
-            $depth = $this->depth++; 
318
-            // set self as current value for this depth
319
-            $this->depth_array[$depth] = $pos;
320
-            $this->message[$pos] = array('cdata' => ''); 
321
-            // process attributes
322
-            if (count($attrs) > 0) {
293
+	/**
294
+	 * start-element handler
295
+	 * 
296
+	 * @param string $parser XML parser object
297
+	 * @param string $name element name
298
+	 * @param string $attrs associative array of attributes
299
+	 * @access private 
300
+	 */
301
+	public function start_element($parser, $name, $attrs)
302
+	{
303
+		if ($this->status == 'schema') {
304
+			$this->currentSchema->schemaStartElement($parser, $name, $attrs);
305
+			$this->appendDebug($this->currentSchema->getDebug());
306
+			$this->currentSchema->clearDebug();
307
+		} elseif (preg_match('/schema$/', $name)) {
308
+			$this->debug('Parsing WSDL schema');
309
+			$this->status = 'schema';
310
+			$this->currentSchema = new nusoap_xmlschema('', '', $this->namespaces);
311
+			$this->currentSchema->schemaStartElement($parser, $name, $attrs);
312
+			$this->appendDebug($this->currentSchema->getDebug());
313
+			$this->currentSchema->clearDebug();
314
+		} else {
315
+			// position in the total number of elements, starting from 0
316
+			$pos = $this->position++;
317
+			$depth = $this->depth++; 
318
+			// set self as current value for this depth
319
+			$this->depth_array[$depth] = $pos;
320
+			$this->message[$pos] = array('cdata' => ''); 
321
+			// process attributes
322
+			if (count($attrs) > 0) {
323 323
 				// register namespace declarations
324
-                foreach($attrs as $k => $v) {
325
-                    if (preg_match('/^xmlns/',$k)) {
326
-                        if ($ns_prefix = substr(strrchr($k, ':'), 1)) {
327
-                            $this->namespaces[$ns_prefix] = $v;
328
-                        } else {
329
-                            $this->namespaces['ns' . (count($this->namespaces) + 1)] = $v;
330
-                        } 
331
-                        if ($v == 'http://www.w3.org/2001/XMLSchema' || $v == 'http://www.w3.org/1999/XMLSchema' || $v == 'http://www.w3.org/2000/10/XMLSchema') {
332
-                            $this->XMLSchemaVersion = $v;
333
-                            $this->namespaces['xsi'] = $v . '-instance';
334
-                        } 
335
-                    }
336
-                }
337
-                // expand each attribute prefix to its namespace
338
-                foreach($attrs as $k => $v) {
339
-                    $k = strpos($k, ':') ? $this->expandQname($k) : $k;
340
-                    if ($k != 'location' && $k != 'soapAction' && $k != 'namespace') {
341
-                        $v = strpos($v, ':') ? $this->expandQname($v) : $v;
342
-                    } 
343
-                    $eAttrs[$k] = $v;
344
-                } 
345
-                $attrs = $eAttrs;
346
-            } else {
347
-                $attrs = array();
348
-            } 
349
-            // get element prefix, namespace and name
350
-            if (preg_match('/:/', $name)) {
351
-                // get ns prefix
352
-                $prefix = substr($name, 0, strpos($name, ':')); 
353
-                // get ns
354
-                $namespace = isset($this->namespaces[$prefix]) ? $this->namespaces[$prefix] : ''; 
355
-                // get unqualified name
356
-                $name = substr(strstr($name, ':'), 1);
357
-            } 
324
+				foreach($attrs as $k => $v) {
325
+					if (preg_match('/^xmlns/',$k)) {
326
+						if ($ns_prefix = substr(strrchr($k, ':'), 1)) {
327
+							$this->namespaces[$ns_prefix] = $v;
328
+						} else {
329
+							$this->namespaces['ns' . (count($this->namespaces) + 1)] = $v;
330
+						} 
331
+						if ($v == 'http://www.w3.org/2001/XMLSchema' || $v == 'http://www.w3.org/1999/XMLSchema' || $v == 'http://www.w3.org/2000/10/XMLSchema') {
332
+							$this->XMLSchemaVersion = $v;
333
+							$this->namespaces['xsi'] = $v . '-instance';
334
+						} 
335
+					}
336
+				}
337
+				// expand each attribute prefix to its namespace
338
+				foreach($attrs as $k => $v) {
339
+					$k = strpos($k, ':') ? $this->expandQname($k) : $k;
340
+					if ($k != 'location' && $k != 'soapAction' && $k != 'namespace') {
341
+						$v = strpos($v, ':') ? $this->expandQname($v) : $v;
342
+					} 
343
+					$eAttrs[$k] = $v;
344
+				} 
345
+				$attrs = $eAttrs;
346
+			} else {
347
+				$attrs = array();
348
+			} 
349
+			// get element prefix, namespace and name
350
+			if (preg_match('/:/', $name)) {
351
+				// get ns prefix
352
+				$prefix = substr($name, 0, strpos($name, ':')); 
353
+				// get ns
354
+				$namespace = isset($this->namespaces[$prefix]) ? $this->namespaces[$prefix] : ''; 
355
+				// get unqualified name
356
+				$name = substr(strstr($name, ':'), 1);
357
+			} 
358 358
 			// process attributes, expanding any prefixes to namespaces
359
-            // find status, register data
360
-            switch ($this->status) {
361
-                case 'message':
362
-                    if ($name == 'part') {
363
-			            if (isset($attrs['type'])) {
364
-		                    $this->debug("msg " . $this->currentMessage . ": found part (with type) $attrs[name]: " . implode(',', $attrs));
365
-		                    $this->messages[$this->currentMessage][$attrs['name']] = $attrs['type'];
366
-            			} 
367
-			            if (isset($attrs['element'])) {
368
-		                    $this->debug("msg " . $this->currentMessage . ": found part (with element) $attrs[name]: " . implode(',', $attrs));
369
-			                $this->messages[$this->currentMessage][$attrs['name']] = $attrs['element'] . '^';
370
-			            } 
371
-        			} 
372
-        			break;
373
-			    case 'portType':
374
-			        switch ($name) {
375
-			            case 'operation':
376
-			                $this->currentPortOperation = $attrs['name'];
377
-			                $this->debug("portType $this->currentPortType operation: $this->currentPortOperation");
378
-			                if (isset($attrs['parameterOrder'])) {
379
-			                	$this->portTypes[$this->currentPortType][$attrs['name']]['parameterOrder'] = $attrs['parameterOrder'];
380
-			        		} 
381
-			        		break;
382
-					    case 'documentation':
383
-					        $this->documentation = true;
384
-					        break; 
385
-					    // merge input/output data
386
-					    default:
387
-					        $m = isset($attrs['message']) ? $this->getLocalPart($attrs['message']) : '';
388
-					        $this->portTypes[$this->currentPortType][$this->currentPortOperation][$name]['message'] = $m;
389
-					        break;
359
+			// find status, register data
360
+			switch ($this->status) {
361
+				case 'message':
362
+					if ($name == 'part') {
363
+						if (isset($attrs['type'])) {
364
+							$this->debug("msg " . $this->currentMessage . ": found part (with type) $attrs[name]: " . implode(',', $attrs));
365
+							$this->messages[$this->currentMessage][$attrs['name']] = $attrs['type'];
366
+						} 
367
+						if (isset($attrs['element'])) {
368
+							$this->debug("msg " . $this->currentMessage . ": found part (with element) $attrs[name]: " . implode(',', $attrs));
369
+							$this->messages[$this->currentMessage][$attrs['name']] = $attrs['element'] . '^';
370
+						} 
390 371
 					} 
391
-			    	break;
372
+					break;
373
+				case 'portType':
374
+					switch ($name) {
375
+						case 'operation':
376
+							$this->currentPortOperation = $attrs['name'];
377
+							$this->debug("portType $this->currentPortType operation: $this->currentPortOperation");
378
+							if (isset($attrs['parameterOrder'])) {
379
+								$this->portTypes[$this->currentPortType][$attrs['name']]['parameterOrder'] = $attrs['parameterOrder'];
380
+							} 
381
+							break;
382
+						case 'documentation':
383
+							$this->documentation = true;
384
+							break; 
385
+						// merge input/output data
386
+						default:
387
+							$m = isset($attrs['message']) ? $this->getLocalPart($attrs['message']) : '';
388
+							$this->portTypes[$this->currentPortType][$this->currentPortOperation][$name]['message'] = $m;
389
+							break;
390
+					} 
391
+					break;
392 392
 				case 'binding':
393
-				    switch ($name) {
394
-				        case 'binding': 
395
-				            // get ns prefix
396
-				            if (isset($attrs['style'])) {
397
-				            $this->bindings[$this->currentBinding]['prefix'] = $prefix;
398
-					    	} 
399
-					    	$this->bindings[$this->currentBinding] = array_merge($this->bindings[$this->currentBinding], $attrs);
400
-					    	break;
393
+					switch ($name) {
394
+						case 'binding': 
395
+							// get ns prefix
396
+							if (isset($attrs['style'])) {
397
+							$this->bindings[$this->currentBinding]['prefix'] = $prefix;
398
+							} 
399
+							$this->bindings[$this->currentBinding] = array_merge($this->bindings[$this->currentBinding], $attrs);
400
+							break;
401 401
 						case 'header':
402
-						    $this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus]['headers'][] = $attrs;
403
-						    break;
402
+							$this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus]['headers'][] = $attrs;
403
+							break;
404 404
 						case 'operation':
405
-						    if (isset($attrs['soapAction'])) {
406
-						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['soapAction'] = $attrs['soapAction'];
407
-						    } 
408
-						    if (isset($attrs['style'])) {
409
-						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['style'] = $attrs['style'];
410
-						    } 
411
-						    if (isset($attrs['name'])) {
412
-						        $this->currentOperation = $attrs['name'];
413
-						        $this->debug("current binding operation: $this->currentOperation");
414
-						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['name'] = $attrs['name'];
415
-						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['binding'] = $this->currentBinding;
416
-						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['endpoint'] = isset($this->bindings[$this->currentBinding]['endpoint']) ? $this->bindings[$this->currentBinding]['endpoint'] : '';
417
-						    } 
418
-						    break;
405
+							if (isset($attrs['soapAction'])) {
406
+								$this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['soapAction'] = $attrs['soapAction'];
407
+							} 
408
+							if (isset($attrs['style'])) {
409
+								$this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['style'] = $attrs['style'];
410
+							} 
411
+							if (isset($attrs['name'])) {
412
+								$this->currentOperation = $attrs['name'];
413
+								$this->debug("current binding operation: $this->currentOperation");
414
+								$this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['name'] = $attrs['name'];
415
+								$this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['binding'] = $this->currentBinding;
416
+								$this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['endpoint'] = isset($this->bindings[$this->currentBinding]['endpoint']) ? $this->bindings[$this->currentBinding]['endpoint'] : '';
417
+							} 
418
+							break;
419 419
 						case 'input':
420
-						    $this->opStatus = 'input';
421
-						    break;
420
+							$this->opStatus = 'input';
421
+							break;
422 422
 						case 'output':
423
-						    $this->opStatus = 'output';
424
-						    break;
423
+							$this->opStatus = 'output';
424
+							break;
425 425
 						case 'body':
426
-						    if (isset($this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus])) {
427
-						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus] = array_merge($this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus], $attrs);
428
-						    } else {
429
-						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus] = $attrs;
430
-						    } 
431
-						    break;
426
+							if (isset($this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus])) {
427
+								$this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus] = array_merge($this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus], $attrs);
428
+							} else {
429
+								$this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus] = $attrs;
430
+							} 
431
+							break;
432 432
 					} 
433 433
 					break;
434 434
 				case 'service':
435 435
 					switch ($name) {
436
-					    case 'port':
437
-					        $this->currentPort = $attrs['name'];
438
-					        $this->debug('current port: ' . $this->currentPort);
439
-					        $this->ports[$this->currentPort]['binding'] = $this->getLocalPart($attrs['binding']);
436
+						case 'port':
437
+							$this->currentPort = $attrs['name'];
438
+							$this->debug('current port: ' . $this->currentPort);
439
+							$this->ports[$this->currentPort]['binding'] = $this->getLocalPart($attrs['binding']);
440 440
 					
441
-					        break;
442
-					    case 'address':
443
-					        $this->ports[$this->currentPort]['location'] = $attrs['location'];
444
-					        $this->ports[$this->currentPort]['bindingType'] = $namespace;
445
-					        $this->bindings[ $this->ports[$this->currentPort]['binding'] ]['bindingType'] = $namespace;
446
-					        $this->bindings[ $this->ports[$this->currentPort]['binding'] ]['endpoint'] = $attrs['location'];
447
-					        break;
441
+							break;
442
+						case 'address':
443
+							$this->ports[$this->currentPort]['location'] = $attrs['location'];
444
+							$this->ports[$this->currentPort]['bindingType'] = $namespace;
445
+							$this->bindings[ $this->ports[$this->currentPort]['binding'] ]['bindingType'] = $namespace;
446
+							$this->bindings[ $this->ports[$this->currentPort]['binding'] ]['endpoint'] = $attrs['location'];
447
+							break;
448 448
 					} 
449 449
 					break;
450 450
 			} 
451 451
 		// set status
452 452
 		switch ($name) {
453 453
 			case 'import':
454
-			    if (isset($attrs['location'])) {
455
-                    $this->import[$attrs['namespace']][] = array('location' => $attrs['location'], 'loaded' => false);
456
-                    $this->debug('parsing import ' . $attrs['namespace']. ' - ' . $attrs['location'] . ' (' . count($this->import[$attrs['namespace']]).')');
454
+				if (isset($attrs['location'])) {
455
+					$this->import[$attrs['namespace']][] = array('location' => $attrs['location'], 'loaded' => false);
456
+					$this->debug('parsing import ' . $attrs['namespace']. ' - ' . $attrs['location'] . ' (' . count($this->import[$attrs['namespace']]).')');
457 457
 				} else {
458
-                    $this->import[$attrs['namespace']][] = array('location' => '', 'loaded' => true);
458
+					$this->import[$attrs['namespace']][] = array('location' => '', 'loaded' => true);
459 459
 					if (! $this->getPrefixFromNamespace($attrs['namespace'])) {
460 460
 						$this->namespaces['ns'.(count($this->namespaces)+1)] = $attrs['namespace'];
461 461
 					}
462
-                    $this->debug('parsing import ' . $attrs['namespace']. ' - [no location] (' . count($this->import[$attrs['namespace']]).')');
462
+					$this->debug('parsing import ' . $attrs['namespace']. ' - [no location] (' . count($this->import[$attrs['namespace']]).')');
463 463
 				}
464 464
 				break;
465 465
 
@@ -477,9 +477,9 @@  discard block
 block discarded – undo
477 477
 				if (isset($attrs['name'])) {
478 478
 				// get binding name
479 479
 					if (strpos($attrs['name'], ':')) {
480
-			    		$this->currentBinding = $this->getLocalPart($attrs['name']);
480
+						$this->currentBinding = $this->getLocalPart($attrs['name']);
481 481
 					} else {
482
-			    		$this->currentBinding = $attrs['name'];
482
+						$this->currentBinding = $attrs['name'];
483 483
 					} 
484 484
 					$this->status = 'binding';
485 485
 					$this->bindings[$this->currentBinding]['portType'] = $this->getLocalPart($attrs['type']);
@@ -501,20 +501,20 @@  discard block
 block discarded – undo
501 501
 	} 
502 502
 
503 503
 	/**
504
-	* end-element handler
505
-	* 
506
-	* @param string $parser XML parser object
507
-	* @param string $name element name
508
-	* @access private 
509
-	*/
504
+	 * end-element handler
505
+	 * 
506
+	 * @param string $parser XML parser object
507
+	 * @param string $name element name
508
+	 * @access private 
509
+	 */
510 510
 	public function end_element($parser, $name){ 
511 511
 		// unset schema status
512 512
 		if (/*preg_match('/types$/', $name) ||*/ preg_match('/schema$/', $name)) {
513 513
 			$this->status = "";
514
-            $this->appendDebug($this->currentSchema->getDebug());
515
-            $this->currentSchema->clearDebug();
514
+			$this->appendDebug($this->currentSchema->getDebug());
515
+			$this->currentSchema->clearDebug();
516 516
 			$this->schemas[$this->currentSchema->schemaTargetNamespace][] = $this->currentSchema;
517
-        	$this->debug('Parsing WSDL schema done');
517
+			$this->debug('Parsing WSDL schema done');
518 518
 		} 
519 519
 		if ($this->status == 'schema') {
520 520
 			$this->currentSchema->schemaEndElement($parser, $name);
@@ -547,14 +547,14 @@  discard block
 block discarded – undo
547 547
 	} 
548 548
 
549 549
 	/**
550
-	* if authenticating, set user credentials here
551
-	*
552
-	* @param    string $username
553
-	* @param    string $password
554
-	* @param	string $authtype (basic|digest|certificate|ntlm)
555
-	* @param	array $certRequest (keys must be cainfofile (optional), sslcertfile, sslkeyfile, passphrase, certpassword (optional), verifypeer (optional), verifyhost (optional): see corresponding options in cURL docs)
556
-	* @access   public
557
-	*/
550
+	 * if authenticating, set user credentials here
551
+	 *
552
+	 * @param    string $username
553
+	 * @param    string $password
554
+	 * @param	string $authtype (basic|digest|certificate|ntlm)
555
+	 * @param	array $certRequest (keys must be cainfofile (optional), sslcertfile, sslkeyfile, passphrase, certpassword (optional), verifypeer (optional), verifyhost (optional): see corresponding options in cURL docs)
556
+	 * @access   public
557
+	 */
558 558
 	public function setCredentials($username, $password, $authtype = 'basic', $certRequest = array()) {
559 559
 		$this->debug("setCredentials username=$username authtype=$authtype certRequest=");
560 560
 		$this->appendDebug($this->varDump($certRequest));
@@ -633,7 +633,7 @@  discard block
 block discarded – undo
633 633
 					// note that we could/should also check the namespace here
634 634
 					if ($operation == $bOperation) {
635 635
 						$opData = $this->bindings[ $portData['binding'] ]['operations'][$operation];
636
-					    return $opData;
636
+						return $opData;
637 637
 					} 
638 638
 				} 
639 639
 			}
@@ -661,7 +661,7 @@  discard block
 block discarded – undo
661 661
 				// loop through operations for the binding
662 662
 				foreach ($this->bindings[ $portData['binding'] ]['operations'] as $bOperation => $opData) {
663 663
 					if ($opData['soapAction'] == $soapAction) {
664
-					    return $opData;
664
+						return $opData;
665 665
 					} 
666 666
 				} 
667 667
 			}
@@ -669,23 +669,23 @@  discard block
 block discarded – undo
669 669
 	}
670 670
 	
671 671
 	/**
672
-    * returns an array of information about a given type
673
-    * returns false if no type exists by the given name
674
-    *
675
-	*	 typeDef = array(
676
-	*	 'elements' => array(), // refs to elements array
677
-	*	'restrictionBase' => '',
678
-	*	'phpType' => '',
679
-	*	'order' => '(sequence|all)',
680
-	*	'attrs' => array() // refs to attributes array
681
-	*	)
682
-    *
683
-    * @param string $type the type
684
-    * @param string $ns namespace (not prefix) of the type
685
-    * @return mixed
686
-    * @access public
687
-    * @see nusoap_xmlschema
688
-    */
672
+	 * returns an array of information about a given type
673
+	 * returns false if no type exists by the given name
674
+	 *
675
+	 *	 typeDef = array(
676
+	 *	 'elements' => array(), // refs to elements array
677
+	 *	'restrictionBase' => '',
678
+	 *	'phpType' => '',
679
+	 *	'order' => '(sequence|all)',
680
+	 *	'attrs' => array() // refs to attributes array
681
+	 *	)
682
+	 *
683
+	 * @param string $type the type
684
+	 * @param string $ns namespace (not prefix) of the type
685
+	 * @return mixed
686
+	 * @access public
687
+	 * @see nusoap_xmlschema
688
+	 */
689 689
 	public function getTypeDef($type, $ns) {
690 690
 		$this->debug("in getTypeDef: type=$type, ns=$ns");
691 691
 		if ((! $ns) && isset($this->namespaces['tns'])) {
@@ -742,13 +742,13 @@  discard block
 block discarded – undo
742 742
 		return false;
743 743
 	}
744 744
 
745
-    /**
746
-    * prints html description of services
747
-    *
748
-    * @access private
749
-    */
750
-    public function webDescription(){
751
-    	global $HTTP_SERVER_VARS;
745
+	/**
746
+	 * prints html description of services
747
+	 *
748
+	 * @access private
749
+	 */
750
+	public function webDescription(){
751
+		global $HTTP_SERVER_VARS;
752 752
 
753 753
 		if (isset($_SERVER)) {
754 754
 			$PHP_SELF = $_SERVER['PHP_SELF'];
@@ -842,29 +842,29 @@  discard block
 block discarded – undo
842 842
 				Click on an operation name to view it&apos;s details.</p>
843 843
 				<ul>';
844 844
 				foreach($this->getOperations() as $op => $data){
845
-				    $b .= "<li><a href='#' onclick=\"popout();popup('$op')\">$op</a></li>";
846
-				    // create hidden div
847
-				    $b .= "<div id='$op' class='hidden'>
845
+					$b .= "<li><a href='#' onclick=\"popout();popup('$op')\">$op</a></li>";
846
+					// create hidden div
847
+					$b .= "<div id='$op' class='hidden'>
848 848
 				    <a href='#' onclick='popout()'><font color='#ffffff'>Close</font></a><br><br>";
849
-				    foreach($data as $donnie => $marie){ // loop through opdata
849
+					foreach($data as $donnie => $marie){ // loop through opdata
850 850
 						if($donnie == 'input' || $donnie == 'output'){ // show input/output data
851
-						    $b .= "<font color='white'>".ucfirst($donnie).':</font><br>';
852
-						    foreach($marie as $captain => $tenille){ // loop through data
851
+							$b .= "<font color='white'>".ucfirst($donnie).':</font><br>';
852
+							foreach($marie as $captain => $tenille){ // loop through data
853 853
 								if($captain == 'parts'){ // loop thru parts
854
-								    $b .= "&nbsp;&nbsp;$captain:<br>";
855
-					                //if(is_array($tenille)){
856
-								    	foreach($tenille as $joanie => $chachi){
854
+									$b .= "&nbsp;&nbsp;$captain:<br>";
855
+									//if(is_array($tenille)){
856
+										foreach($tenille as $joanie => $chachi){
857 857
 											$b .= "&nbsp;&nbsp;&nbsp;&nbsp;$joanie: $chachi<br>";
858
-								    	}
859
-					        		//}
858
+										}
859
+									//}
860 860
 								} else {
861
-								    $b .= "&nbsp;&nbsp;$captain: $tenille<br>";
861
+									$b .= "&nbsp;&nbsp;$captain: $tenille<br>";
862 862
 								}
863
-						    }
863
+							}
864 864
 						} else {
865
-						    $b .= "<font color='white'>".ucfirst($donnie).":</font> $marie<br>";
865
+							$b .= "<font color='white'>".ucfirst($donnie).":</font> $marie<br>";
866 866
 						}
867
-				    }
867
+					}
868 868
 					$b .= '</div>';
869 869
 				}
870 870
 				$b .= '
@@ -872,15 +872,15 @@  discard block
 block discarded – undo
872 872
 			</div>
873 873
 		</div></body></html>';
874 874
 		return $b;
875
-    }
875
+	}
876 876
 
877 877
 	/**
878
-	* serialize the parsed wsdl
879
-	*
880
-	* @param mixed $debug whether to put debug=1 in endpoint URL
881
-	* @return string serialization of WSDL
882
-	* @access public 
883
-	*/
878
+	 * serialize the parsed wsdl
879
+	 *
880
+	 * @param mixed $debug whether to put debug=1 in endpoint URL
881
+	 * @return string serialization of WSDL
882
+	 * @access public 
883
+	 */
884 884
 	public function serialize($debug = 0)
885 885
 	{
886 886
 		$xml = '<?xml version="1.0" encoding="ISO-8859-1"?>';
@@ -925,18 +925,18 @@  discard block
 block discarded – undo
925 925
 				if(is_array($msgParts)){
926 926
 					foreach($msgParts as $partName => $partType) {
927 927
 						if (strpos($partType, ':')) {
928
-						    $typePrefix = $this->getPrefixFromNamespace($this->getPrefix($partType));
928
+							$typePrefix = $this->getPrefixFromNamespace($this->getPrefix($partType));
929 929
 						} elseif (isset($this->typemap[$this->namespaces['xsd']][$partType])) {
930
-						    $typePrefix = 'xsd';
930
+							$typePrefix = 'xsd';
931 931
 						} else {
932
-						    foreach($this->typemap as $ns => $types) {
933
-						        if (isset($types[$partType])) {
934
-						            $typePrefix = $this->getPrefixFromNamespace($ns);
935
-						        } 
936
-						    } 
937
-						    if (!isset($typePrefix)) {
938
-						        die("$partType has no namespace!");
939
-						    } 
932
+							foreach($this->typemap as $ns => $types) {
933
+								if (isset($types[$partType])) {
934
+									$typePrefix = $this->getPrefixFromNamespace($ns);
935
+								} 
936
+							} 
937
+							if (!isset($typePrefix)) {
938
+								die("$partType has no namespace!");
939
+							} 
940 940
 						}
941 941
 						$ns = $this->getNamespaceFromPrefix($typePrefix);
942 942
 						$localPart = $this->getLocalPart($partType);
@@ -981,7 +981,7 @@  discard block
 block discarded – undo
981 981
 					$binding_xml .= "\n" . '  </operation>';
982 982
 					$portType_xml .= "\n" . '  <operation name="' . $opParts['name'] . '"';
983 983
 					if (isset($opParts['parameterOrder'])) {
984
-					    $portType_xml .= ' parameterOrder="' . $opParts['parameterOrder'] . '"';
984
+						$portType_xml .= ' parameterOrder="' . $opParts['parameterOrder'] . '"';
985 985
 					} 
986 986
 					$portType_xml .= '>';
987 987
 					if(isset($opParts['documentation']) && $opParts['documentation'] != '') {
@@ -1276,34 +1276,34 @@  discard block
 block discarded – undo
1276 1276
 		}
1277 1277
 
1278 1278
 		// if a soapval has been supplied, let its type override the WSDL
1279
-    	if (is_object($value) && get_class($value) == 'soapval') {
1280
-    		if ($value->type_ns) {
1281
-    			$type = $value->type_ns . ':' . $value->type;
1282
-		    	$forceType = true;
1283
-		    	$this->debug("in serializeType: soapval overrides type to $type");
1284
-    		} elseif ($value->type) {
1285
-	    		$type = $value->type;
1286
-		    	$forceType = true;
1287
-		    	$this->debug("in serializeType: soapval overrides type to $type");
1288
-	    	} else {
1289
-	    		$forceType = false;
1290
-		    	$this->debug("in serializeType: soapval does not override type");
1291
-	    	}
1292
-	    	$attrs = $value->attributes;
1293
-	    	$value = $value->value;
1294
-	    	$this->debug("in serializeType: soapval overrides value to $value");
1295
-	    	if ($attrs) {
1296
-	    		if (!is_array($value)) {
1297
-	    			$value['!'] = $value;
1298
-	    		}
1299
-	    		foreach ($attrs as $n => $v) {
1300
-	    			$value['!' . $n] = $v;
1301
-	    		}
1302
-		    	$this->debug("in serializeType: soapval provides attributes");
1303
-		    }
1304
-        } else {
1305
-        	$forceType = false;
1306
-        }
1279
+		if (is_object($value) && get_class($value) == 'soapval') {
1280
+			if ($value->type_ns) {
1281
+				$type = $value->type_ns . ':' . $value->type;
1282
+				$forceType = true;
1283
+				$this->debug("in serializeType: soapval overrides type to $type");
1284
+			} elseif ($value->type) {
1285
+				$type = $value->type;
1286
+				$forceType = true;
1287
+				$this->debug("in serializeType: soapval overrides type to $type");
1288
+			} else {
1289
+				$forceType = false;
1290
+				$this->debug("in serializeType: soapval does not override type");
1291
+			}
1292
+			$attrs = $value->attributes;
1293
+			$value = $value->value;
1294
+			$this->debug("in serializeType: soapval overrides value to $value");
1295
+			if ($attrs) {
1296
+				if (!is_array($value)) {
1297
+					$value['!'] = $value;
1298
+				}
1299
+				foreach ($attrs as $n => $v) {
1300
+					$value['!' . $n] = $v;
1301
+				}
1302
+				$this->debug("in serializeType: soapval provides attributes");
1303
+			}
1304
+		} else {
1305
+			$forceType = false;
1306
+		}
1307 1307
 
1308 1308
 		$xml = '';
1309 1309
 		if (strpos($type, ':')) {
@@ -1335,8 +1335,8 @@  discard block
 block discarded – undo
1335 1335
 					// JBoss/Axis does this sometimes
1336 1336
 					return $this->serialize_val($value, $name, false, false, false, false, $use);
1337 1337
 				}
1338
-		    	if ($uqType == 'boolean') {
1339
-		    		if ((is_string($value) && $value == 'false') || (! $value)) {
1338
+				if ($uqType == 'boolean') {
1339
+					if ((is_string($value) && $value == 'false') || (! $value)) {
1340 1340
 						$value = 'false';
1341 1341
 					} else {
1342 1342
 						$value = 'true';
@@ -1519,9 +1519,9 @@  discard block
 block discarded – undo
1519 1519
 					$this->debug("serializing array element: $k, $v of type: $typeDef[arrayType]");
1520 1520
 					//if (strpos($typeDef['arrayType'], ':') ) {
1521 1521
 					if (!in_array($typeDef['arrayType'],$this->typemap['http://www.w3.org/2001/XMLSchema'])) {
1522
-					    $contents .= $this->serializeType('item', $typeDef['arrayType'], $v, $use);
1522
+						$contents .= $this->serializeType('item', $typeDef['arrayType'], $v, $use);
1523 1523
 					} else {
1524
-					    $contents .= $this->serialize_val($v, 'item', $typeDef['arrayType'], null, $this->XMLSchemaVersion, false, $use);
1524
+						$contents .= $this->serialize_val($v, 'item', $typeDef['arrayType'], null, $this->XMLSchemaVersion, false, $use);
1525 1525
 					} 
1526 1526
 				}
1527 1527
 			} else {
@@ -1677,7 +1677,7 @@  discard block
 block discarded – undo
1677 1677
 				}
1678 1678
 				// if user took advantage of a minOccurs=0, then only serialize named parameters
1679 1679
 				if (isset($optionals)
1680
-				    && (!isset($xvalue[$eName])) 
1680
+					&& (!isset($xvalue[$eName])) 
1681 1681
 					&& ( (!isset($attrs['nillable'])) || $attrs['nillable'] != 'true')
1682 1682
 					){
1683 1683
 					if (isset($attrs['minOccurs']) && $attrs['minOccurs'] <> '0') {
@@ -1688,9 +1688,9 @@  discard block
 block discarded – undo
1688 1688
 				} else {
1689 1689
 					// get value
1690 1690
 					if (isset($xvalue[$eName])) {
1691
-					    $v = $xvalue[$eName];
1691
+						$v = $xvalue[$eName];
1692 1692
 					} else {
1693
-					    $v = null;
1693
+						$v = null;
1694 1694
 					}
1695 1695
 					if (isset($attrs['form'])) {
1696 1696
 						$unqualified = ($attrs['form'] == 'unqualified');
@@ -1702,24 +1702,24 @@  discard block
 block discarded – undo
1702 1702
 						foreach ($vv as $k => $v) {
1703 1703
 							if (isset($attrs['type']) || isset($attrs['ref'])) {
1704 1704
 								// serialize schema-defined type
1705
-							    $xml .= $this->serializeType($eName, isset($attrs['type']) ? $attrs['type'] : $attrs['ref'], $v, $use, $encodingStyle, $unqualified);
1705
+								$xml .= $this->serializeType($eName, isset($attrs['type']) ? $attrs['type'] : $attrs['ref'], $v, $use, $encodingStyle, $unqualified);
1706 1706
 							} else {
1707 1707
 								// serialize generic type (can this ever really happen?)
1708
-							    $this->debug("calling serialize_val() for $v, $eName, false, false, false, false, $use");
1709
-							    $xml .= $this->serialize_val($v, $eName, false, false, false, false, $use);
1708
+								$this->debug("calling serialize_val() for $v, $eName, false, false, false, false, $use");
1709
+								$xml .= $this->serialize_val($v, $eName, false, false, false, false, $use);
1710 1710
 							}
1711 1711
 						}
1712 1712
 					} else {
1713 1713
 						if (is_null($v) && isset($attrs['minOccurs']) && $attrs['minOccurs'] == '0') {
1714 1714
 						} elseif (is_null($v) && isset($attrs['nillable']) && $attrs['nillable'] == 'true') {
1715
-						    $xml .= $this->serializeType($eName, isset($attrs['type']) ? $attrs['type'] : $attrs['ref'], $v, $use, $encodingStyle, $unqualified);
1715
+							$xml .= $this->serializeType($eName, isset($attrs['type']) ? $attrs['type'] : $attrs['ref'], $v, $use, $encodingStyle, $unqualified);
1716 1716
 						} elseif (isset($attrs['type']) || isset($attrs['ref'])) {
1717 1717
 							// serialize schema-defined type
1718
-						    $xml .= $this->serializeType($eName, isset($attrs['type']) ? $attrs['type'] : $attrs['ref'], $v, $use, $encodingStyle, $unqualified);
1718
+							$xml .= $this->serializeType($eName, isset($attrs['type']) ? $attrs['type'] : $attrs['ref'], $v, $use, $encodingStyle, $unqualified);
1719 1719
 						} else {
1720 1720
 							// serialize generic type (can this ever really happen?)
1721
-						    $this->debug("calling serialize_val() for $v, $eName, false, false, false, false, $use");
1722
-						    $xml .= $this->serialize_val($v, $eName, false, false, false, false, $use);
1721
+							$this->debug("calling serialize_val() for $v, $eName, false, false, false, false, $use");
1722
+							$xml .= $this->serialize_val($v, $eName, false, false, false, false, $use);
1723 1723
 						}
1724 1724
 					}
1725 1725
 				}
@@ -1731,46 +1731,46 @@  discard block
 block discarded – undo
1731 1731
 	}
1732 1732
 
1733 1733
 	/**
1734
-	* adds an XML Schema complex type to the WSDL types
1735
-	*
1736
-	* @param string	$name
1737
-	* @param string $typeClass (complexType|simpleType|attribute)
1738
-	* @param string $phpType currently supported are array and struct (php assoc array)
1739
-	* @param string $compositor (all|sequence|choice)
1740
-	* @param string $restrictionBase namespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
1741
-	* @param array $elements e.g. array ( name => array(name=>'',type=>'') )
1742
-	* @param array $attrs e.g. array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:string[]'))
1743
-	* @param string $arrayType as namespace:name (xsd:string)
1744
-	* @see nusoap_xmlschema
1745
-	* @access public
1746
-	*/
1734
+	 * adds an XML Schema complex type to the WSDL types
1735
+	 *
1736
+	 * @param string	$name
1737
+	 * @param string $typeClass (complexType|simpleType|attribute)
1738
+	 * @param string $phpType currently supported are array and struct (php assoc array)
1739
+	 * @param string $compositor (all|sequence|choice)
1740
+	 * @param string $restrictionBase namespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
1741
+	 * @param array $elements e.g. array ( name => array(name=>'',type=>'') )
1742
+	 * @param array $attrs e.g. array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:string[]'))
1743
+	 * @param string $arrayType as namespace:name (xsd:string)
1744
+	 * @see nusoap_xmlschema
1745
+	 * @access public
1746
+	 */
1747 1747
 	public function addComplexType($name,$typeClass='complexType',$phpType='array',$compositor='',$restrictionBase='',$elements=array(),$attrs=array(),$arrayType='') {
1748 1748
 		if (count($elements) > 0) {
1749 1749
 			$eElements = array();
1750
-	    	foreach($elements as $n => $e){
1751
-	            // expand each element
1752
-	            $ee = array();
1753
-	            foreach ($e as $k => $v) {
1754
-		            $k = strpos($k,':') ? $this->expandQname($k) : $k;
1755
-		            $v = strpos($v,':') ? $this->expandQname($v) : $v;
1756
-		            $ee[$k] = $v;
1757
-		    	}
1758
-	    		$eElements[$n] = $ee;
1759
-	    	}
1760
-	    	$elements = $eElements;
1750
+			foreach($elements as $n => $e){
1751
+				// expand each element
1752
+				$ee = array();
1753
+				foreach ($e as $k => $v) {
1754
+					$k = strpos($k,':') ? $this->expandQname($k) : $k;
1755
+					$v = strpos($v,':') ? $this->expandQname($v) : $v;
1756
+					$ee[$k] = $v;
1757
+				}
1758
+				$eElements[$n] = $ee;
1759
+			}
1760
+			$elements = $eElements;
1761 1761
 		}
1762 1762
 		
1763 1763
 		if (count($attrs) > 0) {
1764
-	    	foreach($attrs as $n => $a){
1765
-	            // expand each attribute
1766
-	            foreach ($a as $k => $v) {
1767
-		            $k = strpos($k,':') ? $this->expandQname($k) : $k;
1768
-		            $v = strpos($v,':') ? $this->expandQname($v) : $v;
1769
-		            $aa[$k] = $v;
1770
-		    	}
1771
-	    		$eAttrs[$n] = $aa;
1772
-	    	}
1773
-	    	$attrs = $eAttrs;
1764
+			foreach($attrs as $n => $a){
1765
+				// expand each attribute
1766
+				foreach ($a as $k => $v) {
1767
+					$k = strpos($k,':') ? $this->expandQname($k) : $k;
1768
+					$v = strpos($v,':') ? $this->expandQname($v) : $v;
1769
+					$aa[$k] = $v;
1770
+				}
1771
+				$eAttrs[$n] = $aa;
1772
+			}
1773
+			$attrs = $eAttrs;
1774 1774
 		}
1775 1775
 
1776 1776
 		$restrictionBase = strpos($restrictionBase,':') ? $this->expandQname($restrictionBase) : $restrictionBase;
@@ -1781,16 +1781,16 @@  discard block
 block discarded – undo
1781 1781
 	}
1782 1782
 
1783 1783
 	/**
1784
-	* adds an XML Schema simple type to the WSDL types
1785
-	*
1786
-	* @param string $name
1787
-	* @param string $restrictionBase namespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
1788
-	* @param string $typeClass (should always be simpleType)
1789
-	* @param string $phpType (should always be scalar)
1790
-	* @param array $enumeration array of values
1791
-	* @see nusoap_xmlschema
1792
-	* @access public
1793
-	*/
1784
+	 * adds an XML Schema simple type to the WSDL types
1785
+	 *
1786
+	 * @param string $name
1787
+	 * @param string $restrictionBase namespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
1788
+	 * @param string $typeClass (should always be simpleType)
1789
+	 * @param string $phpType (should always be scalar)
1790
+	 * @param array $enumeration array of values
1791
+	 * @see nusoap_xmlschema
1792
+	 * @access public
1793
+	 */
1794 1794
 	public function addSimpleType($name, $restrictionBase='', $typeClass='simpleType', $phpType='scalar', $enumeration=array()) {
1795 1795
 		$restrictionBase = strpos($restrictionBase,':') ? $this->expandQname($restrictionBase) : $restrictionBase;
1796 1796
 
@@ -1799,31 +1799,31 @@  discard block
 block discarded – undo
1799 1799
 	}
1800 1800
 
1801 1801
 	/**
1802
-	* adds an element to the WSDL types
1803
-	*
1804
-	* @param array $attrs attributes that must include name and type
1805
-	* @see nusoap_xmlschema
1806
-	* @access public
1807
-	*/
1802
+	 * adds an element to the WSDL types
1803
+	 *
1804
+	 * @param array $attrs attributes that must include name and type
1805
+	 * @see nusoap_xmlschema
1806
+	 * @access public
1807
+	 */
1808 1808
 	public function addElement($attrs) {
1809 1809
 		$typens = isset($this->namespaces['types']) ? $this->namespaces['types'] : $this->namespaces['tns'];
1810 1810
 		$this->schemas[$typens][0]->addElement($attrs);
1811 1811
 	}
1812 1812
 
1813 1813
 	/**
1814
-	* register an operation with the server
1815
-	* 
1816
-	* @param string $name operation (method) name
1817
-	* @param array $in assoc array of input values: key = param name, value = param type
1818
-	* @param array $out assoc array of output values: key = param name, value = param type
1819
-	* @param string $namespace optional The namespace for the operation
1820
-	* @param string $soapaction optional The soapaction for the operation
1821
-	* @param string $style (rpc|document) optional The style for the operation Note: when 'document' is specified, parameter and return wrappers are created for you automatically
1822
-	* @param string $use (encoded|literal) optional The use for the parameters (cannot mix right now)
1823
-	* @param string $documentation optional The description to include in the WSDL
1824
-	* @param string $encodingStyle optional (usually 'http://schemas.xmlsoap.org/soap/encoding/' for encoded)
1825
-	* @access public 
1826
-	*/
1814
+	 * register an operation with the server
1815
+	 * 
1816
+	 * @param string $name operation (method) name
1817
+	 * @param array $in assoc array of input values: key = param name, value = param type
1818
+	 * @param array $out assoc array of output values: key = param name, value = param type
1819
+	 * @param string $namespace optional The namespace for the operation
1820
+	 * @param string $soapaction optional The soapaction for the operation
1821
+	 * @param string $style (rpc|document) optional The style for the operation Note: when 'document' is specified, parameter and return wrappers are created for you automatically
1822
+	 * @param string $use (encoded|literal) optional The use for the parameters (cannot mix right now)
1823
+	 * @param string $documentation optional The description to include in the WSDL
1824
+	 * @param string $encodingStyle optional (usually 'http://schemas.xmlsoap.org/soap/encoding/' for encoded)
1825
+	 * @access public 
1826
+	 */
1827 1827
 	public function addOperation($name, $in = false, $out = false, $namespace = false, $soapaction = false, $style = 'rpc', $use = 'encoded', $documentation = '', $encodingStyle = ''){
1828 1828
 		if ($use == 'encoded' && $encodingStyle == '') {
1829 1829
 			$encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/';
@@ -1882,8 +1882,8 @@  discard block
 block discarded – undo
1882 1882
 				$this->messages[$name.'Request'][$pName] = $pType;
1883 1883
 			}
1884 1884
 		} else {
1885
-            $this->messages[$name.'Request']= '0';
1886
-        }
1885
+			$this->messages[$name.'Request']= '0';
1886
+		}
1887 1887
 		if($out)
1888 1888
 		{
1889 1889
 			foreach($out as $pName => $pType)
@@ -1894,8 +1894,8 @@  discard block
 block discarded – undo
1894 1894
 				$this->messages[$name.'Response'][$pName] = $pType;
1895 1895
 			}
1896 1896
 		} else {
1897
-            $this->messages[$name.'Response']= '0';
1898
-        }
1897
+			$this->messages[$name.'Response']= '0';
1898
+		}
1899 1899
 		return true;
1900 1900
 	} 
1901 1901
 }
Please login to merge, or discard this patch.
libraries/nusoap/class.xmlschema.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -779,7 +779,7 @@
 block discarded – undo
779 779
     * returns a sample serialization of a given type, or false if no type by the given name
780 780
     *
781 781
     * @param string $type name of type
782
-    * @return mixed
782
+    * @return string|false
783 783
     * @access public
784 784
     * @deprecated
785 785
     */
Please login to merge, or discard this patch.
Spacing   +134 added lines, -134 removed lines patch added patch discarded remove patch
@@ -12,7 +12,7 @@  discard block
 block discarded – undo
12 12
 * @version  $Id: class.xmlschema.php,v 1.53 2010/04/26 20:15:08 snichol Exp $
13 13
 * @access   public
14 14
 */
15
-class nusoap_xmlschema extends nusoap_base  {
15
+class nusoap_xmlschema extends nusoap_base {
16 16
 	
17 17
 	// files
18 18
 	var $schema = '';
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
 	* @param	string $namespaces namespaces defined in enclosing XML
52 52
 	* @access   public
53 53
 	*/
54
-	public function nusoap_xmlschema($schema='',$xml='',$namespaces=array()){
54
+	public function nusoap_xmlschema($schema = '', $xml = '', $namespaces = array()) {
55 55
 		parent::nusoap_base();
56 56
 		$this->debug('nusoap_xmlschema class instantiated, inside constructor');
57 57
 		// files
@@ -63,14 +63,14 @@  discard block
 block discarded – undo
63 63
 		$this->namespaces = array_merge($this->namespaces, $namespaces);
64 64
 
65 65
 		// parse schema file
66
-		if($schema != ''){
67
-			$this->debug('initial schema file: '.$schema);
66
+		if ($schema != '') {
67
+			$this->debug('initial schema file: ' . $schema);
68 68
 			$this->parseFile($schema, 'schema');
69 69
 		}
70 70
 
71 71
 		// parse xml file
72
-		if($xml != ''){
73
-			$this->debug('initial xml file: '.$xml);
72
+		if ($xml != '') {
73
+			$this->debug('initial xml file: ' . $xml);
74 74
 			$this->parseFile($xml, 'xml');
75 75
 		}
76 76
 
@@ -84,18 +84,18 @@  discard block
 block discarded – undo
84 84
 	* @return boolean
85 85
     * @access public
86 86
     */
87
-	public function parseFile($xml,$type){
87
+	public function parseFile($xml, $type) {
88 88
 		// parse xml file
89
-		if($xml != ""){
90
-			$xmlStr = @join("",@file($xml));
91
-			if($xmlStr == ""){
92
-				$msg = 'Error reading XML from '.$xml;
89
+		if ($xml != "") {
90
+			$xmlStr = @join("", @file($xml));
91
+			if ($xmlStr == "") {
92
+				$msg = 'Error reading XML from ' . $xml;
93 93
 				$this->setError($msg);
94 94
 				$this->debug($msg);
95 95
 			return false;
96 96
 			} else {
97 97
 				$this->debug("parsing $xml");
98
-				$this->parseString($xmlStr,$type);
98
+				$this->parseString($xmlStr, $type);
99 99
 				$this->debug("done parsing $xml");
100 100
 			return true;
101 101
 			}
@@ -110,9 +110,9 @@  discard block
 block discarded – undo
110 110
     * @param	string $type (schema|xml)
111 111
 	* @access   private
112 112
 	*/
113
-	public function parseString($xml,$type){
113
+	public function parseString($xml, $type) {
114 114
 		// parse xml string
115
-		if($xml != ""){
115
+		if ($xml != "") {
116 116
 
117 117
 	    	// Create an XML parser.
118 118
 	    	$this->parser = xml_parser_create();
@@ -123,16 +123,16 @@  discard block
 block discarded – undo
123 123
 	    	xml_set_object($this->parser, $this);
124 124
 
125 125
 	    	// Set the element handlers for the parser.
126
-			if($type == "schema"){
127
-		    	xml_set_element_handler($this->parser, 'schemaStartElement','schemaEndElement');
128
-		    	xml_set_character_data_handler($this->parser,'schemaCharacterData');
129
-			} elseif($type == "xml"){
130
-				xml_set_element_handler($this->parser, 'xmlStartElement','xmlEndElement');
131
-		    	xml_set_character_data_handler($this->parser,'xmlCharacterData');
126
+			if ($type == "schema") {
127
+		    	xml_set_element_handler($this->parser, 'schemaStartElement', 'schemaEndElement');
128
+		    	xml_set_character_data_handler($this->parser, 'schemaCharacterData');
129
+			} elseif ($type == "xml") {
130
+				xml_set_element_handler($this->parser, 'xmlStartElement', 'xmlEndElement');
131
+		    	xml_set_character_data_handler($this->parser, 'xmlCharacterData');
132 132
 			}
133 133
 
134 134
 		    // Parse the XML file.
135
-		    if(!xml_parse($this->parser,$xml,true)){
135
+		    if (!xml_parse($this->parser, $xml, true)) {
136 136
 			// Display an error message.
137 137
 				$errstr = sprintf('XML error parsing XML schema on line %d: %s',
138 138
 				xml_get_current_line_number($this->parser),
@@ -144,7 +144,7 @@  discard block
 block discarded – undo
144 144
 	    	}
145 145
             
146 146
 			xml_parser_free($this->parser);
147
-		} else{
147
+		} else {
148 148
 			$this->debug('no xml passed to parseString()!!');
149 149
 			$this->setError('no xml passed to parseString()!!');
150 150
 		}
@@ -188,7 +188,7 @@  discard block
 block discarded – undo
188 188
 		}
189 189
 
190 190
 		// get element prefix
191
-		if($prefix = $this->getPrefix($name)){
191
+		if ($prefix = $this->getPrefix($name)) {
192 192
 			// get unqualified name
193 193
 			$name = $this->getLocalPart($name);
194 194
 		} else {
@@ -196,28 +196,28 @@  discard block
 block discarded – undo
196 196
         }
197 197
 		
198 198
         // loop thru attributes, expanding, and registering namespace declarations
199
-        if(count($attrs) > 0){
200
-        	foreach($attrs as $k => $v){
199
+        if (count($attrs) > 0) {
200
+        	foreach ($attrs as $k => $v) {
201 201
                 // if ns declarations, add to class level array of valid namespaces
202
-				if(preg_match('/^xmlns/',$k)){
203
-                	if($ns_prefix = substr(strrchr($k,':'),1)){
202
+				if (preg_match('/^xmlns/', $k)) {
203
+                	if ($ns_prefix = substr(strrchr($k, ':'), 1)) {
204 204
 						$this->namespaces[$ns_prefix] = $v;
205 205
 					} else {
206 206
 						$this->defaultNamespace[$pos] = $v;
207
-						if (! $this->getPrefixFromNamespace($v)) {
208
-							$this->namespaces['ns'.(count($this->namespaces)+1)] = $v;
207
+						if (!$this->getPrefixFromNamespace($v)) {
208
+							$this->namespaces['ns' . (count($this->namespaces) + 1)] = $v;
209 209
 						}
210 210
 					}
211
-					if($v == 'http://www.w3.org/2001/XMLSchema' || $v == 'http://www.w3.org/1999/XMLSchema' || $v == 'http://www.w3.org/2000/10/XMLSchema'){
211
+					if ($v == 'http://www.w3.org/2001/XMLSchema' || $v == 'http://www.w3.org/1999/XMLSchema' || $v == 'http://www.w3.org/2000/10/XMLSchema') {
212 212
 						$this->XMLSchemaVersion = $v;
213
-						$this->namespaces['xsi'] = $v.'-instance';
213
+						$this->namespaces['xsi'] = $v . '-instance';
214 214
 					}
215 215
 				}
216 216
         	}
217
-        	foreach($attrs as $k => $v){
217
+        	foreach ($attrs as $k => $v) {
218 218
                 // expand each attribute
219
-                $k = strpos($k,':') ? $this->expandQname($k) : $k;
220
-                $v = strpos($v,':') ? $this->expandQname($v) : $v;
219
+                $k = strpos($k, ':') ? $this->expandQname($k) : $k;
220
+                $v = strpos($v, ':') ? $this->expandQname($v) : $v;
221 221
         		$eAttrs[$k] = $v;
222 222
         	}
223 223
         	$attrs = $eAttrs;
@@ -225,7 +225,7 @@  discard block
 block discarded – undo
225 225
         	$attrs = array();
226 226
         }
227 227
 		// find status, register data
228
-		switch($name){
228
+		switch ($name) {
229 229
 			case 'all':			// (optional) compositor content for a complexType
230 230
 			case 'choice':
231 231
 			case 'group':
@@ -249,38 +249,38 @@  discard block
 block discarded – undo
249 249
 						}
250 250
 					}
251 251
             	}
252
-                if(isset($attrs['name'])){
252
+                if (isset($attrs['name'])) {
253 253
 					$this->attributes[$attrs['name']] = $attrs;
254 254
 					$aname = $attrs['name'];
255
-				} elseif(isset($attrs['ref']) && $attrs['ref'] == 'http://schemas.xmlsoap.org/soap/encoding/:arrayType'){
255
+				} elseif (isset($attrs['ref']) && $attrs['ref'] == 'http://schemas.xmlsoap.org/soap/encoding/:arrayType') {
256 256
 					if (isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'])) {
257 257
 	                	$aname = $attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'];
258 258
 	                } else {
259 259
 	                	$aname = '';
260 260
 	                }
261
-				} elseif(isset($attrs['ref'])){
261
+				} elseif (isset($attrs['ref'])) {
262 262
 					$aname = $attrs['ref'];
263 263
                     $this->attributes[$attrs['ref']] = $attrs;
264 264
 				}
265 265
                 
266
-				if($this->currentComplexType){	// This should *always* be
266
+				if ($this->currentComplexType) {	// This should *always* be
267 267
 					$this->complexTypes[$this->currentComplexType]['attrs'][$aname] = $attrs;
268 268
 				}
269 269
 				// arrayType attribute
270
-				if(isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType']) || $this->getLocalPart($aname) == 'arrayType'){
270
+				if (isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType']) || $this->getLocalPart($aname) == 'arrayType') {
271 271
 					$this->complexTypes[$this->currentComplexType]['phpType'] = 'array';
272 272
                 	$prefix = $this->getPrefix($aname);
273
-					if(isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'])){
273
+					if (isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'])) {
274 274
 						$v = $attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'];
275 275
 					} else {
276 276
 						$v = '';
277 277
 					}
278
-                    if(strpos($v,'[,]')){
278
+                    if (strpos($v, '[,]')) {
279 279
                         $this->complexTypes[$this->currentComplexType]['multidimensional'] = true;
280 280
                     }
281
-                    $v = substr($v,0,strpos($v,'[')); // clip the []
282
-                    if(!strpos($v,':') && isset($this->typemap[$this->XMLSchemaVersion][$v])){
283
-                        $v = $this->XMLSchemaVersion.':'.$v;
281
+                    $v = substr($v, 0, strpos($v, '[')); // clip the []
282
+                    if (!strpos($v, ':') && isset($this->typemap[$this->XMLSchemaVersion][$v])) {
283
+                        $v = $this->XMLSchemaVersion . ':' . $v;
284 284
                     }
285 285
                     $this->complexTypes[$this->currentComplexType]['arrayType'] = $v;
286 286
 				}
@@ -290,12 +290,12 @@  discard block
 block discarded – undo
290 290
 			break;
291 291
 			case 'complexType':
292 292
 				array_push($this->complexTypeStack, $this->currentComplexType);
293
-				if(isset($attrs['name'])){
294
-					$this->xdebug('processing named complexType '.$attrs['name']);
293
+				if (isset($attrs['name'])) {
294
+					$this->xdebug('processing named complexType ' . $attrs['name']);
295 295
 					$this->currentComplexType = $attrs['name'];
296 296
 					$this->complexTypes[$this->currentComplexType] = $attrs;
297 297
 					$this->complexTypes[$this->currentComplexType]['typeClass'] = 'complexType';
298
-					if(isset($attrs['base']) && preg_match('/:Array$/',$attrs['base'])){
298
+					if (isset($attrs['base']) && preg_match('/:Array$/', $attrs['base'])) {
299 299
 						$this->xdebug('complexType is unusual array');
300 300
 						$this->complexTypes[$this->currentComplexType]['phpType'] = 'array';
301 301
 					} else {
@@ -314,7 +314,7 @@  discard block
 block discarded – undo
314 314
 					//                        minOccurs="0" maxOccurs="unbounded" />
315 315
 					//                </sequence>
316 316
 					//            </complexType>
317
-					if(isset($attrs['base']) && preg_match('/:Array$/',$attrs['base'])){
317
+					if (isset($attrs['base']) && preg_match('/:Array$/', $attrs['base'])) {
318 318
 						$this->xdebug('complexType is unusual array');
319 319
 						$this->complexTypes[$this->currentComplexType]['phpType'] = 'array';
320 320
 					} else {
@@ -333,9 +333,9 @@  discard block
 block discarded – undo
333 333
 						$attrs['form'] = 'qualified';
334 334
 					}
335 335
 				}
336
-				if(isset($attrs['type'])){
337
-					$this->xdebug("processing typed element ".$attrs['name']." of type ".$attrs['type']);
338
-					if (! $this->getPrefix($attrs['type'])) {
336
+				if (isset($attrs['type'])) {
337
+					$this->xdebug("processing typed element " . $attrs['name'] . " of type " . $attrs['type']);
338
+					if (!$this->getPrefix($attrs['type'])) {
339 339
 						if ($this->defaultNamespace[$pos]) {
340 340
 							$attrs['type'] = $this->defaultNamespace[$pos] . ':' . $attrs['type'];
341 341
 							$this->xdebug('used default namespace to make type ' . $attrs['type']);
@@ -354,9 +354,9 @@  discard block
 block discarded – undo
354 354
 					}
355 355
 					$this->currentElement = $attrs['name'];
356 356
 					$ename = $attrs['name'];
357
-				} elseif(isset($attrs['ref'])){
358
-					$this->xdebug("processing element as ref to ".$attrs['ref']);
359
-					$this->currentElement = "ref to ".$attrs['ref'];
357
+				} elseif (isset($attrs['ref'])) {
358
+					$this->xdebug("processing element as ref to " . $attrs['ref']);
359
+					$this->currentElement = "ref to " . $attrs['ref'];
360 360
 					$ename = $this->getLocalPart($attrs['ref']);
361 361
 				} else {
362 362
 					$type = $this->CreateTypeName($this->currentComplexType . '_' . $attrs['name']);
@@ -370,8 +370,8 @@  discard block
 block discarded – undo
370 370
 					$this->complexTypes[$this->currentComplexType]['elements'][$ename] = $attrs;
371 371
 				} elseif (!isset($attrs['ref'])) {
372 372
 					$this->xdebug("add element $ename to elements array");
373
-					$this->elements[ $attrs['name'] ] = $attrs;
374
-					$this->elements[ $attrs['name'] ]['typeClass'] = 'element';
373
+					$this->elements[$attrs['name']] = $attrs;
374
+					$this->elements[$attrs['name']]['typeClass'] = 'element';
375 375
 				}
376 376
 			break;
377 377
 			case 'enumeration':	//	restriction value list member
@@ -402,8 +402,8 @@  discard block
 block discarded – undo
402 402
 				} else {
403 403
 					$this->xdebug('import namespace ' . $attrs['namespace']);
404 404
                     $this->imports[$attrs['namespace']][] = array('location' => '', 'loaded' => true);
405
-					if (! $this->getPrefixFromNamespace($attrs['namespace'])) {
406
-						$this->namespaces['ns'.(count($this->namespaces)+1)] = $attrs['namespace'];
405
+					if (!$this->getPrefixFromNamespace($attrs['namespace'])) {
406
+						$this->namespaces['ns' . (count($this->namespaces) + 1)] = $attrs['namespace'];
407 407
 					}
408 408
 				}
409 409
 			break;
@@ -420,11 +420,11 @@  discard block
 block discarded – undo
420 420
 			break;
421 421
 			case 'restriction':	// simpleType, simpleContent or complexContent value restriction
422 422
 				$this->xdebug('restriction ' . $attrs['base']);
423
-				if($this->currentSimpleType){
423
+				if ($this->currentSimpleType) {
424 424
 					$this->simpleTypes[$this->currentSimpleType]['type'] = $attrs['base'];
425
-				} elseif($this->currentComplexType){
425
+				} elseif ($this->currentComplexType) {
426 426
 					$this->complexTypes[$this->currentComplexType]['restrictionBase'] = $attrs['base'];
427
-					if(strstr($attrs['base'],':') == ':Array'){
427
+					if (strstr($attrs['base'], ':') == ':Array') {
428 428
 						$this->complexTypes[$this->currentComplexType]['phpType'] = 'array';
429 429
 					}
430 430
 				}
@@ -451,12 +451,12 @@  discard block
 block discarded – undo
451 451
 			break;
452 452
 			case 'simpleType':
453 453
 				array_push($this->simpleTypeStack, $this->currentSimpleType);
454
-				if(isset($attrs['name'])){
454
+				if (isset($attrs['name'])) {
455 455
 					$this->xdebug("processing simpleType for name " . $attrs['name']);
456 456
 					$this->currentSimpleType = $attrs['name'];
457
-					$this->simpleTypes[ $attrs['name'] ] = $attrs;
458
-					$this->simpleTypes[ $attrs['name'] ]['typeClass'] = 'simpleType';
459
-					$this->simpleTypes[ $attrs['name'] ]['phpType'] = 'scalar';
457
+					$this->simpleTypes[$attrs['name']] = $attrs;
458
+					$this->simpleTypes[$attrs['name']]['typeClass'] = 'simpleType';
459
+					$this->simpleTypes[$attrs['name']]['phpType'] = 'scalar';
460 460
 				} else {
461 461
 					$name = $this->CreateTypeName($this->currentComplexType . '_' . $this->currentElement);
462 462
 					$this->xdebug('processing unnamed simpleType for element ' . $this->currentElement . ' named ' . $name);
@@ -484,27 +484,27 @@  discard block
 block discarded – undo
484 484
 		// bring depth down a notch
485 485
 		$this->depth--;
486 486
 		// position of current element is equal to the last value left in depth_array for my depth
487
-		if(isset($this->depth_array[$this->depth])){
487
+		if (isset($this->depth_array[$this->depth])) {
488 488
         	$pos = $this->depth_array[$this->depth];
489 489
         }
490 490
 		// get element prefix
491
-		if ($prefix = $this->getPrefix($name)){
491
+		if ($prefix = $this->getPrefix($name)) {
492 492
 			// get unqualified name
493 493
 			$name = $this->getLocalPart($name);
494 494
 		} else {
495 495
         	$prefix = '';
496 496
         }
497 497
 		// move on...
498
-		if($name == 'complexType'){
498
+		if ($name == 'complexType') {
499 499
 			$this->xdebug('done processing complexType ' . ($this->currentComplexType ? $this->currentComplexType : '(unknown)'));
500 500
 			$this->xdebug($this->varDump($this->complexTypes[$this->currentComplexType]));
501 501
 			$this->currentComplexType = array_pop($this->complexTypeStack);
502 502
 		}
503
-		if($name == 'element'){
503
+		if ($name == 'element') {
504 504
 			$this->xdebug('done processing element ' . ($this->currentElement ? $this->currentElement : '(unknown)'));
505 505
 			$this->currentElement = array_pop($this->elementStack);
506 506
 		}
507
-		if($name == 'simpleType'){
507
+		if ($name == 'simpleType') {
508 508
 			$this->xdebug('done processing simpleType ' . ($this->currentSimpleType ? $this->currentSimpleType : '(unknown)'));
509 509
 			$this->xdebug($this->varDump($this->simpleTypes[$this->currentSimpleType]));
510 510
 			$this->currentSimpleType = array_pop($this->simpleTypeStack);
@@ -518,7 +518,7 @@  discard block
 block discarded – undo
518 518
 	* @param    string $data element content
519 519
 	* @access   private
520 520
 	*/
521
-	public function schemaCharacterData($parser, $data){
521
+	public function schemaCharacterData($parser, $data) {
522 522
 		$pos = $this->depth_array[$this->depth - 1];
523 523
 		$this->message[$pos]['cdata'] .= $data;
524 524
 	}
@@ -528,13 +528,13 @@  discard block
 block discarded – undo
528 528
 	*
529 529
 	* @access   public
530 530
 	*/
531
-	public function serializeSchema(){
531
+	public function serializeSchema() {
532 532
 
533 533
 		$schemaPrefix = $this->getPrefixFromNamespace($this->XMLSchemaVersion);
534 534
 		$xml = '';
535 535
 		// imports
536 536
 		if (sizeof($this->imports) > 0) {
537
-			foreach($this->imports as $ns => $list) {
537
+			foreach ($this->imports as $ns => $list) {
538 538
 				foreach ($list as $ii) {
539 539
 					if ($ii['location'] != '') {
540 540
 						$xml .= " <$schemaPrefix:import location=\"" . $ii['location'] . '" namespace="' . $ns . "\" />\n";
@@ -545,12 +545,12 @@  discard block
 block discarded – undo
545 545
 			} 
546 546
 		} 
547 547
 		// complex types
548
-		foreach($this->complexTypes as $typeName => $attrs){
548
+		foreach ($this->complexTypes as $typeName => $attrs) {
549 549
 			$contentStr = '';
550 550
 			// serialize child elements
551
-			if(isset($attrs['elements']) && (count($attrs['elements']) > 0)){
552
-				foreach($attrs['elements'] as $element => $eParts){
553
-					if(isset($eParts['ref'])){
551
+			if (isset($attrs['elements']) && (count($attrs['elements']) > 0)) {
552
+				foreach ($attrs['elements'] as $element => $eParts) {
553
+					if (isset($eParts['ref'])) {
554 554
 						$contentStr .= "   <$schemaPrefix:element ref=\"$element\"/>\n";
555 555
 					} else {
556 556
 						$contentStr .= "   <$schemaPrefix:element name=\"$element\" type=\"" . $this->contractQName($eParts['type']) . "\"";
@@ -565,19 +565,19 @@  discard block
 block discarded – undo
565 565
 				}
566 566
 				// compositor wraps elements
567 567
 				if (isset($attrs['compositor']) && ($attrs['compositor'] != '')) {
568
-					$contentStr = "  <$schemaPrefix:$attrs[compositor]>\n".$contentStr."  </$schemaPrefix:$attrs[compositor]>\n";
568
+					$contentStr = "  <$schemaPrefix:$attrs[compositor]>\n" . $contentStr . "  </$schemaPrefix:$attrs[compositor]>\n";
569 569
 				}
570 570
 			}
571 571
 			// attributes
572
-			if(isset($attrs['attrs']) && (count($attrs['attrs']) >= 1)){
573
-				foreach($attrs['attrs'] as $attr => $aParts){
572
+			if (isset($attrs['attrs']) && (count($attrs['attrs']) >= 1)) {
573
+				foreach ($attrs['attrs'] as $attr => $aParts) {
574 574
 					$contentStr .= "    <$schemaPrefix:attribute";
575 575
 					foreach ($aParts as $a => $v) {
576 576
 						if ($a == 'ref' || $a == 'type') {
577
-							$contentStr .= " $a=\"".$this->contractQName($v).'"';
577
+							$contentStr .= " $a=\"" . $this->contractQName($v) . '"';
578 578
 						} elseif ($a == 'http://schemas.xmlsoap.org/wsdl/:arrayType') {
579 579
 							$this->usedNamespaces['wsdl'] = $this->namespaces['wsdl'];
580
-							$contentStr .= ' wsdl:arrayType="'.$this->contractQName($v).'"';
580
+							$contentStr .= ' wsdl:arrayType="' . $this->contractQName($v) . '"';
581 581
 						} else {
582 582
 							$contentStr .= " $a=\"$v\"";
583 583
 						}
@@ -586,25 +586,25 @@  discard block
 block discarded – undo
586 586
 				}
587 587
 			}
588 588
 			// if restriction
589
-			if (isset($attrs['restrictionBase']) && $attrs['restrictionBase'] != ''){
590
-				$contentStr = "   <$schemaPrefix:restriction base=\"".$this->contractQName($attrs['restrictionBase'])."\">\n".$contentStr."   </$schemaPrefix:restriction>\n";
589
+			if (isset($attrs['restrictionBase']) && $attrs['restrictionBase'] != '') {
590
+				$contentStr = "   <$schemaPrefix:restriction base=\"" . $this->contractQName($attrs['restrictionBase']) . "\">\n" . $contentStr . "   </$schemaPrefix:restriction>\n";
591 591
 				// complex or simple content
592
-				if ((isset($attrs['elements']) && count($attrs['elements']) > 0) || (isset($attrs['attrs']) && count($attrs['attrs']) > 0)){
593
-					$contentStr = "  <$schemaPrefix:complexContent>\n".$contentStr."  </$schemaPrefix:complexContent>\n";
592
+				if ((isset($attrs['elements']) && count($attrs['elements']) > 0) || (isset($attrs['attrs']) && count($attrs['attrs']) > 0)) {
593
+					$contentStr = "  <$schemaPrefix:complexContent>\n" . $contentStr . "  </$schemaPrefix:complexContent>\n";
594 594
 				}
595 595
 			}
596 596
 			// finalize complex type
597
-			if($contentStr != ''){
598
-				$contentStr = " <$schemaPrefix:complexType name=\"$typeName\">\n".$contentStr." </$schemaPrefix:complexType>\n";
597
+			if ($contentStr != '') {
598
+				$contentStr = " <$schemaPrefix:complexType name=\"$typeName\">\n" . $contentStr . " </$schemaPrefix:complexType>\n";
599 599
 			} else {
600 600
 				$contentStr = " <$schemaPrefix:complexType name=\"$typeName\"/>\n";
601 601
 			}
602 602
 			$xml .= $contentStr;
603 603
 		}
604 604
 		// simple types
605
-		if(isset($this->simpleTypes) && count($this->simpleTypes) > 0){
606
-			foreach($this->simpleTypes as $typeName => $eParts){
607
-				$xml .= " <$schemaPrefix:simpleType name=\"$typeName\">\n  <$schemaPrefix:restriction base=\"".$this->contractQName($eParts['type'])."\">\n";
605
+		if (isset($this->simpleTypes) && count($this->simpleTypes) > 0) {
606
+			foreach ($this->simpleTypes as $typeName => $eParts) {
607
+				$xml .= " <$schemaPrefix:simpleType name=\"$typeName\">\n  <$schemaPrefix:restriction base=\"" . $this->contractQName($eParts['type']) . "\">\n";
608 608
 				if (isset($eParts['enumeration'])) {
609 609
 					foreach ($eParts['enumeration'] as $e) {
610 610
 						$xml .= "  <$schemaPrefix:enumeration value=\"$e\"/>\n";
@@ -614,15 +614,15 @@  discard block
 block discarded – undo
614 614
 			}
615 615
 		}
616 616
 		// elements
617
-		if(isset($this->elements) && count($this->elements) > 0){
618
-			foreach($this->elements as $element => $eParts){
619
-				$xml .= " <$schemaPrefix:element name=\"$element\" type=\"".$this->contractQName($eParts['type'])."\"/>\n";
617
+		if (isset($this->elements) && count($this->elements) > 0) {
618
+			foreach ($this->elements as $element => $eParts) {
619
+				$xml .= " <$schemaPrefix:element name=\"$element\" type=\"" . $this->contractQName($eParts['type']) . "\"/>\n";
620 620
 			}
621 621
 		}
622 622
 		// attributes
623
-		if(isset($this->attributes) && count($this->attributes) > 0){
624
-			foreach($this->attributes as $attr => $aParts){
625
-				$xml .= " <$schemaPrefix:attribute name=\"$attr\" type=\"".$this->contractQName($aParts['type'])."\"\n/>";
623
+		if (isset($this->attributes) && count($this->attributes) > 0) {
624
+			foreach ($this->attributes as $attr => $aParts) {
625
+				$xml .= " <$schemaPrefix:attribute name=\"$attr\" type=\"" . $this->contractQName($aParts['type']) . "\"\n/>";
626 626
 			}
627 627
 		}
628 628
 		// finish 'er up
@@ -636,7 +636,7 @@  discard block
 block discarded – undo
636 636
 		foreach (array_diff($this->usedNamespaces, $this->enclosingNamespaces) as $nsp => $ns) {
637 637
 			$el .= " xmlns:$nsp=\"$ns\"";
638 638
 		}
639
-		$xml = $el . ">\n".$xml."</$schemaPrefix:schema>\n";
639
+		$xml = $el . ">\n" . $xml . "</$schemaPrefix:schema>\n";
640 640
 		return $xml;
641 641
 	}
642 642
 
@@ -646,8 +646,8 @@  discard block
 block discarded – undo
646 646
 	* @param    string $string debug data
647 647
 	* @access   private
648 648
 	*/
649
-	public function xdebug($string){
650
-		$this->debug('<' . $this->schemaTargetNamespace . '> '.$string);
649
+	public function xdebug($string) {
650
+		$this->debug('<' . $this->schemaTargetNamespace . '> ' . $string);
651 651
 	}
652 652
 
653 653
     /**
@@ -662,11 +662,11 @@  discard block
 block discarded – undo
662 662
     * @access public
663 663
     * @deprecated
664 664
     */
665
-	public function getPHPType($type,$ns){
666
-		if(isset($this->typemap[$ns][$type])){
665
+	public function getPHPType($type, $ns) {
666
+		if (isset($this->typemap[$ns][$type])) {
667 667
 			//print "found type '$type' and ns $ns in typemap<br>";
668 668
 			return $this->typemap[$ns][$type];
669
-		} elseif(isset($this->complexTypes[$type])){
669
+		} elseif (isset($this->complexTypes[$type])) {
670 670
 			//print "getting type '$type' and ns $ns from complexTypes array<br>";
671 671
 			return $this->complexTypes[$type]['phpType'];
672 672
 		}
@@ -695,7 +695,7 @@  discard block
 block discarded – undo
695 695
     * @see addSimpleType
696 696
     * @see addElement
697 697
     */
698
-	public function getTypeDef($type){
698
+	public function getTypeDef($type) {
699 699
 		if (substr($type, -1) == '^') {
700 700
 			$is_element = 1;
701 701
 			$type = substr($type, 0, -1);
@@ -703,10 +703,10 @@  discard block
 block discarded – undo
703 703
 			$is_element = 0;
704 704
 		}
705 705
 
706
-		if((! $is_element) && isset($this->complexTypes[$type])){
706
+		if ((!$is_element) && isset($this->complexTypes[$type])) {
707 707
 			$this->xdebug("in getTypeDef, found complexType $type");
708 708
 			return $this->complexTypes[$type];
709
-		} elseif((! $is_element) && isset($this->simpleTypes[$type])){
709
+		} elseif ((!$is_element) && isset($this->simpleTypes[$type])) {
710 710
 			$this->xdebug("in getTypeDef, found simpleType $type");
711 711
 			if (!isset($this->simpleTypes[$type]['phpType'])) {
712 712
 				$uqType = substr($this->simpleTypes[$type]['type'], strrpos($this->simpleTypes[$type]['type'], ':') + 1);
@@ -724,7 +724,7 @@  discard block
 block discarded – undo
724 724
 				}
725 725
 			}
726 726
 			return $this->simpleTypes[$type];
727
-		} elseif(isset($this->elements[$type])){
727
+		} elseif (isset($this->elements[$type])) {
728 728
 			$this->xdebug("in getTypeDef, found element $type");
729 729
 			if (!isset($this->elements[$type]['phpType'])) {
730 730
 				// get info for type to tack onto the element
@@ -749,7 +749,7 @@  discard block
 block discarded – undo
749 749
 				}
750 750
 			}
751 751
 			return $this->elements[$type];
752
-		} elseif(isset($this->attributes[$type])){
752
+		} elseif (isset($this->attributes[$type])) {
753 753
 			$this->xdebug("in getTypeDef, found attribute $type");
754 754
 			return $this->attributes[$type];
755 755
 		} elseif (preg_match('/_ContainedType$/', $type)) {
@@ -771,23 +771,23 @@  discard block
 block discarded – undo
771 771
     * @access public
772 772
     * @deprecated
773 773
     */
774
-    public function serializeTypeDef($type){
774
+    public function serializeTypeDef($type) {
775 775
     	//print "in sTD() for type $type<br>";
776
-	if($typeDef = $this->getTypeDef($type)){
777
-		$str .= '<'.$type;
778
-	    if(is_array($typeDef['attrs'])){
779
-		foreach($typeDef['attrs'] as $attName => $data){
780
-		    $str .= " $attName=\"{type = ".$data['type']."}\"";
776
+	if ($typeDef = $this->getTypeDef($type)) {
777
+		$str .= '<' . $type;
778
+	    if (is_array($typeDef['attrs'])) {
779
+		foreach ($typeDef['attrs'] as $attName => $data) {
780
+		    $str .= " $attName=\"{type = " . $data['type'] . "}\"";
781 781
 		}
782 782
 	    }
783
-	    $str .= " xmlns=\"".$this->schema['targetNamespace']."\"";
784
-	    if(count($typeDef['elements']) > 0){
783
+	    $str .= " xmlns=\"" . $this->schema['targetNamespace'] . "\"";
784
+	    if (count($typeDef['elements']) > 0) {
785 785
 		$str .= ">";
786
-		foreach($typeDef['elements'] as $element => $eData){
786
+		foreach ($typeDef['elements'] as $element => $eData) {
787 787
 		    $str .= $this->serializeTypeDef($element);
788 788
 		}
789 789
 		$str .= "</$type>";
790
-	    } elseif($typeDef['typeClass'] == 'element') {
790
+	    } elseif ($typeDef['typeClass'] == 'element') {
791 791
 		$str .= "></$type>";
792 792
 	    } else {
793 793
 		$str .= "/>";
@@ -807,25 +807,25 @@  discard block
 block discarded – undo
807 807
     * @access public
808 808
     * @deprecated
809 809
 	*/
810
-	public function typeToForm($name,$type){
810
+	public function typeToForm($name, $type) {
811 811
 		// get typedef
812
-		if($typeDef = $this->getTypeDef($type)){
812
+		if ($typeDef = $this->getTypeDef($type)) {
813 813
 			// if struct
814
-			if($typeDef['phpType'] == 'struct'){
814
+			if ($typeDef['phpType'] == 'struct') {
815 815
 				$buffer .= '<table>';
816
-				foreach($typeDef['elements'] as $child => $childDef){
816
+				foreach ($typeDef['elements'] as $child => $childDef) {
817 817
 					$buffer .= "
818
-					<tr><td align='right'>$childDef[name] (type: ".$this->getLocalPart($childDef['type'])."):</td>
819
-					<td><input type='text' name='parameters[".$name."][$childDef[name]]'></td></tr>";
818
+					<tr><td align='right'>$childDef[name] (type: " . $this->getLocalPart($childDef['type']) . "):</td>
819
+					<td><input type='text' name='parameters[".$name . "][$childDef[name]]'></td></tr>";
820 820
 				}
821 821
 				$buffer .= '</table>';
822 822
 			// if array
823
-			} elseif($typeDef['phpType'] == 'array'){
823
+			} elseif ($typeDef['phpType'] == 'array') {
824 824
 				$buffer .= '<table>';
825
-				for($i=0;$i < 3; $i++){
825
+				for ($i = 0; $i < 3; $i++) {
826 826
 					$buffer .= "
827 827
 					<tr><td align='right'>array item (type: $typeDef[arrayType]):</td>
828
-					<td><input type='text' name='parameters[".$name."][]'></td></tr>";
828
+					<td><input type='text' name='parameters[" . $name . "][]'></td></tr>";
829 829
 				}
830 830
 				$buffer .= '</table>';
831 831
 			// if scalar
@@ -879,7 +879,7 @@  discard block
 block discarded – undo
879 879
 	* @access public
880 880
 	* @see getTypeDef
881 881
 	*/
882
-	public function addComplexType($name,$typeClass='complexType',$phpType='array',$compositor='',$restrictionBase='',$elements=array(),$attrs=array(),$arrayType=''){
882
+	public function addComplexType($name, $typeClass = 'complexType', $phpType = 'array', $compositor = '', $restrictionBase = '', $elements = array(), $attrs = array(), $arrayType = '') {
883 883
 		$this->complexTypes[$name] = array(
884 884
 	    'name'		=> $name,
885 885
 	    'typeClass'	=> $typeClass,
@@ -907,7 +907,7 @@  discard block
 block discarded – undo
907 907
 	* @see nusoap_xmlschema
908 908
 	* @see getTypeDef
909 909
 	*/
910
-	public function addSimpleType($name, $restrictionBase='', $typeClass='simpleType', $phpType='scalar', $enumeration=array()) {
910
+	public function addSimpleType($name, $restrictionBase = '', $typeClass = 'simpleType', $phpType = 'scalar', $enumeration = array()) {
911 911
 		$this->simpleTypes[$name] = array(
912 912
 	    'name'			=> $name,
913 913
 	    'typeClass'		=> $typeClass,
@@ -928,14 +928,14 @@  discard block
 block discarded – undo
928 928
 	* @access public
929 929
 	*/
930 930
 	public function addElement($attrs) {
931
-		if (! $this->getPrefix($attrs['type'])) {
931
+		if (!$this->getPrefix($attrs['type'])) {
932 932
 			$attrs['type'] = $this->schemaTargetNamespace . ':' . $attrs['type'];
933 933
 		}
934
-		$this->elements[ $attrs['name'] ] = $attrs;
935
-		$this->elements[ $attrs['name'] ]['typeClass'] = 'element';
934
+		$this->elements[$attrs['name']] = $attrs;
935
+		$this->elements[$attrs['name']]['typeClass'] = 'element';
936 936
 		
937 937
 		$this->xdebug("addElement " . $attrs['name']);
938
-		$this->appendDebug($this->varDump($this->elements[ $attrs['name'] ]));
938
+		$this->appendDebug($this->varDump($this->elements[$attrs['name']]));
939 939
 	}
940 940
 }
941 941
 
Please login to merge, or discard this patch.
Indentation   +239 added lines, -239 removed lines patch added patch discarded remove patch
@@ -44,13 +44,13 @@  discard block
 block discarded – undo
44 44
 	public $defaultNamespace = array();
45 45
     
46 46
 	/**
47
-	* constructor
48
-	*
49
-	* @param    string $schema schema document URI
50
-	* @param    string $xml xml document URI
51
-	* @param	string $namespaces namespaces defined in enclosing XML
52
-	* @access   public
53
-	*/
47
+	 * constructor
48
+	 *
49
+	 * @param    string $schema schema document URI
50
+	 * @param    string $xml xml document URI
51
+	 * @param	string $namespaces namespaces defined in enclosing XML
52
+	 * @access   public
53
+	 */
54 54
 	public function nusoap_xmlschema($schema='',$xml='',$namespaces=array()){
55 55
 		parent::nusoap_base();
56 56
 		$this->debug('nusoap_xmlschema class instantiated, inside constructor');
@@ -76,14 +76,14 @@  discard block
 block discarded – undo
76 76
 
77 77
 	}
78 78
 
79
-    /**
80
-    * parse an XML file
81
-    *
82
-    * @param string $xml path/URL to XML file
83
-    * @param string $type (schema | xml)
84
-	* @return boolean
85
-    * @access public
86
-    */
79
+	/**
80
+	 * parse an XML file
81
+	 *
82
+	 * @param string $xml path/URL to XML file
83
+	 * @param string $type (schema | xml)
84
+	 * @return boolean
85
+	 * @access public
86
+	 */
87 87
 	public function parseFile($xml,$type){
88 88
 		// parse xml file
89 89
 		if($xml != ""){
@@ -104,35 +104,35 @@  discard block
 block discarded – undo
104 104
 	}
105 105
 
106 106
 	/**
107
-	* parse an XML string
108
-	*
109
-	* @param    string $xml path or URL
110
-    * @param	string $type (schema|xml)
111
-	* @access   private
112
-	*/
107
+	 * parse an XML string
108
+	 *
109
+	 * @param    string $xml path or URL
110
+	 * @param	string $type (schema|xml)
111
+	 * @access   private
112
+	 */
113 113
 	public function parseString($xml,$type){
114 114
 		// parse xml string
115 115
 		if($xml != ""){
116 116
 
117
-	    	// Create an XML parser.
118
-	    	$this->parser = xml_parser_create();
119
-	    	// Set the options for parsing the XML data.
120
-	    	xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0);
117
+			// Create an XML parser.
118
+			$this->parser = xml_parser_create();
119
+			// Set the options for parsing the XML data.
120
+			xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0);
121 121
 
122
-	    	// Set the object for the parser.
123
-	    	xml_set_object($this->parser, $this);
122
+			// Set the object for the parser.
123
+			xml_set_object($this->parser, $this);
124 124
 
125
-	    	// Set the element handlers for the parser.
125
+			// Set the element handlers for the parser.
126 126
 			if($type == "schema"){
127
-		    	xml_set_element_handler($this->parser, 'schemaStartElement','schemaEndElement');
128
-		    	xml_set_character_data_handler($this->parser,'schemaCharacterData');
127
+				xml_set_element_handler($this->parser, 'schemaStartElement','schemaEndElement');
128
+				xml_set_character_data_handler($this->parser,'schemaCharacterData');
129 129
 			} elseif($type == "xml"){
130 130
 				xml_set_element_handler($this->parser, 'xmlStartElement','xmlEndElement');
131
-		    	xml_set_character_data_handler($this->parser,'xmlCharacterData');
131
+				xml_set_character_data_handler($this->parser,'xmlCharacterData');
132 132
 			}
133 133
 
134
-		    // Parse the XML file.
135
-		    if(!xml_parse($this->parser,$xml,true)){
134
+			// Parse the XML file.
135
+			if(!xml_parse($this->parser,$xml,true)){
136 136
 			// Display an error message.
137 137
 				$errstr = sprintf('XML error parsing XML schema on line %d: %s',
138 138
 				xml_get_current_line_number($this->parser),
@@ -141,7 +141,7 @@  discard block
 block discarded – undo
141 141
 				$this->debug($errstr);
142 142
 				$this->debug("XML payload:\n" . $xml);
143 143
 				$this->setError($errstr);
144
-	    	}
144
+			}
145 145
             
146 146
 			xml_parser_free($this->parser);
147 147
 		} else{
@@ -167,13 +167,13 @@  discard block
 block discarded – undo
167 167
 	}
168 168
 	
169 169
 	/**
170
-	* start-element handler
171
-	*
172
-	* @param    string $parser XML parser object
173
-	* @param    string $name element name
174
-	* @param    string $attrs associative array of attributes
175
-	* @access   private
176
-	*/
170
+	 * start-element handler
171
+	 *
172
+	 * @param    string $parser XML parser object
173
+	 * @param    string $name element name
174
+	 * @param    string $attrs associative array of attributes
175
+	 * @access   private
176
+	 */
177 177
 	public function schemaStartElement($parser, $name, $attrs) {
178 178
 		
179 179
 		// position in the total number of elements, starting from 0
@@ -193,15 +193,15 @@  discard block
 block discarded – undo
193 193
 			// get unqualified name
194 194
 			$name = $this->getLocalPart($name);
195 195
 		} else {
196
-        	$prefix = '';
197
-        }
196
+			$prefix = '';
197
+		}
198 198
 		
199
-        // loop thru attributes, expanding, and registering namespace declarations
200
-        if(count($attrs) > 0){
201
-        	foreach($attrs as $k => $v){
202
-                // if ns declarations, add to class level array of valid namespaces
199
+		// loop thru attributes, expanding, and registering namespace declarations
200
+		if(count($attrs) > 0){
201
+			foreach($attrs as $k => $v){
202
+				// if ns declarations, add to class level array of valid namespaces
203 203
 				if(preg_match('/^xmlns/',$k)){
204
-                	if($ns_prefix = substr(strrchr($k,':'),1)){
204
+					if($ns_prefix = substr(strrchr($k,':'),1)){
205 205
 						$this->namespaces[$ns_prefix] = $v;
206 206
 					} else {
207 207
 						$this->defaultNamespace[$pos] = $v;
@@ -214,17 +214,17 @@  discard block
 block discarded – undo
214 214
 						$this->namespaces['xsi'] = $v.'-instance';
215 215
 					}
216 216
 				}
217
-        	}
218
-        	foreach($attrs as $k => $v){
219
-                // expand each attribute
220
-                $k = strpos($k,':') ? $this->expandQname($k) : $k;
221
-                $v = strpos($v,':') ? $this->expandQname($v) : $v;
222
-        		$eAttrs[$k] = $v;
223
-        	}
224
-        	$attrs = $eAttrs;
225
-        } else {
226
-        	$attrs = array();
227
-        }
217
+			}
218
+			foreach($attrs as $k => $v){
219
+				// expand each attribute
220
+				$k = strpos($k,':') ? $this->expandQname($k) : $k;
221
+				$v = strpos($v,':') ? $this->expandQname($v) : $v;
222
+				$eAttrs[$k] = $v;
223
+			}
224
+			$attrs = $eAttrs;
225
+		} else {
226
+			$attrs = array();
227
+		}
228 228
 		// find status, register data
229 229
 		switch($name){
230 230
 			case 'all':			// (optional) compositor content for a complexType
@@ -235,12 +235,12 @@  discard block
 block discarded – undo
235 235
 
236 236
 			break;
237 237
 			case 'attribute':	// complexType attribute
238
-            	$this->xdebug("parsing attribute:");
239
-            	$this->appendDebug($this->varDump($attrs));
238
+				$this->xdebug("parsing attribute:");
239
+				$this->appendDebug($this->varDump($attrs));
240 240
 				if (!isset($attrs['form'])) {
241 241
 					$attrs['form'] = $this->schemaInfo['attributeFormDefault'];
242 242
 				}
243
-            	if (isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'])) {
243
+				if (isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'])) {
244 244
 					$v = $attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'];
245 245
 					if (!strpos($v, ':')) {
246 246
 						// no namespace in arrayType attribute value...
@@ -249,19 +249,19 @@  discard block
 block discarded – undo
249 249
 							$attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'] = $this->defaultNamespace[$pos] . ':' . $attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'];
250 250
 						}
251 251
 					}
252
-            	}
253
-                if(isset($attrs['name'])){
252
+				}
253
+				if(isset($attrs['name'])){
254 254
 					$this->attributes[$attrs['name']] = $attrs;
255 255
 					$aname = $attrs['name'];
256 256
 				} elseif(isset($attrs['ref']) && $attrs['ref'] == 'http://schemas.xmlsoap.org/soap/encoding/:arrayType'){
257 257
 					if (isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'])) {
258
-	                	$aname = $attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'];
259
-	                } else {
260
-	                	$aname = '';
261
-	                }
258
+						$aname = $attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'];
259
+					} else {
260
+						$aname = '';
261
+					}
262 262
 				} elseif(isset($attrs['ref'])){
263 263
 					$aname = $attrs['ref'];
264
-                    $this->attributes[$attrs['ref']] = $attrs;
264
+					$this->attributes[$attrs['ref']] = $attrs;
265 265
 				}
266 266
                 
267 267
 				if($this->currentComplexType){	// This should *always* be
@@ -270,20 +270,20 @@  discard block
 block discarded – undo
270 270
 				// arrayType attribute
271 271
 				if(isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType']) || $this->getLocalPart($aname) == 'arrayType'){
272 272
 					$this->complexTypes[$this->currentComplexType]['phpType'] = 'array';
273
-                	$prefix = $this->getPrefix($aname);
273
+					$prefix = $this->getPrefix($aname);
274 274
 					if(isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'])){
275 275
 						$v = $attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'];
276 276
 					} else {
277 277
 						$v = '';
278 278
 					}
279
-                    if(strpos($v,'[,]')){
280
-                        $this->complexTypes[$this->currentComplexType]['multidimensional'] = true;
281
-                    }
282
-                    $v = substr($v,0,strpos($v,'[')); // clip the []
283
-                    if(!strpos($v,':') && isset($this->typemap[$this->XMLSchemaVersion][$v])){
284
-                        $v = $this->XMLSchemaVersion.':'.$v;
285
-                    }
286
-                    $this->complexTypes[$this->currentComplexType]['arrayType'] = $v;
279
+					if(strpos($v,'[,]')){
280
+						$this->complexTypes[$this->currentComplexType]['multidimensional'] = true;
281
+					}
282
+					$v = substr($v,0,strpos($v,'[')); // clip the []
283
+					if(!strpos($v,':') && isset($this->typemap[$this->XMLSchemaVersion][$v])){
284
+						$v = $this->XMLSchemaVersion.':'.$v;
285
+					}
286
+					$this->complexTypes[$this->currentComplexType]['arrayType'] = $v;
287 287
 				}
288 288
 			break;
289 289
 			case 'complexContent':	// (optional) content for a complexType
@@ -397,21 +397,21 @@  discard block
 block discarded – undo
397 397
 				}
398 398
 			break;
399 399
 			case 'import':
400
-			    if (isset($attrs['schemaLocation'])) {
400
+				if (isset($attrs['schemaLocation'])) {
401 401
 					$this->xdebug('import namespace ' . $attrs['namespace'] . ' from ' . $attrs['schemaLocation']);
402
-                    $this->imports[$attrs['namespace']][] = array('location' => $attrs['schemaLocation'], 'loaded' => false);
402
+					$this->imports[$attrs['namespace']][] = array('location' => $attrs['schemaLocation'], 'loaded' => false);
403 403
 				} else {
404 404
 					$this->xdebug('import namespace ' . $attrs['namespace']);
405
-                    $this->imports[$attrs['namespace']][] = array('location' => '', 'loaded' => true);
405
+					$this->imports[$attrs['namespace']][] = array('location' => '', 'loaded' => true);
406 406
 					if (! $this->getPrefixFromNamespace($attrs['namespace'])) {
407 407
 						$this->namespaces['ns'.(count($this->namespaces)+1)] = $attrs['namespace'];
408 408
 					}
409 409
 				}
410 410
 			break;
411 411
 			case 'include':
412
-			    if (isset($attrs['schemaLocation'])) {
412
+				if (isset($attrs['schemaLocation'])) {
413 413
 					$this->xdebug('include into namespace ' . $this->schemaTargetNamespace . ' from ' . $attrs['schemaLocation']);
414
-                    $this->imports[$this->schemaTargetNamespace][] = array('location' => $attrs['schemaLocation'], 'loaded' => false);
414
+					$this->imports[$this->schemaTargetNamespace][] = array('location' => $attrs['schemaLocation'], 'loaded' => false);
415 415
 				} else {
416 416
 					$this->xdebug('ignoring invalid XML Schema construct: include without schemaLocation attribute');
417 417
 				}
@@ -475,26 +475,26 @@  discard block
 block discarded – undo
475 475
 	}
476 476
 
477 477
 	/**
478
-	* end-element handler
479
-	*
480
-	* @param    string $parser XML parser object
481
-	* @param    string $name element name
482
-	* @access   private
483
-	*/
478
+	 * end-element handler
479
+	 *
480
+	 * @param    string $parser XML parser object
481
+	 * @param    string $name element name
482
+	 * @access   private
483
+	 */
484 484
 	public function schemaEndElement($parser, $name) {
485 485
 		// bring depth down a notch
486 486
 		$this->depth--;
487 487
 		// position of current element is equal to the last value left in depth_array for my depth
488 488
 		if(isset($this->depth_array[$this->depth])){
489
-        	$pos = $this->depth_array[$this->depth];
490
-        }
489
+			$pos = $this->depth_array[$this->depth];
490
+		}
491 491
 		// get element prefix
492 492
 		if ($prefix = $this->getPrefix($name)){
493 493
 			// get unqualified name
494 494
 			$name = $this->getLocalPart($name);
495 495
 		} else {
496
-        	$prefix = '';
497
-        }
496
+			$prefix = '';
497
+		}
498 498
 		// move on...
499 499
 		if($name == 'complexType'){
500 500
 			$this->xdebug('done processing complexType ' . ($this->currentComplexType ? $this->currentComplexType : '(unknown)'));
@@ -513,22 +513,22 @@  discard block
 block discarded – undo
513 513
 	}
514 514
 
515 515
 	/**
516
-	* element content handler
517
-	*
518
-	* @param    string $parser XML parser object
519
-	* @param    string $data element content
520
-	* @access   private
521
-	*/
516
+	 * element content handler
517
+	 *
518
+	 * @param    string $parser XML parser object
519
+	 * @param    string $data element content
520
+	 * @access   private
521
+	 */
522 522
 	public function schemaCharacterData($parser, $data){
523 523
 		$pos = $this->depth_array[$this->depth - 1];
524 524
 		$this->message[$pos]['cdata'] .= $data;
525 525
 	}
526 526
 
527 527
 	/**
528
-	* serialize the schema
529
-	*
530
-	* @access   public
531
-	*/
528
+	 * serialize the schema
529
+	 *
530
+	 * @access   public
531
+	 */
532 532
 	public function serializeSchema(){
533 533
 
534 534
 		$schemaPrefix = $this->getPrefixFromNamespace($this->XMLSchemaVersion);
@@ -642,27 +642,27 @@  discard block
 block discarded – undo
642 642
 	}
643 643
 
644 644
 	/**
645
-	* adds debug data to the clas level debug string
646
-	*
647
-	* @param    string $string debug data
648
-	* @access   private
649
-	*/
645
+	 * adds debug data to the clas level debug string
646
+	 *
647
+	 * @param    string $string debug data
648
+	 * @access   private
649
+	 */
650 650
 	public function xdebug($string){
651 651
 		$this->debug('<' . $this->schemaTargetNamespace . '> '.$string);
652 652
 	}
653 653
 
654
-    /**
655
-    * get the PHP type of a user defined type in the schema
656
-    * PHP type is kind of a misnomer since it actually returns 'struct' for assoc. arrays
657
-    * returns false if no type exists, or not w/ the given namespace
658
-    * else returns a string that is either a native php type, or 'struct'
659
-    *
660
-    * @param string $type name of defined type
661
-    * @param string $ns namespace of type
662
-    * @return mixed
663
-    * @access public
664
-    * @deprecated
665
-    */
654
+	/**
655
+	 * get the PHP type of a user defined type in the schema
656
+	 * PHP type is kind of a misnomer since it actually returns 'struct' for assoc. arrays
657
+	 * returns false if no type exists, or not w/ the given namespace
658
+	 * else returns a string that is either a native php type, or 'struct'
659
+	 *
660
+	 * @param string $type name of defined type
661
+	 * @param string $ns namespace of type
662
+	 * @return mixed
663
+	 * @access public
664
+	 * @deprecated
665
+	 */
666 666
 	public function getPHPType($type,$ns){
667 667
 		if(isset($this->typemap[$ns][$type])){
668 668
 			return $this->typemap[$ns][$type];
@@ -673,27 +673,27 @@  discard block
 block discarded – undo
673 673
 	}
674 674
 
675 675
 	/**
676
-    * returns an associative array of information about a given type
677
-    * returns false if no type exists by the given name
678
-    *
679
-	*	For a complexType typeDef = array(
680
-	*	'restrictionBase' => '',
681
-	*	'phpType' => '',
682
-	*	'compositor' => '(sequence|all)',
683
-	*	'elements' => array(), // refs to elements array
684
-	*	'attrs' => array() // refs to attributes array
685
-	*	... and so on (see addComplexType)
686
-	*	)
687
-	*
688
-	*   For simpleType or element, the array has different keys.
689
-    *
690
-    * @param string $type
691
-    * @return mixed
692
-    * @access public
693
-    * @see addComplexType
694
-    * @see addSimpleType
695
-    * @see addElement
696
-    */
676
+	 * returns an associative array of information about a given type
677
+	 * returns false if no type exists by the given name
678
+	 *
679
+	 *	For a complexType typeDef = array(
680
+	 *	'restrictionBase' => '',
681
+	 *	'phpType' => '',
682
+	 *	'compositor' => '(sequence|all)',
683
+	 *	'elements' => array(), // refs to elements array
684
+	 *	'attrs' => array() // refs to attributes array
685
+	 *	... and so on (see addComplexType)
686
+	 *	)
687
+	 *
688
+	 *   For simpleType or element, the array has different keys.
689
+	 *
690
+	 * @param string $type
691
+	 * @return mixed
692
+	 * @access public
693
+	 * @see addComplexType
694
+	 * @see addSimpleType
695
+	 * @see addElement
696
+	 */
697 697
 	public function getTypeDef($type){
698 698
 		if (substr($type, -1) == '^') {
699 699
 			$is_element = 1;
@@ -763,49 +763,49 @@  discard block
 block discarded – undo
763 763
 	}
764 764
 
765 765
 	/**
766
-    * returns a sample serialization of a given type, or false if no type by the given name
767
-    *
768
-    * @param string $type name of type
769
-    * @return mixed
770
-    * @access public
771
-    * @deprecated
772
-    */
773
-    public function serializeTypeDef($type){
766
+	 * returns a sample serialization of a given type, or false if no type by the given name
767
+	 *
768
+	 * @param string $type name of type
769
+	 * @return mixed
770
+	 * @access public
771
+	 * @deprecated
772
+	 */
773
+	public function serializeTypeDef($type){
774 774
 
775 775
 	if($typeDef = $this->getTypeDef($type)){
776 776
 		$str .= '<'.$type;
777
-	    if(is_array($typeDef['attrs'])){
777
+		if(is_array($typeDef['attrs'])){
778 778
 		foreach($typeDef['attrs'] as $attName => $data){
779
-		    $str .= " $attName=\"{type = ".$data['type']."}\"";
779
+			$str .= " $attName=\"{type = ".$data['type']."}\"";
780
+		}
780 781
 		}
781
-	    }
782
-	    $str .= " xmlns=\"".$this->schema['targetNamespace']."\"";
783
-	    if(count($typeDef['elements']) > 0){
782
+		$str .= " xmlns=\"".$this->schema['targetNamespace']."\"";
783
+		if(count($typeDef['elements']) > 0){
784 784
 		$str .= ">";
785 785
 		foreach($typeDef['elements'] as $element => $eData){
786
-		    $str .= $this->serializeTypeDef($element);
786
+			$str .= $this->serializeTypeDef($element);
787 787
 		}
788 788
 		$str .= "</$type>";
789
-	    } elseif($typeDef['typeClass'] == 'element') {
789
+		} elseif($typeDef['typeClass'] == 'element') {
790 790
 		$str .= "></$type>";
791
-	    } else {
791
+		} else {
792 792
 		$str .= "/>";
793
-	    }
793
+		}
794 794
 			return $str;
795 795
 	}
796
-    	return false;
797
-    }
798
-
799
-    /**
800
-    * returns HTML form elements that allow a user
801
-    * to enter values for creating an instance of the given type.
802
-    *
803
-    * @param string $name name for type instance
804
-    * @param string $type name of type
805
-    * @return string
806
-    * @access public
807
-    * @deprecated
808
-	*/
796
+		return false;
797
+	}
798
+
799
+	/**
800
+	 * returns HTML form elements that allow a user
801
+	 * to enter values for creating an instance of the given type.
802
+	 *
803
+	 * @param string $name name for type instance
804
+	 * @param string $type name of type
805
+	 * @return string
806
+	 * @access public
807
+	 * @deprecated
808
+	 */
809 809
 	public function typeToForm($name,$type){
810 810
 		// get typedef
811 811
 		if($typeDef = $this->getTypeDef($type)){
@@ -838,56 +838,56 @@  discard block
 block discarded – undo
838 838
 	}
839 839
 	
840 840
 	/**
841
-	* adds a complex type to the schema
842
-	* 
843
-	* example: array
844
-	* 
845
-	* addType(
846
-	* 	'ArrayOfstring',
847
-	* 	'complexType',
848
-	* 	'array',
849
-	* 	'',
850
-	* 	'SOAP-ENC:Array',
851
-	* 	array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'string[]'),
852
-	* 	'xsd:string'
853
-	* );
854
-	* 
855
-	* example: PHP associative array ( SOAP Struct )
856
-	* 
857
-	* addType(
858
-	* 	'SOAPStruct',
859
-	* 	'complexType',
860
-	* 	'struct',
861
-	* 	'all',
862
-	* 	array('myVar'=> array('name'=>'myVar','type'=>'string')
863
-	* );
864
-	* 
865
-	* @param name
866
-	* @param typeClass (complexType|simpleType|attribute)
867
-	* @param phpType: currently supported are array and struct (php assoc array)
868
-	* @param compositor (all|sequence|choice)
869
-	* @param restrictionBase namespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
870
-	* @param elements = array ( name = array(name=>'',type=>'') )
871
-	* @param attrs = array(
872
-	* 	array(
873
-	*		'ref' => "http://schemas.xmlsoap.org/soap/encoding/:arrayType",
874
-	*		"http://schemas.xmlsoap.org/wsdl/:arrayType" => "string[]"
875
-	* 	)
876
-	* )
877
-	* @param arrayType: namespace:name (http://www.w3.org/2001/XMLSchema:string)
878
-	* @access public
879
-	* @see getTypeDef
880
-	*/
841
+	 * adds a complex type to the schema
842
+	 * 
843
+	 * example: array
844
+	 * 
845
+	 * addType(
846
+	 * 	'ArrayOfstring',
847
+	 * 	'complexType',
848
+	 * 	'array',
849
+	 * 	'',
850
+	 * 	'SOAP-ENC:Array',
851
+	 * 	array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'string[]'),
852
+	 * 	'xsd:string'
853
+	 * );
854
+	 * 
855
+	 * example: PHP associative array ( SOAP Struct )
856
+	 * 
857
+	 * addType(
858
+	 * 	'SOAPStruct',
859
+	 * 	'complexType',
860
+	 * 	'struct',
861
+	 * 	'all',
862
+	 * 	array('myVar'=> array('name'=>'myVar','type'=>'string')
863
+	 * );
864
+	 * 
865
+	 * @param name
866
+	 * @param typeClass (complexType|simpleType|attribute)
867
+	 * @param phpType: currently supported are array and struct (php assoc array)
868
+	 * @param compositor (all|sequence|choice)
869
+	 * @param restrictionBase namespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
870
+	 * @param elements = array ( name = array(name=>'',type=>'') )
871
+	 * @param attrs = array(
872
+	 * 	array(
873
+	 *		'ref' => "http://schemas.xmlsoap.org/soap/encoding/:arrayType",
874
+	 *		"http://schemas.xmlsoap.org/wsdl/:arrayType" => "string[]"
875
+	 * 	)
876
+	 * )
877
+	 * @param arrayType: namespace:name (http://www.w3.org/2001/XMLSchema:string)
878
+	 * @access public
879
+	 * @see getTypeDef
880
+	 */
881 881
 	public function addComplexType($name,$typeClass='complexType',$phpType='array',$compositor='',$restrictionBase='',$elements=array(),$attrs=array(),$arrayType=''){
882 882
 		$this->complexTypes[$name] = array(
883
-	    'name'		=> $name,
884
-	    'typeClass'	=> $typeClass,
885
-	    'phpType'	=> $phpType,
883
+		'name'		=> $name,
884
+		'typeClass'	=> $typeClass,
885
+		'phpType'	=> $phpType,
886 886
 		'compositor'=> $compositor,
887
-	    'restrictionBase' => $restrictionBase,
887
+		'restrictionBase' => $restrictionBase,
888 888
 		'elements'	=> $elements,
889
-	    'attrs'		=> $attrs,
890
-	    'arrayType'	=> $arrayType
889
+		'attrs'		=> $attrs,
890
+		'arrayType'	=> $arrayType
891 891
 		);
892 892
 		
893 893
 		$this->xdebug("addComplexType $name:");
@@ -895,24 +895,24 @@  discard block
 block discarded – undo
895 895
 	}
896 896
 	
897 897
 	/**
898
-	* adds a simple type to the schema
899
-	*
900
-	* @param string $name
901
-	* @param string $restrictionBase namespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
902
-	* @param string $typeClass (should always be simpleType)
903
-	* @param string $phpType (should always be scalar)
904
-	* @param array $enumeration array of values
905
-	* @access public
906
-	* @see nusoap_xmlschema
907
-	* @see getTypeDef
908
-	*/
898
+	 * adds a simple type to the schema
899
+	 *
900
+	 * @param string $name
901
+	 * @param string $restrictionBase namespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
902
+	 * @param string $typeClass (should always be simpleType)
903
+	 * @param string $phpType (should always be scalar)
904
+	 * @param array $enumeration array of values
905
+	 * @access public
906
+	 * @see nusoap_xmlschema
907
+	 * @see getTypeDef
908
+	 */
909 909
 	public function addSimpleType($name, $restrictionBase='', $typeClass='simpleType', $phpType='scalar', $enumeration=array()) {
910 910
 		$this->simpleTypes[$name] = array(
911
-	    'name'			=> $name,
912
-	    'typeClass'		=> $typeClass,
913
-	    'phpType'		=> $phpType,
914
-	    'type'			=> $restrictionBase,
915
-	    'enumeration'	=> $enumeration
911
+		'name'			=> $name,
912
+		'typeClass'		=> $typeClass,
913
+		'phpType'		=> $phpType,
914
+		'type'			=> $restrictionBase,
915
+		'enumeration'	=> $enumeration
916 916
 		);
917 917
 		
918 918
 		$this->xdebug("addSimpleType $name:");
@@ -920,12 +920,12 @@  discard block
 block discarded – undo
920 920
 	}
921 921
 
922 922
 	/**
923
-	* adds an element to the schema
924
-	*
925
-	* @param array $attrs attributes that must include name and type
926
-	* @see nusoap_xmlschema
927
-	* @access public
928
-	*/
923
+	 * adds an element to the schema
924
+	 *
925
+	 * @param array $attrs attributes that must include name and type
926
+	 * @see nusoap_xmlschema
927
+	 * @access public
928
+	 */
929 929
 	public function addElement($attrs) {
930 930
 		if (! $this->getPrefix($attrs['type'])) {
931 931
 			$attrs['type'] = $this->schemaTargetNamespace . ':' . $attrs['type'];
Please login to merge, or discard this patch.
libraries/nusoap/nusoapmime.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -447,7 +447,7 @@
 block discarded – undo
447 447
 	*
448 448
 	* @param	array	$headers	The HTTP headers
449 449
 	* @param	string	$data		unprocessed request data from client
450
-	* @return	mixed	value of the message, decoded into a PHP type
450
+	* @return	false|null	value of the message, decoded into a PHP type
451 451
 	* @access   private
452 452
 	*/
453 453
     function parseRequest($headers, $data) {
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -86,7 +86,7 @@  discard block
 block discarded – undo
86 86
 	* @access public
87 87
 	*/
88 88
 	public function addAttachment($data, $filename = '', $contenttype = 'application/octet-stream', $cid = false) {
89
-		if (! $cid) {
89
+		if (!$cid) {
90 90
 			$cid = md5(uniqid(time()));
91 91
 		}
92 92
 
@@ -316,7 +316,7 @@  discard block
 block discarded – undo
316 316
 	* @access public
317 317
 	*/
318 318
 	public function addAttachment($data, $filename = '', $contenttype = 'application/octet-stream', $cid = false) {
319
-		if (! $cid) {
319
+		if (!$cid) {
320 320
 			$cid = md5(uniqid(time()));
321 321
 		}
322 322
 
Please login to merge, or discard this patch.
Indentation   +112 added lines, -112 removed lines patch added patch discarded remove patch
@@ -71,20 +71,20 @@  discard block
 block discarded – undo
71 71
 	var $mimeContentType;
72 72
 	
73 73
 	/**
74
-	* adds a MIME attachment to the current request.
75
-	*
76
-	* If the $data parameter contains an empty string, this method will read
77
-	* the contents of the file named by the $filename parameter.
78
-	*
79
-	* If the $cid parameter is false, this method will generate the cid.
80
-	*
81
-	* @param string $data The data of the attachment
82
-	* @param string $filename The filename of the attachment (default is empty string)
83
-	* @param string $contenttype The MIME Content-Type of the attachment (default is application/octet-stream)
84
-	* @param string $cid The content-id (cid) of the attachment (default is false)
85
-	* @return string The content-id (cid) of the attachment
86
-	* @access public
87
-	*/
74
+	 * adds a MIME attachment to the current request.
75
+	 *
76
+	 * If the $data parameter contains an empty string, this method will read
77
+	 * the contents of the file named by the $filename parameter.
78
+	 *
79
+	 * If the $cid parameter is false, this method will generate the cid.
80
+	 *
81
+	 * @param string $data The data of the attachment
82
+	 * @param string $filename The filename of the attachment (default is empty string)
83
+	 * @param string $contenttype The MIME Content-Type of the attachment (default is application/octet-stream)
84
+	 * @param string $cid The content-id (cid) of the attachment (default is false)
85
+	 * @return string The content-id (cid) of the attachment
86
+	 * @access public
87
+	 */
88 88
 	public function addAttachment($data, $filename = '', $contenttype = 'application/octet-stream', $cid = false) {
89 89
 		if (! $cid) {
90 90
 			$cid = md5(uniqid(time()));
@@ -101,35 +101,35 @@  discard block
 block discarded – undo
101 101
 	}
102 102
 
103 103
 	/**
104
-	* clears the MIME attachments for the current request.
105
-	*
106
-	* @access public
107
-	*/
104
+	 * clears the MIME attachments for the current request.
105
+	 *
106
+	 * @access public
107
+	 */
108 108
 	public function clearAttachments() {
109 109
 		$this->requestAttachments = array();
110 110
 	}
111 111
 
112 112
 	/**
113
-	* gets the MIME attachments from the current response.
114
-	*
115
-	* Each array element in the return is an associative array with keys
116
-	* data, filename, contenttype, cid.  These keys correspond to the parameters
117
-	* for addAttachment.
118
-	*
119
-	* @return array The attachments.
120
-	* @access public
121
-	*/
113
+	 * gets the MIME attachments from the current response.
114
+	 *
115
+	 * Each array element in the return is an associative array with keys
116
+	 * data, filename, contenttype, cid.  These keys correspond to the parameters
117
+	 * for addAttachment.
118
+	 *
119
+	 * @return array The attachments.
120
+	 * @access public
121
+	 */
122 122
 	public function getAttachments() {
123 123
 		return $this->responseAttachments;
124 124
 	}
125 125
 
126 126
 	/**
127
-	* gets the HTTP body for the current request.
128
-	*
129
-	* @param string $soapmsg The SOAP payload
130
-	* @return string The HTTP body, which includes the SOAP payload
131
-	* @access private
132
-	*/
127
+	 * gets the HTTP body for the current request.
128
+	 *
129
+	 * @param string $soapmsg The SOAP payload
130
+	 * @return string The HTTP body, which includes the SOAP payload
131
+	 * @access private
132
+	 */
133 133
 	public function getHTTPBody($soapmsg) {
134 134
 		if (count($this->requestAttachments) > 0) {
135 135
 			$params['content_type'] = 'multipart/related; type="text/xml"';
@@ -182,13 +182,13 @@  discard block
 block discarded – undo
182 182
 	}
183 183
 	
184 184
 	/**
185
-	* gets the HTTP content type for the current request.
186
-	*
187
-	* Note: getHTTPBody must be called before this.
188
-	*
189
-	* @return string the HTTP content type for the current request.
190
-	* @access private
191
-	*/
185
+	 * gets the HTTP content type for the current request.
186
+	 *
187
+	 * Note: getHTTPBody must be called before this.
188
+	 *
189
+	 * @return string the HTTP content type for the current request.
190
+	 * @access private
191
+	 */
192 192
 	public function getHTTPContentType() {
193 193
 		if (count($this->requestAttachments) > 0) {
194 194
 			return $this->mimeContentType;
@@ -197,14 +197,14 @@  discard block
 block discarded – undo
197 197
 	}
198 198
 	
199 199
 	/**
200
-	* gets the HTTP content type charset for the current request.
201
-	* returns false for non-text content types.
202
-	*
203
-	* Note: getHTTPBody must be called before this.
204
-	*
205
-	* @return string the HTTP content type charset for the current request.
206
-	* @access private
207
-	*/
200
+	 * gets the HTTP content type charset for the current request.
201
+	 * returns false for non-text content types.
202
+	 *
203
+	 * Note: getHTTPBody must be called before this.
204
+	 *
205
+	 * @return string the HTTP content type charset for the current request.
206
+	 * @access private
207
+	 */
208 208
 	public function getHTTPContentTypeCharset() {
209 209
 		if (count($this->requestAttachments) > 0) {
210 210
 			return false;
@@ -213,14 +213,14 @@  discard block
 block discarded – undo
213 213
 	}
214 214
 
215 215
 	/**
216
-	* processes SOAP message returned from server
217
-	*
218
-	* @param	array	$headers	The HTTP headers
219
-	* @param	string	$data		unprocessed response data from server
220
-	* @return	mixed	value of the message, decoded into a PHP type
221
-	* @access   private
222
-	*/
223
-    public function parseResponse($headers, $data) {
216
+	 * processes SOAP message returned from server
217
+	 *
218
+	 * @param	array	$headers	The HTTP headers
219
+	 * @param	string	$data		unprocessed response data from server
220
+	 * @return	mixed	value of the message, decoded into a PHP type
221
+	 * @access   private
222
+	 */
223
+	public function parseResponse($headers, $data) {
224 224
 		$this->debug('Entering parseResponse() for payload of length ' . strlen($data) . ' and type of ' . $headers['content-type']);
225 225
 		$this->responseAttachments = array();
226 226
 		if (strstr($headers['content-type'], 'multipart/related')) {
@@ -301,20 +301,20 @@  discard block
 block discarded – undo
301 301
 	var $mimeContentType;
302 302
 	
303 303
 	/**
304
-	* adds a MIME attachment to the current response.
305
-	*
306
-	* If the $data parameter contains an empty string, this method will read
307
-	* the contents of the file named by the $filename parameter.
308
-	*
309
-	* If the $cid parameter is false, this method will generate the cid.
310
-	*
311
-	* @param string $data The data of the attachment
312
-	* @param string $filename The filename of the attachment (default is empty string)
313
-	* @param string $contenttype The MIME Content-Type of the attachment (default is application/octet-stream)
314
-	* @param string $cid The content-id (cid) of the attachment (default is false)
315
-	* @return string The content-id (cid) of the attachment
316
-	* @access public
317
-	*/
304
+	 * adds a MIME attachment to the current response.
305
+	 *
306
+	 * If the $data parameter contains an empty string, this method will read
307
+	 * the contents of the file named by the $filename parameter.
308
+	 *
309
+	 * If the $cid parameter is false, this method will generate the cid.
310
+	 *
311
+	 * @param string $data The data of the attachment
312
+	 * @param string $filename The filename of the attachment (default is empty string)
313
+	 * @param string $contenttype The MIME Content-Type of the attachment (default is application/octet-stream)
314
+	 * @param string $cid The content-id (cid) of the attachment (default is false)
315
+	 * @return string The content-id (cid) of the attachment
316
+	 * @access public
317
+	 */
318 318
 	public function addAttachment($data, $filename = '', $contenttype = 'application/octet-stream', $cid = false) {
319 319
 		if (! $cid) {
320 320
 			$cid = md5(uniqid(time()));
@@ -331,35 +331,35 @@  discard block
 block discarded – undo
331 331
 	}
332 332
 
333 333
 	/**
334
-	* clears the MIME attachments for the current response.
335
-	*
336
-	* @access public
337
-	*/
334
+	 * clears the MIME attachments for the current response.
335
+	 *
336
+	 * @access public
337
+	 */
338 338
 	public function clearAttachments() {
339 339
 		$this->responseAttachments = array();
340 340
 	}
341 341
 
342 342
 	/**
343
-	* gets the MIME attachments from the current request.
344
-	*
345
-	* Each array element in the return is an associative array with keys
346
-	* data, filename, contenttype, cid.  These keys correspond to the parameters
347
-	* for addAttachment.
348
-	*
349
-	* @return array The attachments.
350
-	* @access public
351
-	*/
343
+	 * gets the MIME attachments from the current request.
344
+	 *
345
+	 * Each array element in the return is an associative array with keys
346
+	 * data, filename, contenttype, cid.  These keys correspond to the parameters
347
+	 * for addAttachment.
348
+	 *
349
+	 * @return array The attachments.
350
+	 * @access public
351
+	 */
352 352
 	public function getAttachments() {
353 353
 		return $this->requestAttachments;
354 354
 	}
355 355
 
356 356
 	/**
357
-	* gets the HTTP body for the current response.
358
-	*
359
-	* @param string $soapmsg The SOAP payload
360
-	* @return string The HTTP body, which includes the SOAP payload
361
-	* @access private
362
-	*/
357
+	 * gets the HTTP body for the current response.
358
+	 *
359
+	 * @param string $soapmsg The SOAP payload
360
+	 * @return string The HTTP body, which includes the SOAP payload
361
+	 * @access private
362
+	 */
363 363
 	public function getHTTPBody($soapmsg) {
364 364
 		if (count($this->responseAttachments) > 0) {
365 365
 			$params['content_type'] = 'multipart/related; type="text/xml"';
@@ -412,13 +412,13 @@  discard block
 block discarded – undo
412 412
 	}
413 413
 	
414 414
 	/**
415
-	* gets the HTTP content type for the current response.
416
-	*
417
-	* Note: getHTTPBody must be called before this.
418
-	*
419
-	* @return string the HTTP content type for the current response.
420
-	* @access private
421
-	*/
415
+	 * gets the HTTP content type for the current response.
416
+	 *
417
+	 * Note: getHTTPBody must be called before this.
418
+	 *
419
+	 * @return string the HTTP content type for the current response.
420
+	 * @access private
421
+	 */
422 422
 	public function getHTTPContentType() {
423 423
 		if (count($this->responseAttachments) > 0) {
424 424
 			return $this->mimeContentType;
@@ -427,14 +427,14 @@  discard block
 block discarded – undo
427 427
 	}
428 428
 	
429 429
 	/**
430
-	* gets the HTTP content type charset for the current response.
431
-	* returns false for non-text content types.
432
-	*
433
-	* Note: getHTTPBody must be called before this.
434
-	*
435
-	* @return string the HTTP content type charset for the current response.
436
-	* @access private
437
-	*/
430
+	 * gets the HTTP content type charset for the current response.
431
+	 * returns false for non-text content types.
432
+	 *
433
+	 * Note: getHTTPBody must be called before this.
434
+	 *
435
+	 * @return string the HTTP content type charset for the current response.
436
+	 * @access private
437
+	 */
438 438
 	public function getHTTPContentTypeCharset() {
439 439
 		if (count($this->responseAttachments) > 0) {
440 440
 			return false;
@@ -443,14 +443,14 @@  discard block
 block discarded – undo
443 443
 	}
444 444
 
445 445
 	/**
446
-	* processes SOAP message received from client
447
-	*
448
-	* @param	array	$headers	The HTTP headers
449
-	* @param	string	$data		unprocessed request data from client
450
-	* @return	mixed	value of the message, decoded into a PHP type
451
-	* @access   private
452
-	*/
453
-    public function parseRequest($headers, $data) {
446
+	 * processes SOAP message received from client
447
+	 *
448
+	 * @param	array	$headers	The HTTP headers
449
+	 * @param	string	$data		unprocessed request data from client
450
+	 * @return	mixed	value of the message, decoded into a PHP type
451
+	 * @access   private
452
+	 */
453
+	public function parseRequest($headers, $data) {
454 454
 		$this->debug('Entering parseRequest() for payload of length ' . strlen($data) . ' and type of ' . $headers['content-type']);
455 455
 		$this->requestAttachments = array();
456 456
 		if (strstr($headers['content-type'], 'multipart/related')) {
Please login to merge, or discard this patch.
libraries/restler/restler.php 4 patches
Doc Comments   +21 added lines, -4 removed lines patch added patch discarded remove patch
@@ -268,9 +268,9 @@  discard block
 block discarded – undo
268 268
      *
269 269
      * All the protected methods that do not start with _ (underscore)
270 270
      * will exposed as protected api which will require authentication
271
-     * @param string $class name of the service class
272
-     * @param string $basePath optional url prefix for mapping, uses
271
+     * @param string $base_path optional url prefix for mapping, uses
273 272
      * lowercase version of the class name when not specified
273
+     * @param string $class_name
274 274
      * @throws Exception when supplied with invalid class name
275 275
      */
276 276
     public function addAPIClass($class_name, $base_path = null)
@@ -322,8 +322,8 @@  discard block
 block discarded – undo
322 322
 
323 323
     /**
324 324
      * Convenience method to respond with an error message
325
-     * @param int $statusCode http error code
326
-     * @param string $errorMessage optional custom error message
325
+     * @param int $status_code http error code
326
+     * @param string $error_message optional custom error message
327 327
      */
328 328
     public function handleError($status_code, $error_message = null)
329 329
     {
@@ -916,6 +916,10 @@  discard block
 block discarded – undo
916 916
 {
917 917
 
918 918
 
919
+    /**
920
+     * @param integer $http_status_code
921
+     * @param string $error_message
922
+     */
919 923
     public function __construct($http_status_code, $error_message = null)
920 924
     {
921 925
         parent::__construct($error_message, $http_status_code);
@@ -1033,12 +1037,14 @@  discard block
 block discarded – undo
1033 1037
     /**
1034 1038
      * Set the selected MIME type
1035 1039
      * @param string $mime MIME type
1040
+     * @return void
1036 1041
      */
1037 1042
     public function setMIME($mime);
1038 1043
 
1039 1044
 
1040 1045
     /**
1041 1046
      * Get selected MIME type
1047
+     * @return string
1042 1048
      */
1043 1049
     public function getMIME();
1044 1050
 
@@ -1046,6 +1052,7 @@  discard block
 block discarded – undo
1046 1052
     /**
1047 1053
      * Set the selected file extension
1048 1054
      * @param string $extension file extension
1055
+     * @return void
1049 1056
      */
1050 1057
     public function setExtension($extension);
1051 1058
 
@@ -1349,6 +1356,9 @@  discard block
 block discarded – undo
1349 1356
     }
1350 1357
 
1351 1358
 
1359
+    /**
1360
+     * @param string[] $lines
1361
+     */
1352 1362
     private function parseLines($lines)
1353 1363
     {
1354 1364
         foreach ($lines as $line) {
@@ -1398,6 +1408,10 @@  discard block
 block discarded – undo
1398 1408
     }
1399 1409
 
1400 1410
 
1411
+    /**
1412
+     * @param string $param
1413
+     * @param string $value
1414
+     */
1401 1415
     private function setParam($param, $value)
1402 1416
     {
1403 1417
         if ($param == 'param' || $param == 'return') {
@@ -1454,6 +1468,9 @@  discard block
 block discarded – undo
1454 1468
 //
1455 1469
 // ------------------------------------------------------------------
1456 1470
 
1471
+/**
1472
+ * @param string $php_doc_comment
1473
+ */
1457 1474
 function parse_doc($php_doc_comment)
1458 1475
 {
1459 1476
     $p = new DocParser();
Please login to merge, or discard this patch.
Spacing   +7 added lines, -11 removed lines patch added patch discarded remove patch
@@ -472,9 +472,9 @@  discard block
 block discarded – undo
472 472
         header('Content-Type: ' . $this->response_format->getMIME());
473 473
         //.'; charset=utf-8');
474 474
         header("X-Powered-By: Luracast Restler v" . Restler::VERSION);
475
-		if($this->production_mode){
475
+		if ($this->production_mode) {
476 476
 			die($data);
477
-		}else{
477
+		} else {
478 478
 			echo $data;
479 479
 		}
480 480
     }
@@ -649,8 +649,7 @@  discard block
 block discarded – undo
649 649
                 $parts = explode(';q=', trim($accept));
650 650
                 $type = array_shift($parts);
651 651
                 $quality = count($parts) ? 
652
-                    floatval(array_shift($parts)) : 
653
-                    (1000 - $pos) / 1000;
652
+                    floatval(array_shift($parts)) : (1000 - $pos) / 1000;
654 653
                 $acceptList[$type] = $quality;
655 654
             }
656 655
             arsort($acceptList);
@@ -839,8 +838,7 @@  discard block
 block discarded – undo
839 838
                 $position++;
840 839
             }
841 840
             $method_flag = $method->isProtected() ? 
842
-                (isRestlerCompatibilityModeEnabled() ? 2 : 3) : 
843
-                (isset($metadata['protected']) ? 1 : 0);
841
+                (isRestlerCompatibilityModeEnabled() ? 2 : 3) : (isset($metadata['protected']) ? 1 : 0);
844 842
 
845 843
             //take note of the order
846 844
             $call = array(
@@ -873,8 +871,7 @@  discard block
 block discarded – undo
873 871
                     $http_method = 'GET';
874 872
                 }
875 873
                 $url = $base_path
876
-                    . ($method_url == 'index' || $method_url == 'default' ? '' :
877
-                        $method_url);
874
+                    . ($method_url == 'index' || $method_url == 'default' ? '' : $method_url);
878 875
                 $url = rtrim($url, '/');
879 876
                 $this->routes[$http_method][$url] = $call;
880 877
                 foreach ($params as $param) {
@@ -1198,8 +1195,7 @@  discard block
 block discarded – undo
1198 1195
     public function encode($data, $human_readable = false)
1199 1196
     {
1200 1197
         return $human_readable ? 
1201
-            $this->json_format(json_encode(object_to_array($data))) : 
1202
-            json_encode(object_to_array($data));
1198
+            $this->json_format(json_encode(object_to_array($data))) : json_encode(object_to_array($data));
1203 1199
     }
1204 1200
 
1205 1201
 
@@ -1225,7 +1221,7 @@  discard block
 block discarded – undo
1225 1221
                     $message = 'malformed JSON';
1226 1222
                     break;
1227 1223
                 case JSON_ERROR_UTF8:
1228
-                    $message = 'malformed UTF-8 characters, '.
1224
+                    $message = 'malformed UTF-8 characters, ' .
1229 1225
                         'possibly incorrectly encoded';
1230 1226
                     break;
1231 1227
                 default:
Please login to merge, or discard this patch.
Braces   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -474,7 +474,7 @@
 block discarded – undo
474 474
         header("X-Powered-By: Luracast Restler v" . Restler::VERSION);
475 475
 		if($this->production_mode){
476 476
 			die($data);
477
-		}else{
477
+		} else{
478 478
 			echo $data;
479 479
 		}
480 480
     }
Please login to merge, or discard this patch.
Indentation   +1293 added lines, -1293 removed lines patch added patch discarded remove patch
@@ -16,877 +16,877 @@  discard block
 block discarded – undo
16 16
  */
17 17
 class Restler
18 18
 {
19
-    // ==================================================================
20
-    //
21
-    // Public variables
22
-    //
23
-    // ------------------------------------------------------------------
24
-
25
-    const VERSION = '2.2.1';
26
-
27
-    /**
28
-     * URL of the currently mapped service
29
-     * @var string
30
-     */
31
-    public $url;
32
-
33
-    /**
34
-     * Http request method of the current request.
35
-     * Any value between [GET, PUT, POST, DELETE]
36
-     * @var string
37
-     */
38
-    public $request_method;
39
-
40
-    /**
41
-     * Requested data format. Instance of the current format class
42
-     * which implements the iFormat interface
43
-     * @var iFormat
44
-     * @example jsonFormat, xmlFormat, yamlFormat etc
45
-     */
46
-    public $request_format;
47
-
48
-    /**
49
-     * Data sent to the service
50
-     * @var array
51
-     */
52
-    public $request_data = array();
53
-
54
-    /**
55
-     * Used in production mode to store the URL Map to disk
56
-     * @var string
57
-     */
58
-    public $cache_dir;
59
-
60
-    /**
61
-     * base directory to locate format and auth files
62
-     * @var string
63
-     */
64
-    public $base_dir;
65
-
66
-    /**
67
-     * Name of an iRespond implementation class
68
-     * @var string
69
-     */
70
-    public $response = 'DefaultResponse';
71
-
72
-    /**
73
-     * Response data format. Instance of the current format class
74
-     * which implements the iFormat interface
75
-     * @var iFormat
76
-     * @example jsonFormat, xmlFormat, yamlFormat etc
77
-     */
78
-    public $response_format;
79
-
80
-    // ==================================================================
81
-    //
82
-    // Private & Protected variables
83
-    //
84
-    // ------------------------------------------------------------------
85
-
86
-    /**
87
-     * When set to false, it will run in debug mode and parse the
88
-     * class files every time to map it to the URL
89
-     * @var boolean
90
-     */
91
-    protected $production_mode;
92
-
93
-    /**
94
-     * Associated array that maps urls to their respective class and method
95
-     * @var array
96
-     */
97
-    protected $routes = array();
98
-
99
-    /**
100
-     * Associated array that maps formats to their respective format class name
101
-     * @var array
102
-     */
103
-    protected $format_map = array();
104
-
105
-    /**
106
-     * Instance of the current api service class
107
-     * @var object
108
-     */
109
-    protected $service_class_instance;
110
-
111
-    /**
112
-     * Name of the api method being called
113
-     * @var string
114
-     */
115
-    protected $service_method;
116
-
117
-    /**
118
-     * list of authentication classes
119
-     * @var array
120
-     */
121
-    protected $auth_classes = array();
122
-
123
-    /**
124
-     * list of error handling classes
125
-     * @var array
126
-     */
127
-    protected $error_classes = array();
128
-
129
-    /**
130
-     * HTTP status codes
131
-     * @var array
132
-     */
133
-    private $codes = array(
134
-        100 => 'Continue',
135
-        101 => 'Switching Protocols',
136
-        200 => 'OK',
137
-        201 => 'Created',
138
-        202 => 'Accepted',
139
-        203 => 'Non-Authoritative Information',
140
-        204 => 'No Content',
141
-        205 => 'Reset Content',
142
-        206 => 'Partial Content',
143
-        300 => 'Multiple Choices',
144
-        301 => 'Moved Permanently',
145
-        302 => 'Found',
146
-        303 => 'See Other',
147
-        304 => 'Not Modified',
148
-        305 => 'Use Proxy',
149
-        306 => '(Unused)',
150
-        307 => 'Temporary Redirect',
151
-        400 => 'Bad Request',
152
-        401 => 'Unauthorized',
153
-        402 => 'Payment Required',
154
-        403 => 'Forbidden',
155
-        404 => 'Not Found',
156
-        405 => 'Method Not Allowed',
157
-        406 => 'Not Acceptable',
158
-        407 => 'Proxy Authentication Required',
159
-        408 => 'Request Timeout',
160
-        409 => 'Conflict',
161
-        410 => 'Gone',
162
-        411 => 'Length Required',
163
-        412 => 'Precondition Failed',
164
-        413 => 'Request Entity Too Large',
165
-        414 => 'Request-URI Too Long',
166
-        415 => 'Unsupported Media Type',
167
-        416 => 'Requested Range Not Satisfiable',
168
-        417 => 'Expectation Failed',
169
-        500 => 'Internal Server Error',
170
-        501 => 'Not Implemented',
171
-        502 => 'Bad Gateway',
172
-        503 => 'Service Unavailable',
173
-        504 => 'Gateway Timeout',
174
-        505 => 'HTTP Version Not Supported'
175
-    );
176
-
177
-    /**
178
-     * Caching of url map is enabled or not
179
-     * @var boolean
180
-     */
181
-    protected $cached;
182
-
183
-    // ==================================================================
184
-    //
185
-    // Public functions
186
-    //
187
-    // ------------------------------------------------------------------
188
-
189
-
190
-    /**
191
-     * Constructor
192
-     * @param boolean $production_mode When set to false, it will run in
193
-     * debug mode and parse the class files every time to map it to the URL
194
-     */
195
-    public function __construct($production_mode = false)
196
-    {
197
-        $this->production_mode = $production_mode;
198
-        $this->cache_dir = getcwd();
199
-        $this->base_dir = RESTLER_PATH;
200
-    }
201
-
202
-
203
-    /**
204
-     * Store the url map cache if needed
205
-     */
206
-    public function __destruct()
207
-    {
208
-        if ($this->production_mode && !($this->cached)) {
209
-            $this->saveCache();
210
-        }
211
-    }
212
-
213
-
214
-    /**
215
-     * Use it in production mode to refresh the url map cache
216
-     */
217
-    public function refreshCache()
218
-    {
219
-        $this->routes = array();
220
-        $this->cached = false;
221
-    }
222
-
223
-
224
-    /**
225
-     * Call this method and pass all the formats that should be
226
-     * supported by the API. Accepts multiple parameters
227
-     * @param string class name of the format class that implements iFormat
228
-     * @example $restler->setSupportedFormats('JsonFormat', 'XmlFormat'...);
229
-     */
230
-    public function setSupportedFormats()
231
-    {
232
-        $args = func_get_args();
233
-        $extensions = array();
234
-        foreach ($args as $class_name) {
235
-            if (!is_string($class_name) || !class_exists($class_name)) {
236
-                throw new Exception("$class_name is not a vaild Format Class.");
237
-            }
238
-            $obj = new $class_name;
239
-            if (!($obj instanceof iFormat)) {
240
-                throw new Exception('Invalid format class; must implement '
241
-                    . 'iFormat interface');
242
-            }
243
-            foreach ($obj->getMIMEMap() as $extension => $mime) {
244
-                if (!isset($this->format_map[$extension])) {
245
-                    $this->format_map[$extension] = $class_name;
246
-                }
247
-                $mime = explode(',', $mime);
248
-                if (!is_array($mime)) {
249
-                    $mime = array($mime);
250
-                }
251
-                foreach ($mime as $value) {
252
-                    if (!isset($this->format_map[$value])) {
253
-                        $this->format_map[$value] = $class_name;
254
-                    }
255
-                }
256
-                $extensions[".$extension"] = true;
257
-            }
258
-        }
259
-        $this->format_map['default'] = $args[0];
260
-        $this->format_map['extensions'] = array_keys($extensions);
261
-    }
262
-
263
-
264
-    /**
265
-     * Add api classes throgh this method. All the public methods
266
-     * that do not start with _ (underscore) will be  will be exposed
267
-     * as the public api by default.
268
-     *
269
-     * All the protected methods that do not start with _ (underscore)
270
-     * will exposed as protected api which will require authentication
271
-     * @param string $class name of the service class
272
-     * @param string $basePath optional url prefix for mapping, uses
273
-     * lowercase version of the class name when not specified
274
-     * @throws Exception when supplied with invalid class name
275
-     */
276
-    public function addAPIClass($class_name, $base_path = null)
277
-    {
278
-        if (!class_exists($class_name)) {
279
-            throw new Exception("API class $class_name is missing.");
280
-        }
281
-        $this->loadCache();
282
-        if (!$this->cached) {
283
-            if (is_null($base_path)) {
284
-                $base_path = strtolower($class_name);
285
-                $index = strrpos($class_name, '\\');
286
-                if ($index !== false) {
287
-                    $base_path = substr($base_path, $index + 1);
288
-                }
289
-            } else {
290
-                $base_path = trim($base_path, '/');
291
-            }
292
-            if (strlen($base_path) > 0) {
293
-                $base_path .= '/';
294
-            }
295
-            $this->generateMap($class_name, $base_path);
296
-        }
297
-    }
298
-
299
-
300
-    /**
301
-     * protected methods will need atleast one authentication class to be set
302
-     * in order to allow that method to be executed
303
-     * @param string $class_name of the authentication class
304
-     * @param string $base_path optional url prefix for mapping
305
-     */
306
-    public function addAuthenticationClass($class_name, $base_path = null)
307
-    {
308
-        $this->auth_classes[] = $class_name;
309
-        $this->addAPIClass($class_name, $base_path);
310
-    }
311
-
312
-
313
-    /**
314
-     * Add class for custom error handling
315
-     * @param string $class_name of the error handling class
316
-     */
317
-    public function addErrorClass($class_name)
318
-    {
319
-        $this->error_classes[] = $class_name;
320
-    }
321
-
322
-
323
-    /**
324
-     * Convenience method to respond with an error message
325
-     * @param int $statusCode http error code
326
-     * @param string $errorMessage optional custom error message
327
-     */
328
-    public function handleError($status_code, $error_message = null)
329
-    {
330
-        $method = "handle$status_code";
331
-        $handled = false;
332
-        foreach ($this->error_classes as $class_name) {
333
-            if (method_exists($class_name, $method)) {
334
-                $obj = new $class_name();
335
-                $obj->restler = $this;
336
-                $obj->$method();
337
-                $handled = true;
338
-            }
339
-        }
340
-        if ($handled) {
341
-            return;
342
-        }
343
-        $message = $this->codes[$status_code]
344
-            . (!$error_message ? '' : ': ' . $error_message);
345
-        $this->setStatus($status_code);
346
-        $responder = new $this->response();
347
-        $responder->restler = $this;
348
-        $this->sendData($responder->__formatError($status_code, $message));
349
-    }
350
-
351
-
352
-    /**
353
-     * An initialize function to allow use of the restler error generation 
354
-     * functions for pre-processing and pre-routing of requests.
355
-     */
356
-    public function init()
357
-    {
358
-        if (empty($this->format_map)) {
359
-            $this->setSupportedFormats('JsonFormat');
360
-        }
361
-        $this->url = $this->getPath();
362
-        $this->request_method = $this->getRequestMethod();
363
-        $this->response_format = $this->getResponseFormat();
364
-        $this->request_format = $this->getRequestFormat();
365
-        if (is_null($this->request_format)) {
366
-            $this->request_format = $this->response_format;
367
-        }
368
-        if ($this->request_method == 'PUT' || $this->request_method == 'POST') {
369
-            $this->request_data = $this->getRequestData();
370
-        }
371
-    }
372
-
373
-
374
-    /**
375
-     * Main function for processing the api request
376
-     * and return the response
377
-     * @throws Exception when the api service class is missing
378
-     * @throws RestException to send error response
379
-     */
380
-    public function handle()
381
-    {
382
-        $this->init();
383
-        $o = $this->mapUrlToMethod();
384
-
385
-        if (!isset($o->class_name)) {
386
-            $this->handleError(404);
387
-        } else {
388
-            try {
389
-                if ($o->method_flag) {
390
-                    $auth_method = '__isAuthenticated';
391
-                    if (!count($this->auth_classes)) {
392
-                        throw new RestException(401);
393
-                    }
394
-                    foreach ($this->auth_classes as $auth_class) {
395
-                        $auth_obj = new $auth_class();
396
-                        $auth_obj->restler = $this;
397
-                        $this->applyClassMetadata($auth_class, $auth_obj, $o);
398
-                        if (!method_exists($auth_obj, $auth_method)) {
399
-                            throw new RestException(401, 'Authentication Class '
400
-                                . 'should implement iAuthenticate');
401
-                        } else if (!$auth_obj->$auth_method()) {
402
-                            throw new RestException(401);
403
-                        }
404
-                    }
405
-                }
406
-                $this->applyClassMetadata(get_class($this->request_format),
407
-                    $this->request_format, $o);
408
-                $pre_process = '_' . $this->request_format->getExtension() . '_'
409
-                    . $o->method_name;
410
-                $this->service_method = $o->method_name;
411
-                if ($o->method_flag == 2) {
412
-                    $o = unprotect($o);
413
-                }
414
-                $object = $this->service_class_instance = new $o->class_name();
415
-                $object->restler = $this;
416
-                if (method_exists($o->class_name, $pre_process)) {
417
-                    call_user_func_array(
418
-                        array($object, $pre_process), $o->arguments
419
-                    );
420
-                }
421
-                switch ($o->method_flag) {
422
-                    case 3:
423
-                        $reflection_method = new ReflectionMethod($object,
424
-                                $o->method_name);
425
-                        $reflection_method->setAccessible(true);
426
-                        $result = $reflection_method->invokeArgs($object,
427
-                            $o->arguments);
428
-                        break;
429
-                    case 2:
430
-                    case 1:
431
-                    default:
432
-                        $result = call_user_func_array(array(
433
-                            $object,
434
-                            $o->method_name), $o->arguments
435
-                        );
436
-                        break;
437
-                }
438
-            } catch (RestException $e) {
439
-                $this->handleError($e->getCode(), $e->getMessage());
440
-            }
441
-        }
442
-        $responder = new $this->response();
443
-        $responder->restler = $this;
444
-        $this->applyClassMetadata($this->response, $responder, $o);
445
-        if (isset($result) && $result !== null) {
446
-            $result = $responder->__formatResponse($result);
447
-            $this->sendData($result);
448
-        }
449
-    }
450
-
451
-
452
-    /**
453
-     * Encodes the response in the prefered format
454
-     * and sends back
455
-     * @param $data array php data
456
-     */
457
-    public function sendData($data)
458
-    {
459
-        $data = $this->response_format->encode($data, 
460
-            !($this->production_mode)
461
-        );
462
-        $post_process = '_' . $this->service_method . '_'
463
-            . $this->response_format->getExtension();
464
-        if (isset($this->service_class_instance)
465
-            && method_exists($this->service_class_instance, $post_process)
466
-        ) {
467
-            $data = call_user_func(array($this->service_class_instance,
468
-                $post_process), $data);
469
-        }
470
-        header("Cache-Control: no-cache, must-revalidate");
471
-        header("Expires: 0");
472
-        header('Content-Type: ' . $this->response_format->getMIME());
473
-        //.'; charset=utf-8');
474
-        header("X-Powered-By: Luracast Restler v" . Restler::VERSION);
19
+	// ==================================================================
20
+	//
21
+	// Public variables
22
+	//
23
+	// ------------------------------------------------------------------
24
+
25
+	const VERSION = '2.2.1';
26
+
27
+	/**
28
+	 * URL of the currently mapped service
29
+	 * @var string
30
+	 */
31
+	public $url;
32
+
33
+	/**
34
+	 * Http request method of the current request.
35
+	 * Any value between [GET, PUT, POST, DELETE]
36
+	 * @var string
37
+	 */
38
+	public $request_method;
39
+
40
+	/**
41
+	 * Requested data format. Instance of the current format class
42
+	 * which implements the iFormat interface
43
+	 * @var iFormat
44
+	 * @example jsonFormat, xmlFormat, yamlFormat etc
45
+	 */
46
+	public $request_format;
47
+
48
+	/**
49
+	 * Data sent to the service
50
+	 * @var array
51
+	 */
52
+	public $request_data = array();
53
+
54
+	/**
55
+	 * Used in production mode to store the URL Map to disk
56
+	 * @var string
57
+	 */
58
+	public $cache_dir;
59
+
60
+	/**
61
+	 * base directory to locate format and auth files
62
+	 * @var string
63
+	 */
64
+	public $base_dir;
65
+
66
+	/**
67
+	 * Name of an iRespond implementation class
68
+	 * @var string
69
+	 */
70
+	public $response = 'DefaultResponse';
71
+
72
+	/**
73
+	 * Response data format. Instance of the current format class
74
+	 * which implements the iFormat interface
75
+	 * @var iFormat
76
+	 * @example jsonFormat, xmlFormat, yamlFormat etc
77
+	 */
78
+	public $response_format;
79
+
80
+	// ==================================================================
81
+	//
82
+	// Private & Protected variables
83
+	//
84
+	// ------------------------------------------------------------------
85
+
86
+	/**
87
+	 * When set to false, it will run in debug mode and parse the
88
+	 * class files every time to map it to the URL
89
+	 * @var boolean
90
+	 */
91
+	protected $production_mode;
92
+
93
+	/**
94
+	 * Associated array that maps urls to their respective class and method
95
+	 * @var array
96
+	 */
97
+	protected $routes = array();
98
+
99
+	/**
100
+	 * Associated array that maps formats to their respective format class name
101
+	 * @var array
102
+	 */
103
+	protected $format_map = array();
104
+
105
+	/**
106
+	 * Instance of the current api service class
107
+	 * @var object
108
+	 */
109
+	protected $service_class_instance;
110
+
111
+	/**
112
+	 * Name of the api method being called
113
+	 * @var string
114
+	 */
115
+	protected $service_method;
116
+
117
+	/**
118
+	 * list of authentication classes
119
+	 * @var array
120
+	 */
121
+	protected $auth_classes = array();
122
+
123
+	/**
124
+	 * list of error handling classes
125
+	 * @var array
126
+	 */
127
+	protected $error_classes = array();
128
+
129
+	/**
130
+	 * HTTP status codes
131
+	 * @var array
132
+	 */
133
+	private $codes = array(
134
+		100 => 'Continue',
135
+		101 => 'Switching Protocols',
136
+		200 => 'OK',
137
+		201 => 'Created',
138
+		202 => 'Accepted',
139
+		203 => 'Non-Authoritative Information',
140
+		204 => 'No Content',
141
+		205 => 'Reset Content',
142
+		206 => 'Partial Content',
143
+		300 => 'Multiple Choices',
144
+		301 => 'Moved Permanently',
145
+		302 => 'Found',
146
+		303 => 'See Other',
147
+		304 => 'Not Modified',
148
+		305 => 'Use Proxy',
149
+		306 => '(Unused)',
150
+		307 => 'Temporary Redirect',
151
+		400 => 'Bad Request',
152
+		401 => 'Unauthorized',
153
+		402 => 'Payment Required',
154
+		403 => 'Forbidden',
155
+		404 => 'Not Found',
156
+		405 => 'Method Not Allowed',
157
+		406 => 'Not Acceptable',
158
+		407 => 'Proxy Authentication Required',
159
+		408 => 'Request Timeout',
160
+		409 => 'Conflict',
161
+		410 => 'Gone',
162
+		411 => 'Length Required',
163
+		412 => 'Precondition Failed',
164
+		413 => 'Request Entity Too Large',
165
+		414 => 'Request-URI Too Long',
166
+		415 => 'Unsupported Media Type',
167
+		416 => 'Requested Range Not Satisfiable',
168
+		417 => 'Expectation Failed',
169
+		500 => 'Internal Server Error',
170
+		501 => 'Not Implemented',
171
+		502 => 'Bad Gateway',
172
+		503 => 'Service Unavailable',
173
+		504 => 'Gateway Timeout',
174
+		505 => 'HTTP Version Not Supported'
175
+	);
176
+
177
+	/**
178
+	 * Caching of url map is enabled or not
179
+	 * @var boolean
180
+	 */
181
+	protected $cached;
182
+
183
+	// ==================================================================
184
+	//
185
+	// Public functions
186
+	//
187
+	// ------------------------------------------------------------------
188
+
189
+
190
+	/**
191
+	 * Constructor
192
+	 * @param boolean $production_mode When set to false, it will run in
193
+	 * debug mode and parse the class files every time to map it to the URL
194
+	 */
195
+	public function __construct($production_mode = false)
196
+	{
197
+		$this->production_mode = $production_mode;
198
+		$this->cache_dir = getcwd();
199
+		$this->base_dir = RESTLER_PATH;
200
+	}
201
+
202
+
203
+	/**
204
+	 * Store the url map cache if needed
205
+	 */
206
+	public function __destruct()
207
+	{
208
+		if ($this->production_mode && !($this->cached)) {
209
+			$this->saveCache();
210
+		}
211
+	}
212
+
213
+
214
+	/**
215
+	 * Use it in production mode to refresh the url map cache
216
+	 */
217
+	public function refreshCache()
218
+	{
219
+		$this->routes = array();
220
+		$this->cached = false;
221
+	}
222
+
223
+
224
+	/**
225
+	 * Call this method and pass all the formats that should be
226
+	 * supported by the API. Accepts multiple parameters
227
+	 * @param string class name of the format class that implements iFormat
228
+	 * @example $restler->setSupportedFormats('JsonFormat', 'XmlFormat'...);
229
+	 */
230
+	public function setSupportedFormats()
231
+	{
232
+		$args = func_get_args();
233
+		$extensions = array();
234
+		foreach ($args as $class_name) {
235
+			if (!is_string($class_name) || !class_exists($class_name)) {
236
+				throw new Exception("$class_name is not a vaild Format Class.");
237
+			}
238
+			$obj = new $class_name;
239
+			if (!($obj instanceof iFormat)) {
240
+				throw new Exception('Invalid format class; must implement '
241
+					. 'iFormat interface');
242
+			}
243
+			foreach ($obj->getMIMEMap() as $extension => $mime) {
244
+				if (!isset($this->format_map[$extension])) {
245
+					$this->format_map[$extension] = $class_name;
246
+				}
247
+				$mime = explode(',', $mime);
248
+				if (!is_array($mime)) {
249
+					$mime = array($mime);
250
+				}
251
+				foreach ($mime as $value) {
252
+					if (!isset($this->format_map[$value])) {
253
+						$this->format_map[$value] = $class_name;
254
+					}
255
+				}
256
+				$extensions[".$extension"] = true;
257
+			}
258
+		}
259
+		$this->format_map['default'] = $args[0];
260
+		$this->format_map['extensions'] = array_keys($extensions);
261
+	}
262
+
263
+
264
+	/**
265
+	 * Add api classes throgh this method. All the public methods
266
+	 * that do not start with _ (underscore) will be  will be exposed
267
+	 * as the public api by default.
268
+	 *
269
+	 * All the protected methods that do not start with _ (underscore)
270
+	 * will exposed as protected api which will require authentication
271
+	 * @param string $class name of the service class
272
+	 * @param string $basePath optional url prefix for mapping, uses
273
+	 * lowercase version of the class name when not specified
274
+	 * @throws Exception when supplied with invalid class name
275
+	 */
276
+	public function addAPIClass($class_name, $base_path = null)
277
+	{
278
+		if (!class_exists($class_name)) {
279
+			throw new Exception("API class $class_name is missing.");
280
+		}
281
+		$this->loadCache();
282
+		if (!$this->cached) {
283
+			if (is_null($base_path)) {
284
+				$base_path = strtolower($class_name);
285
+				$index = strrpos($class_name, '\\');
286
+				if ($index !== false) {
287
+					$base_path = substr($base_path, $index + 1);
288
+				}
289
+			} else {
290
+				$base_path = trim($base_path, '/');
291
+			}
292
+			if (strlen($base_path) > 0) {
293
+				$base_path .= '/';
294
+			}
295
+			$this->generateMap($class_name, $base_path);
296
+		}
297
+	}
298
+
299
+
300
+	/**
301
+	 * protected methods will need atleast one authentication class to be set
302
+	 * in order to allow that method to be executed
303
+	 * @param string $class_name of the authentication class
304
+	 * @param string $base_path optional url prefix for mapping
305
+	 */
306
+	public function addAuthenticationClass($class_name, $base_path = null)
307
+	{
308
+		$this->auth_classes[] = $class_name;
309
+		$this->addAPIClass($class_name, $base_path);
310
+	}
311
+
312
+
313
+	/**
314
+	 * Add class for custom error handling
315
+	 * @param string $class_name of the error handling class
316
+	 */
317
+	public function addErrorClass($class_name)
318
+	{
319
+		$this->error_classes[] = $class_name;
320
+	}
321
+
322
+
323
+	/**
324
+	 * Convenience method to respond with an error message
325
+	 * @param int $statusCode http error code
326
+	 * @param string $errorMessage optional custom error message
327
+	 */
328
+	public function handleError($status_code, $error_message = null)
329
+	{
330
+		$method = "handle$status_code";
331
+		$handled = false;
332
+		foreach ($this->error_classes as $class_name) {
333
+			if (method_exists($class_name, $method)) {
334
+				$obj = new $class_name();
335
+				$obj->restler = $this;
336
+				$obj->$method();
337
+				$handled = true;
338
+			}
339
+		}
340
+		if ($handled) {
341
+			return;
342
+		}
343
+		$message = $this->codes[$status_code]
344
+			. (!$error_message ? '' : ': ' . $error_message);
345
+		$this->setStatus($status_code);
346
+		$responder = new $this->response();
347
+		$responder->restler = $this;
348
+		$this->sendData($responder->__formatError($status_code, $message));
349
+	}
350
+
351
+
352
+	/**
353
+	 * An initialize function to allow use of the restler error generation 
354
+	 * functions for pre-processing and pre-routing of requests.
355
+	 */
356
+	public function init()
357
+	{
358
+		if (empty($this->format_map)) {
359
+			$this->setSupportedFormats('JsonFormat');
360
+		}
361
+		$this->url = $this->getPath();
362
+		$this->request_method = $this->getRequestMethod();
363
+		$this->response_format = $this->getResponseFormat();
364
+		$this->request_format = $this->getRequestFormat();
365
+		if (is_null($this->request_format)) {
366
+			$this->request_format = $this->response_format;
367
+		}
368
+		if ($this->request_method == 'PUT' || $this->request_method == 'POST') {
369
+			$this->request_data = $this->getRequestData();
370
+		}
371
+	}
372
+
373
+
374
+	/**
375
+	 * Main function for processing the api request
376
+	 * and return the response
377
+	 * @throws Exception when the api service class is missing
378
+	 * @throws RestException to send error response
379
+	 */
380
+	public function handle()
381
+	{
382
+		$this->init();
383
+		$o = $this->mapUrlToMethod();
384
+
385
+		if (!isset($o->class_name)) {
386
+			$this->handleError(404);
387
+		} else {
388
+			try {
389
+				if ($o->method_flag) {
390
+					$auth_method = '__isAuthenticated';
391
+					if (!count($this->auth_classes)) {
392
+						throw new RestException(401);
393
+					}
394
+					foreach ($this->auth_classes as $auth_class) {
395
+						$auth_obj = new $auth_class();
396
+						$auth_obj->restler = $this;
397
+						$this->applyClassMetadata($auth_class, $auth_obj, $o);
398
+						if (!method_exists($auth_obj, $auth_method)) {
399
+							throw new RestException(401, 'Authentication Class '
400
+								. 'should implement iAuthenticate');
401
+						} else if (!$auth_obj->$auth_method()) {
402
+							throw new RestException(401);
403
+						}
404
+					}
405
+				}
406
+				$this->applyClassMetadata(get_class($this->request_format),
407
+					$this->request_format, $o);
408
+				$pre_process = '_' . $this->request_format->getExtension() . '_'
409
+					. $o->method_name;
410
+				$this->service_method = $o->method_name;
411
+				if ($o->method_flag == 2) {
412
+					$o = unprotect($o);
413
+				}
414
+				$object = $this->service_class_instance = new $o->class_name();
415
+				$object->restler = $this;
416
+				if (method_exists($o->class_name, $pre_process)) {
417
+					call_user_func_array(
418
+						array($object, $pre_process), $o->arguments
419
+					);
420
+				}
421
+				switch ($o->method_flag) {
422
+					case 3:
423
+						$reflection_method = new ReflectionMethod($object,
424
+								$o->method_name);
425
+						$reflection_method->setAccessible(true);
426
+						$result = $reflection_method->invokeArgs($object,
427
+							$o->arguments);
428
+						break;
429
+					case 2:
430
+					case 1:
431
+					default:
432
+						$result = call_user_func_array(array(
433
+							$object,
434
+							$o->method_name), $o->arguments
435
+						);
436
+						break;
437
+				}
438
+			} catch (RestException $e) {
439
+				$this->handleError($e->getCode(), $e->getMessage());
440
+			}
441
+		}
442
+		$responder = new $this->response();
443
+		$responder->restler = $this;
444
+		$this->applyClassMetadata($this->response, $responder, $o);
445
+		if (isset($result) && $result !== null) {
446
+			$result = $responder->__formatResponse($result);
447
+			$this->sendData($result);
448
+		}
449
+	}
450
+
451
+
452
+	/**
453
+	 * Encodes the response in the prefered format
454
+	 * and sends back
455
+	 * @param $data array php data
456
+	 */
457
+	public function sendData($data)
458
+	{
459
+		$data = $this->response_format->encode($data, 
460
+			!($this->production_mode)
461
+		);
462
+		$post_process = '_' . $this->service_method . '_'
463
+			. $this->response_format->getExtension();
464
+		if (isset($this->service_class_instance)
465
+			&& method_exists($this->service_class_instance, $post_process)
466
+		) {
467
+			$data = call_user_func(array($this->service_class_instance,
468
+				$post_process), $data);
469
+		}
470
+		header("Cache-Control: no-cache, must-revalidate");
471
+		header("Expires: 0");
472
+		header('Content-Type: ' . $this->response_format->getMIME());
473
+		//.'; charset=utf-8');
474
+		header("X-Powered-By: Luracast Restler v" . Restler::VERSION);
475 475
 		if($this->production_mode){
476 476
 			die($data);
477 477
 		}else{
478 478
 			echo $data;
479 479
 		}
480
-    }
481
-
482
-
483
-    /**
484
-     * Sets the HTTP response status
485
-     * @param int $code response code
486
-     */
487
-    public function setStatus($code)
488
-    {
489
-        header("{$_SERVER['SERVER_PROTOCOL']} $code " . 
490
-            $this->codes[strval($code)]);
491
-    }
492
-
493
-
494
-    /**
495
-     * Compare two strings and remove the common
496
-     * sub string from the first string and return it
497
-     * @param string $first
498
-     * @param string $second
499
-     * @param string $char optional, set it as
500
-     * blank string for char by char comparison
501
-     * @return string
502
-     */
503
-    public function removeCommonPath($first, $second, $char = '/')
504
-    {
505
-        $first = explode($char, $first);
506
-        $second = explode($char, $second);
507
-        while (count($second)) {
508
-            if ($first[0] == $second[0]) {
509
-                array_shift($first);
510
-            } else {
511
-                break;
512
-            }
513
-            array_shift($second);
514
-        }
515
-        return implode($char, $first);
516
-    }
517
-
518
-
519
-    /**
520
-     * Save cache to file
521
-     */
522
-    public function saveCache()
523
-    {
524
-        $file = $this->cache_dir . '/routes.php';
525
-        $s = '$o=array();' . PHP_EOL;
526
-        foreach ($this->routes as $key => $value) {
527
-            $s .= PHP_EOL . PHP_EOL . PHP_EOL . 
528
-                "############### $key ###############" . PHP_EOL . PHP_EOL;
529
-            $s .= '$o[\'' . $key . '\']=array();';
530
-            foreach ($value as $ke => $va) {
531
-                $s .= PHP_EOL . PHP_EOL . "#==== $key $ke" . PHP_EOL . PHP_EOL;
532
-                $s .= '$o[\'' . $key . '\'][\'' . $ke . '\']=' . str_replace(
533
-                        PHP_EOL, PHP_EOL . "\t", var_export($va, true)
534
-                    ) . ';';
535
-            }
536
-        }
537
-        $s .= PHP_EOL . 'return $o;';
538
-        $r = @file_put_contents($file, "<?php $s");
539
-        @chmod($file, 0777);
540
-        if ($r === false) {
541
-            throw new Exception(
542
-                "The cache directory located at '$this->cache_dir' needs to "
543
-                . "have the permissions set to read/write/execute for everyone"
544
-                . " in order to save cache and improve performance.");
545
-        }
546
-    }
547
-
548
-    // ==================================================================
549
-    //
550
-    // Protected functions
551
-    //
552
-    // ------------------------------------------------------------------
553
-
554
-
555
-    /**
556
-     * Parses the requst url and get the api path
557
-     * @return string api path
558
-     */
559
-    protected function getPath()
560
-    {
561
-        $path = urldecode($this->removeCommonPath($_SERVER['REQUEST_URI'],
562
-                $_SERVER['SCRIPT_NAME']));
563
-        $path = preg_replace('/(\/*\?.*$)|(\/$)/', '', $path);
564
-        $path = str_replace($this->format_map['extensions'], '', $path);
565
-        return $path;
566
-    }
567
-
568
-
569
-    /**
570
-     * Parses the request to figure out the http request type
571
-     * @return string which will be one of the following
572
-     * [GET, POST, PUT, DELETE]
573
-     * @example GET
574
-     */
575
-    protected function getRequestMethod()
576
-    {
577
-        $method = $_SERVER['REQUEST_METHOD'];
578
-        if (isset($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])) {
579
-            $method = $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'];
580
-        }
581
-        //support for HEAD request
582
-        if ($method == 'HEAD') {
583
-            $method = 'GET';
584
-        }
585
-        return $method;
586
-    }
587
-
588
-
589
-    /**
590
-     * Parses the request to figure out format of the request data
591
-     * @return iFormat any class that implements iFormat
592
-     * @example JsonFormat
593
-     */
594
-    protected function getRequestFormat()
595
-    {
596
-        $format = null;
597
-        //check if client has sent any information on request format
598
-        if (isset($_SERVER['CONTENT_TYPE'])) {
599
-            $mime = explode(';', $_SERVER['CONTENT_TYPE']);
600
-            $mime = $mime[0];
601
-            if ($mime == UrlEncodedFormat::MIME) {
602
-                $format = new UrlEncodedFormat();
603
-            } else {
604
-                if (isset($this->format_map[$mime])) {
605
-                    $format = $this->format_map[$mime];
606
-                    $format = is_string($format) ? new $format : $format;
607
-                    $format->setMIME($mime);
608
-                }
609
-            }
610
-        }
611
-        return $format;
612
-    }
613
-
614
-
615
-    /**
616
-     * Parses the request to figure out the best format for response
617
-     * @return iFormat any class that implements iFormat
618
-     * @example JsonFormat
619
-     */
620
-    protected function getResponseFormat()
621
-    {
622
-        //check if client has specified an extension
623
-        /**
624
-         * @var iFormat
625
-         */
626
-        $format = null;
627
-        $extensions = explode('.',
628
-            parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
629
-        while ($extensions) {
630
-            $extension = array_pop($extensions);
631
-            $extension = explode('/', $extension);
632
-            $extension = array_shift($extension);
633
-            if ($extension && isset($this->format_map[$extension])) {
634
-                $format = $this->format_map[$extension];
635
-                $format = is_string($format) ? new $format : $format;
636
-                $format->setExtension($extension);
637
-                return $format;
638
-            }
639
-        }
640
-        //check if client has sent list of accepted data formats
641
-        if (isset($_SERVER['HTTP_ACCEPT'])) {
642
-            $acceptList = array();
643
-            $accepts = explode(',', strtolower($_SERVER['HTTP_ACCEPT']));
644
-            if (!is_array($accepts)) {
645
-                $accepts = array($accepts);
646
-            }
647
-            foreach ($accepts as $pos => $accept) {
648
-                $parts = explode(';q=', trim($accept));
649
-                $type = array_shift($parts);
650
-                $quality = count($parts) ? 
651
-                    floatval(array_shift($parts)) : 
652
-                    (1000 - $pos) / 1000;
653
-                $acceptList[$type] = $quality;
654
-            }
655
-            arsort($acceptList);
656
-            foreach ($acceptList as $accept => $quality) {
657
-                if (isset($this->format_map[$accept])) {
658
-                    $format = $this->format_map[$accept];
659
-                    $format = is_string($format) ? new $format : $format;
660
-                    $format->setMIME($accept);
661
-                    // Tell cache content is based on Accept header
662
-                    header("Vary: Accept"); 
663
-                    return $format;
664
-                }
665
-            }
666
-        } else {
667
-            // RFC 2616: If no Accept header field is
668
-            // present, then it is assumed that the
669
-            // client accepts all media types.
670
-            $_SERVER['HTTP_ACCEPT'] = '*/*';
671
-        }
672
-        if (strpos($_SERVER['HTTP_ACCEPT'], '*') !== false) {
673
-            if (strpos($_SERVER['HTTP_ACCEPT'], 'application/*') !== false) {
674
-                $format = new JsonFormat;
675
-            } else if (strpos($_SERVER['HTTP_ACCEPT'], 'text/*') !== false) {
676
-                $format = new XmlFormat;
677
-            } else if (strpos($_SERVER['HTTP_ACCEPT'], '*/*') !== false) {
678
-                $format = new $this->format_map['default'];
679
-            }
680
-        }
681
-        if (empty($format)) {
682
-            // RFC 2616: If an Accept header field is present, and if the 
683
-            // server cannot send a response which is acceptable according to 
684
-            // the combined Accept field value, then the server SHOULD send 
685
-            // a 406 (not acceptable) response.
686
-            header('HTTP/1.1 406 Not Acceptable');
687
-            die('406 Not Acceptable: The server was unable to ' . 
688
-                    'negotiate content for this request.');
689
-        } else {
690
-            // Tell cache content is based ot Accept header
691
-            header("Vary: Accept"); 
692
-            return $format;
693
-        }
694
-    }
695
-
696
-
697
-    /**
698
-     * Parses the request data and returns it
699
-     * @return array php data
700
-     */
701
-    protected function getRequestData()
702
-    {
703
-        try {
704
-            $r = file_get_contents('php://input');
705
-            if (is_null($r)) {
706
-                return $_GET;
707
-            }
708
-            $r = $this->request_format->decode($r);
709
-            return is_null($r) ? array() : $r;
710
-        } catch (RestException $e) {
711
-            $this->handleError($e->getCode(), $e->getMessage());
712
-        }
713
-    }
714
-
715
-
716
-    protected function mapUrlToMethod()
717
-    {
718
-        if (!isset($this->routes[$this->request_method])) {
719
-            return array();
720
-        }
721
-        $urls = $this->routes[$this->request_method];
722
-        if (!$urls) {
723
-            return array();
724
-        }
725
-
726
-        $found = false;
727
-        $this->request_data += $_GET;
728
-        $params = array('request_data' => $this->request_data);
729
-        $params += $this->request_data;
730
-        $lc = strtolower($this->url);
731
-        foreach ($urls as $url => $call) {
732
-            $call = (object) $call;
733
-            if (strstr($url, ':')) {
734
-                $regex = preg_replace('/\\\:([^\/]+)/', '(?P<$1>[^/]+)',
735
-                    preg_quote($url));
736
-                if (preg_match(":^$regex$:i", $this->url, $matches)) {
737
-                    foreach ($matches as $arg => $match) {
738
-                        if (isset($call->arguments[$arg])) {
739
-                            //flog("$arg => $match $args[$arg]");
740
-                            $params[$arg] = $match;
741
-                        }
742
-                    }
743
-                    $found = true;
744
-                    break;
745
-                }
746
-            } else if ($url == $lc) {
747
-                $found = true;
748
-                break;
749
-            }
750
-        }
751
-        if ($found) {
752
-            $p = $call->defaults;
753
-            foreach ($call->arguments as $key => $value) {
754
-                if (isset($params[$key])) {
755
-                    $p[$value] = $params[$key];
756
-                }
757
-            }
758
-            $call->arguments = $p;
759
-            return $call;
760
-        }
761
-    }
762
-
763
-
764
-    /**
765
-     * Apply static and non-static properties defined in
766
-     * the method information anotation
767
-     * @param String $class_name
768
-     * @param Object $instance instance of that class
769
-     * @param Object $method_info method information and metadata
770
-     */
771
-    protected function applyClassMetadata($class_name, $instance, $method_info)
772
-    {
773
-        if (isset($method_info->metadata[$class_name])
774
-            && is_array($method_info->metadata[$class_name])
775
-        ) {
776
-            foreach ($method_info->metadata[$class_name] as
777
-                    $property => $value) {
778
-                if (property_exists($class_name, $property)) {
779
-                    $reflection_property = 
780
-                        new ReflectionProperty($class_name, $property);
781
-                    $reflection_property->setValue($instance, $value);
782
-                }
783
-            }
784
-        }
785
-    }
786
-
787
-
788
-    protected function loadCache()
789
-    {
790
-        if ($this->cached !== null) {
791
-            return;
792
-        }
793
-        $file = $this->cache_dir . '/routes.php';
794
-        $this->cached = false;
795
-
796
-        if ($this->production_mode) {
797
-            if (file_exists($file)) {
798
-                $routes = include($file);
799
-            }
800
-            if (isset($routes) && is_array($routes)) {
801
-                $this->routes = $routes;
802
-                $this->cached = true;
803
-            }
804
-        } else {
805
-            //@unlink($this->cache_dir . "/$name.php");
806
-        }
807
-    }
808
-
809
-
810
-    /**
811
-     * Generates cachable url to method mapping
812
-     * @param string $class_name
813
-     * @param string $base_path
814
-     */
815
-    protected function generateMap($class_name, $base_path = '')
816
-    {
817
-        $reflection = new ReflectionClass($class_name);
818
-        $class_metadata = parse_doc($reflection->getDocComment());
819
-        $methods = $reflection->getMethods(
820
-            ReflectionMethod::IS_PUBLIC + ReflectionMethod::IS_PROTECTED
821
-        );
822
-        foreach ($methods as $method) {
823
-            $doc = $method->getDocComment();
824
-            $arguments = array();
825
-            $defaults = array();
826
-            $metadata = $class_metadata + parse_doc($doc);
827
-            $params = $method->getParameters();
828
-            $position = 0;
829
-            foreach ($params as $param) {
830
-                $arguments[$param->getName()] = $position;
831
-                $defaults[$position] = $param->isDefaultValueAvailable() ? 
832
-                    $param->getDefaultValue() : null;
833
-                $position++;
834
-            }
835
-            $method_flag = $method->isProtected() ? 
836
-                (isRestlerCompatibilityModeEnabled() ? 2 : 3) : 
837
-                (isset($metadata['protected']) ? 1 : 0);
838
-
839
-            //take note of the order
840
-            $call = array(
841
-                'class_name' => $class_name,
842
-                'method_name' => $method->getName(),
843
-                'arguments' => $arguments,
844
-                'defaults' => $defaults,
845
-                'metadata' => $metadata,
846
-                'method_flag' => $method_flag
847
-            );
848
-            $method_url = strtolower($method->getName());
849
-            if (preg_match_all(
850
-                '/@url\s+(GET|POST|PUT|DELETE|HEAD|OPTIONS)[ \t]*\/?(\S*)/s',
851
-                    $doc, $matches, PREG_SET_ORDER)
852
-            ) {
853
-                foreach ($matches as $match) {
854
-                    $http_method = $match[1];
855
-                    $url = rtrim($base_path . $match[2], '/');
856
-                    $this->routes[$http_method][$url] = $call;
857
-                }
858
-            } elseif ($method_url[0] != '_') { 
859
-                //not prefixed with underscore
860
-                // no configuration found so use convention
861
-                if (preg_match_all('/^(GET|POST|PUT|DELETE|HEAD|OPTIONS)/i',
862
-                        $method_url, $matches)
863
-                ) {
864
-                    $http_method = strtoupper($matches[0][0]);
865
-                    $method_url = substr($method_url, strlen($http_method));
866
-                } else {
867
-                    $http_method = 'GET';
868
-                }
869
-                $url = $base_path
870
-                    . ($method_url == 'index' || $method_url == 'default' ? '' :
871
-                        $method_url);
872
-                $url = rtrim($url, '/');
873
-                $this->routes[$http_method][$url] = $call;
874
-                foreach ($params as $param) {
875
-                    if ($param->getName() == 'request_data') {
876
-                        break;
877
-                    }
878
-                    $url .= $url == '' ? ':' : '/:';
879
-                    $url .= $param->getName();
880
-                    $this->routes[$http_method][$url] = $call;
881
-                }
882
-            }
883
-        }
884
-    }
480
+	}
481
+
482
+
483
+	/**
484
+	 * Sets the HTTP response status
485
+	 * @param int $code response code
486
+	 */
487
+	public function setStatus($code)
488
+	{
489
+		header("{$_SERVER['SERVER_PROTOCOL']} $code " . 
490
+			$this->codes[strval($code)]);
491
+	}
492
+
493
+
494
+	/**
495
+	 * Compare two strings and remove the common
496
+	 * sub string from the first string and return it
497
+	 * @param string $first
498
+	 * @param string $second
499
+	 * @param string $char optional, set it as
500
+	 * blank string for char by char comparison
501
+	 * @return string
502
+	 */
503
+	public function removeCommonPath($first, $second, $char = '/')
504
+	{
505
+		$first = explode($char, $first);
506
+		$second = explode($char, $second);
507
+		while (count($second)) {
508
+			if ($first[0] == $second[0]) {
509
+				array_shift($first);
510
+			} else {
511
+				break;
512
+			}
513
+			array_shift($second);
514
+		}
515
+		return implode($char, $first);
516
+	}
517
+
518
+
519
+	/**
520
+	 * Save cache to file
521
+	 */
522
+	public function saveCache()
523
+	{
524
+		$file = $this->cache_dir . '/routes.php';
525
+		$s = '$o=array();' . PHP_EOL;
526
+		foreach ($this->routes as $key => $value) {
527
+			$s .= PHP_EOL . PHP_EOL . PHP_EOL . 
528
+				"############### $key ###############" . PHP_EOL . PHP_EOL;
529
+			$s .= '$o[\'' . $key . '\']=array();';
530
+			foreach ($value as $ke => $va) {
531
+				$s .= PHP_EOL . PHP_EOL . "#==== $key $ke" . PHP_EOL . PHP_EOL;
532
+				$s .= '$o[\'' . $key . '\'][\'' . $ke . '\']=' . str_replace(
533
+						PHP_EOL, PHP_EOL . "\t", var_export($va, true)
534
+					) . ';';
535
+			}
536
+		}
537
+		$s .= PHP_EOL . 'return $o;';
538
+		$r = @file_put_contents($file, "<?php $s");
539
+		@chmod($file, 0777);
540
+		if ($r === false) {
541
+			throw new Exception(
542
+				"The cache directory located at '$this->cache_dir' needs to "
543
+				. "have the permissions set to read/write/execute for everyone"
544
+				. " in order to save cache and improve performance.");
545
+		}
546
+	}
547
+
548
+	// ==================================================================
549
+	//
550
+	// Protected functions
551
+	//
552
+	// ------------------------------------------------------------------
553
+
554
+
555
+	/**
556
+	 * Parses the requst url and get the api path
557
+	 * @return string api path
558
+	 */
559
+	protected function getPath()
560
+	{
561
+		$path = urldecode($this->removeCommonPath($_SERVER['REQUEST_URI'],
562
+				$_SERVER['SCRIPT_NAME']));
563
+		$path = preg_replace('/(\/*\?.*$)|(\/$)/', '', $path);
564
+		$path = str_replace($this->format_map['extensions'], '', $path);
565
+		return $path;
566
+	}
567
+
568
+
569
+	/**
570
+	 * Parses the request to figure out the http request type
571
+	 * @return string which will be one of the following
572
+	 * [GET, POST, PUT, DELETE]
573
+	 * @example GET
574
+	 */
575
+	protected function getRequestMethod()
576
+	{
577
+		$method = $_SERVER['REQUEST_METHOD'];
578
+		if (isset($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])) {
579
+			$method = $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'];
580
+		}
581
+		//support for HEAD request
582
+		if ($method == 'HEAD') {
583
+			$method = 'GET';
584
+		}
585
+		return $method;
586
+	}
587
+
588
+
589
+	/**
590
+	 * Parses the request to figure out format of the request data
591
+	 * @return iFormat any class that implements iFormat
592
+	 * @example JsonFormat
593
+	 */
594
+	protected function getRequestFormat()
595
+	{
596
+		$format = null;
597
+		//check if client has sent any information on request format
598
+		if (isset($_SERVER['CONTENT_TYPE'])) {
599
+			$mime = explode(';', $_SERVER['CONTENT_TYPE']);
600
+			$mime = $mime[0];
601
+			if ($mime == UrlEncodedFormat::MIME) {
602
+				$format = new UrlEncodedFormat();
603
+			} else {
604
+				if (isset($this->format_map[$mime])) {
605
+					$format = $this->format_map[$mime];
606
+					$format = is_string($format) ? new $format : $format;
607
+					$format->setMIME($mime);
608
+				}
609
+			}
610
+		}
611
+		return $format;
612
+	}
613
+
614
+
615
+	/**
616
+	 * Parses the request to figure out the best format for response
617
+	 * @return iFormat any class that implements iFormat
618
+	 * @example JsonFormat
619
+	 */
620
+	protected function getResponseFormat()
621
+	{
622
+		//check if client has specified an extension
623
+		/**
624
+		 * @var iFormat
625
+		 */
626
+		$format = null;
627
+		$extensions = explode('.',
628
+			parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
629
+		while ($extensions) {
630
+			$extension = array_pop($extensions);
631
+			$extension = explode('/', $extension);
632
+			$extension = array_shift($extension);
633
+			if ($extension && isset($this->format_map[$extension])) {
634
+				$format = $this->format_map[$extension];
635
+				$format = is_string($format) ? new $format : $format;
636
+				$format->setExtension($extension);
637
+				return $format;
638
+			}
639
+		}
640
+		//check if client has sent list of accepted data formats
641
+		if (isset($_SERVER['HTTP_ACCEPT'])) {
642
+			$acceptList = array();
643
+			$accepts = explode(',', strtolower($_SERVER['HTTP_ACCEPT']));
644
+			if (!is_array($accepts)) {
645
+				$accepts = array($accepts);
646
+			}
647
+			foreach ($accepts as $pos => $accept) {
648
+				$parts = explode(';q=', trim($accept));
649
+				$type = array_shift($parts);
650
+				$quality = count($parts) ? 
651
+					floatval(array_shift($parts)) : 
652
+					(1000 - $pos) / 1000;
653
+				$acceptList[$type] = $quality;
654
+			}
655
+			arsort($acceptList);
656
+			foreach ($acceptList as $accept => $quality) {
657
+				if (isset($this->format_map[$accept])) {
658
+					$format = $this->format_map[$accept];
659
+					$format = is_string($format) ? new $format : $format;
660
+					$format->setMIME($accept);
661
+					// Tell cache content is based on Accept header
662
+					header("Vary: Accept"); 
663
+					return $format;
664
+				}
665
+			}
666
+		} else {
667
+			// RFC 2616: If no Accept header field is
668
+			// present, then it is assumed that the
669
+			// client accepts all media types.
670
+			$_SERVER['HTTP_ACCEPT'] = '*/*';
671
+		}
672
+		if (strpos($_SERVER['HTTP_ACCEPT'], '*') !== false) {
673
+			if (strpos($_SERVER['HTTP_ACCEPT'], 'application/*') !== false) {
674
+				$format = new JsonFormat;
675
+			} else if (strpos($_SERVER['HTTP_ACCEPT'], 'text/*') !== false) {
676
+				$format = new XmlFormat;
677
+			} else if (strpos($_SERVER['HTTP_ACCEPT'], '*/*') !== false) {
678
+				$format = new $this->format_map['default'];
679
+			}
680
+		}
681
+		if (empty($format)) {
682
+			// RFC 2616: If an Accept header field is present, and if the 
683
+			// server cannot send a response which is acceptable according to 
684
+			// the combined Accept field value, then the server SHOULD send 
685
+			// a 406 (not acceptable) response.
686
+			header('HTTP/1.1 406 Not Acceptable');
687
+			die('406 Not Acceptable: The server was unable to ' . 
688
+					'negotiate content for this request.');
689
+		} else {
690
+			// Tell cache content is based ot Accept header
691
+			header("Vary: Accept"); 
692
+			return $format;
693
+		}
694
+	}
695
+
696
+
697
+	/**
698
+	 * Parses the request data and returns it
699
+	 * @return array php data
700
+	 */
701
+	protected function getRequestData()
702
+	{
703
+		try {
704
+			$r = file_get_contents('php://input');
705
+			if (is_null($r)) {
706
+				return $_GET;
707
+			}
708
+			$r = $this->request_format->decode($r);
709
+			return is_null($r) ? array() : $r;
710
+		} catch (RestException $e) {
711
+			$this->handleError($e->getCode(), $e->getMessage());
712
+		}
713
+	}
714
+
715
+
716
+	protected function mapUrlToMethod()
717
+	{
718
+		if (!isset($this->routes[$this->request_method])) {
719
+			return array();
720
+		}
721
+		$urls = $this->routes[$this->request_method];
722
+		if (!$urls) {
723
+			return array();
724
+		}
725
+
726
+		$found = false;
727
+		$this->request_data += $_GET;
728
+		$params = array('request_data' => $this->request_data);
729
+		$params += $this->request_data;
730
+		$lc = strtolower($this->url);
731
+		foreach ($urls as $url => $call) {
732
+			$call = (object) $call;
733
+			if (strstr($url, ':')) {
734
+				$regex = preg_replace('/\\\:([^\/]+)/', '(?P<$1>[^/]+)',
735
+					preg_quote($url));
736
+				if (preg_match(":^$regex$:i", $this->url, $matches)) {
737
+					foreach ($matches as $arg => $match) {
738
+						if (isset($call->arguments[$arg])) {
739
+							//flog("$arg => $match $args[$arg]");
740
+							$params[$arg] = $match;
741
+						}
742
+					}
743
+					$found = true;
744
+					break;
745
+				}
746
+			} else if ($url == $lc) {
747
+				$found = true;
748
+				break;
749
+			}
750
+		}
751
+		if ($found) {
752
+			$p = $call->defaults;
753
+			foreach ($call->arguments as $key => $value) {
754
+				if (isset($params[$key])) {
755
+					$p[$value] = $params[$key];
756
+				}
757
+			}
758
+			$call->arguments = $p;
759
+			return $call;
760
+		}
761
+	}
762
+
763
+
764
+	/**
765
+	 * Apply static and non-static properties defined in
766
+	 * the method information anotation
767
+	 * @param String $class_name
768
+	 * @param Object $instance instance of that class
769
+	 * @param Object $method_info method information and metadata
770
+	 */
771
+	protected function applyClassMetadata($class_name, $instance, $method_info)
772
+	{
773
+		if (isset($method_info->metadata[$class_name])
774
+			&& is_array($method_info->metadata[$class_name])
775
+		) {
776
+			foreach ($method_info->metadata[$class_name] as
777
+					$property => $value) {
778
+				if (property_exists($class_name, $property)) {
779
+					$reflection_property = 
780
+						new ReflectionProperty($class_name, $property);
781
+					$reflection_property->setValue($instance, $value);
782
+				}
783
+			}
784
+		}
785
+	}
786
+
787
+
788
+	protected function loadCache()
789
+	{
790
+		if ($this->cached !== null) {
791
+			return;
792
+		}
793
+		$file = $this->cache_dir . '/routes.php';
794
+		$this->cached = false;
795
+
796
+		if ($this->production_mode) {
797
+			if (file_exists($file)) {
798
+				$routes = include($file);
799
+			}
800
+			if (isset($routes) && is_array($routes)) {
801
+				$this->routes = $routes;
802
+				$this->cached = true;
803
+			}
804
+		} else {
805
+			//@unlink($this->cache_dir . "/$name.php");
806
+		}
807
+	}
808
+
809
+
810
+	/**
811
+	 * Generates cachable url to method mapping
812
+	 * @param string $class_name
813
+	 * @param string $base_path
814
+	 */
815
+	protected function generateMap($class_name, $base_path = '')
816
+	{
817
+		$reflection = new ReflectionClass($class_name);
818
+		$class_metadata = parse_doc($reflection->getDocComment());
819
+		$methods = $reflection->getMethods(
820
+			ReflectionMethod::IS_PUBLIC + ReflectionMethod::IS_PROTECTED
821
+		);
822
+		foreach ($methods as $method) {
823
+			$doc = $method->getDocComment();
824
+			$arguments = array();
825
+			$defaults = array();
826
+			$metadata = $class_metadata + parse_doc($doc);
827
+			$params = $method->getParameters();
828
+			$position = 0;
829
+			foreach ($params as $param) {
830
+				$arguments[$param->getName()] = $position;
831
+				$defaults[$position] = $param->isDefaultValueAvailable() ? 
832
+					$param->getDefaultValue() : null;
833
+				$position++;
834
+			}
835
+			$method_flag = $method->isProtected() ? 
836
+				(isRestlerCompatibilityModeEnabled() ? 2 : 3) : 
837
+				(isset($metadata['protected']) ? 1 : 0);
838
+
839
+			//take note of the order
840
+			$call = array(
841
+				'class_name' => $class_name,
842
+				'method_name' => $method->getName(),
843
+				'arguments' => $arguments,
844
+				'defaults' => $defaults,
845
+				'metadata' => $metadata,
846
+				'method_flag' => $method_flag
847
+			);
848
+			$method_url = strtolower($method->getName());
849
+			if (preg_match_all(
850
+				'/@url\s+(GET|POST|PUT|DELETE|HEAD|OPTIONS)[ \t]*\/?(\S*)/s',
851
+					$doc, $matches, PREG_SET_ORDER)
852
+			) {
853
+				foreach ($matches as $match) {
854
+					$http_method = $match[1];
855
+					$url = rtrim($base_path . $match[2], '/');
856
+					$this->routes[$http_method][$url] = $call;
857
+				}
858
+			} elseif ($method_url[0] != '_') { 
859
+				//not prefixed with underscore
860
+				// no configuration found so use convention
861
+				if (preg_match_all('/^(GET|POST|PUT|DELETE|HEAD|OPTIONS)/i',
862
+						$method_url, $matches)
863
+				) {
864
+					$http_method = strtoupper($matches[0][0]);
865
+					$method_url = substr($method_url, strlen($http_method));
866
+				} else {
867
+					$http_method = 'GET';
868
+				}
869
+				$url = $base_path
870
+					. ($method_url == 'index' || $method_url == 'default' ? '' :
871
+						$method_url);
872
+				$url = rtrim($url, '/');
873
+				$this->routes[$http_method][$url] = $call;
874
+				foreach ($params as $param) {
875
+					if ($param->getName() == 'request_data') {
876
+						break;
877
+					}
878
+					$url .= $url == '' ? ':' : '/:';
879
+					$url .= $param->getName();
880
+					$this->routes[$http_method][$url] = $call;
881
+				}
882
+			}
883
+		}
884
+	}
885 885
 
886 886
 }
887 887
 
888 888
 if (version_compare(PHP_VERSION, '5.3.0') < 0) {
889
-    require_once 'compat.php';
889
+	require_once 'compat.php';
890 890
 }
891 891
 
892 892
 // ==================================================================
@@ -910,10 +910,10 @@  discard block
 block discarded – undo
910 910
 {
911 911
 
912 912
 
913
-    public function __construct($http_status_code, $error_message = null)
914
-    {
915
-        parent::__construct($error_message, $http_status_code);
916
-    }
913
+	public function __construct($http_status_code, $error_message = null)
914
+	{
915
+		parent::__construct($error_message, $http_status_code);
916
+	}
917 917
 
918 918
 }
919 919
 
@@ -931,21 +931,21 @@  discard block
 block discarded – undo
931 931
 {
932 932
 
933 933
 
934
-    /**
935
-     * Result of an api call is passed to this method
936
-     * to create a standard structure for the data
937
-     * @param unknown_type $result can be a primitive or array or object
938
-     */
939
-    public function __formatResponse($result);
934
+	/**
935
+	 * Result of an api call is passed to this method
936
+	 * to create a standard structure for the data
937
+	 * @param unknown_type $result can be a primitive or array or object
938
+	 */
939
+	public function __formatResponse($result);
940 940
 
941 941
 
942
-    /**
943
-     * When the api call results in RestException this method
944
-     * will be called to return the error message
945
-     * @param int $status_code
946
-     * @param String $message
947
-     */
948
-    public function __formatError($status_code, $message);
942
+	/**
943
+	 * When the api call results in RestException this method
944
+	 * will be called to return the error message
945
+	 * @param int $status_code
946
+	 * @param String $message
947
+	 */
948
+	public function __formatError($status_code, $message);
949 949
 }
950 950
 
951 951
 /**
@@ -962,21 +962,21 @@  discard block
 block discarded – undo
962 962
 {
963 963
 
964 964
 
965
-    public function __formatResponse($result)
966
-    {
967
-        return $result;
968
-    }
965
+	public function __formatResponse($result)
966
+	{
967
+		return $result;
968
+	}
969 969
 
970 970
 
971
-    public function __formatError($statusCode, $message)
972
-    {
973
-        return array(
974
-            'error' => array(
975
-                'code' => $statusCode,
976
-                'message' => $message
977
-            )
978
-        );
979
-    }
971
+	public function __formatError($statusCode, $message)
972
+	{
973
+		return array(
974
+			'error' => array(
975
+				'code' => $statusCode,
976
+				'message' => $message
977
+			)
978
+		);
979
+	}
980 980
 
981 981
 }
982 982
 
@@ -994,11 +994,11 @@  discard block
 block discarded – undo
994 994
 {
995 995
 
996 996
 
997
-    /**
998
-     * Auth function that is called when a protected method is requested
999
-     * @return boolean true or false
1000
-     */
1001
-    public function __isAuthenticated();
997
+	/**
998
+	 * Auth function that is called when a protected method is requested
999
+	 * @return boolean true or false
1000
+	 */
1001
+	public function __isAuthenticated();
1002 1002
 }
1003 1003
 
1004 1004
 /**
@@ -1016,60 +1016,60 @@  discard block
 block discarded – undo
1016 1016
 {
1017 1017
 
1018 1018
 
1019
-    /**
1020
-     * Get Extension => MIME type mappings as an associative array
1021
-     * @return array list of mime strings for the format
1022
-     * @example array('json'=>'application/json');
1023
-     */
1024
-    public function getMIMEMap();
1019
+	/**
1020
+	 * Get Extension => MIME type mappings as an associative array
1021
+	 * @return array list of mime strings for the format
1022
+	 * @example array('json'=>'application/json');
1023
+	 */
1024
+	public function getMIMEMap();
1025 1025
 
1026 1026
 
1027
-    /**
1028
-     * Set the selected MIME type
1029
-     * @param string $mime MIME type
1030
-     */
1031
-    public function setMIME($mime);
1027
+	/**
1028
+	 * Set the selected MIME type
1029
+	 * @param string $mime MIME type
1030
+	 */
1031
+	public function setMIME($mime);
1032 1032
 
1033 1033
 
1034
-    /**
1035
-     * Get selected MIME type
1036
-     */
1037
-    public function getMIME();
1034
+	/**
1035
+	 * Get selected MIME type
1036
+	 */
1037
+	public function getMIME();
1038 1038
 
1039 1039
 
1040
-    /**
1041
-     * Set the selected file extension
1042
-     * @param string $extension file extension
1043
-     */
1044
-    public function setExtension($extension);
1040
+	/**
1041
+	 * Set the selected file extension
1042
+	 * @param string $extension file extension
1043
+	 */
1044
+	public function setExtension($extension);
1045 1045
 
1046 1046
 
1047
-    /**
1048
-     * Get the selected file extension
1049
-     * @return string file extension
1050
-     */
1051
-    public function getExtension();
1047
+	/**
1048
+	 * Get the selected file extension
1049
+	 * @return string file extension
1050
+	 */
1051
+	public function getExtension();
1052 1052
 
1053 1053
 
1054
-    /**
1055
-     * Encode the given data in the format
1056
-     * @param array $data resulting data that needs to
1057
-     * be encoded in the given format
1058
-     * @param boolean $human_readable set to true when restler
1059
-     * is not running in production mode. Formatter has to
1060
-     * make the encoded output more human readable
1061
-     * @return string encoded string
1062
-     */
1063
-    public function encode($data, $human_readable = false);
1054
+	/**
1055
+	 * Encode the given data in the format
1056
+	 * @param array $data resulting data that needs to
1057
+	 * be encoded in the given format
1058
+	 * @param boolean $human_readable set to true when restler
1059
+	 * is not running in production mode. Formatter has to
1060
+	 * make the encoded output more human readable
1061
+	 * @return string encoded string
1062
+	 */
1063
+	public function encode($data, $human_readable = false);
1064 1064
 
1065 1065
 
1066
-    /**
1067
-     * Decode the given data from the format
1068
-     * @param string $data data sent from client to
1069
-     * the api in the given format.
1070
-     * @return array associative array of the parsed data
1071
-     */
1072
-    public function decode($data);
1066
+	/**
1067
+	 * Decode the given data from the format
1068
+	 * @param string $data data sent from client to
1069
+	 * the api in the given format.
1070
+	 * @return array associative array of the parsed data
1071
+	 */
1072
+	public function decode($data);
1073 1073
 }
1074 1074
 
1075 1075
 /**
@@ -1085,57 +1085,57 @@  discard block
 block discarded – undo
1085 1085
 class UrlEncodedFormat implements iFormat
1086 1086
 {
1087 1087
 
1088
-    const MIME = 'application/x-www-form-urlencoded';
1089
-    const EXTENSION = 'post';
1088
+	const MIME = 'application/x-www-form-urlencoded';
1089
+	const EXTENSION = 'post';
1090 1090
 
1091 1091
 
1092
-    public function getMIMEMap()
1093
-    {
1094
-        return array(self::EXTENSION => self::MIME);
1095
-    }
1092
+	public function getMIMEMap()
1093
+	{
1094
+		return array(self::EXTENSION => self::MIME);
1095
+	}
1096 1096
 
1097 1097
 
1098
-    public function getMIME()
1099
-    {
1100
-        return self::MIME;
1101
-    }
1098
+	public function getMIME()
1099
+	{
1100
+		return self::MIME;
1101
+	}
1102 1102
 
1103 1103
 
1104
-    public function getExtension()
1105
-    {
1106
-        return self::EXTENSION;
1107
-    }
1104
+	public function getExtension()
1105
+	{
1106
+		return self::EXTENSION;
1107
+	}
1108 1108
 
1109 1109
 
1110
-    public function setMIME($mime)
1111
-    {
1112
-        //do nothing
1113
-    }
1110
+	public function setMIME($mime)
1111
+	{
1112
+		//do nothing
1113
+	}
1114 1114
 
1115 1115
 
1116
-    public function setExtension($extension)
1117
-    {
1118
-        //do nothing
1119
-    }
1116
+	public function setExtension($extension)
1117
+	{
1118
+		//do nothing
1119
+	}
1120 1120
 
1121 1121
 
1122
-    public function encode($data, $human_readable = false)
1123
-    {
1124
-        return http_build_query($data);
1125
-    }
1122
+	public function encode($data, $human_readable = false)
1123
+	{
1124
+		return http_build_query($data);
1125
+	}
1126 1126
 
1127 1127
 
1128
-    public function decode($data)
1129
-    {
1130
-        parse_str($data, $r);
1131
-        return $r;
1132
-    }
1128
+	public function decode($data)
1129
+	{
1130
+		parse_str($data, $r);
1131
+		return $r;
1132
+	}
1133 1133
 
1134 1134
 
1135
-    public function __toString()
1136
-    {
1137
-        return $this->getExtension();
1138
-    }
1135
+	public function __toString()
1136
+	{
1137
+		return $this->getExtension();
1138
+	}
1139 1139
 
1140 1140
 }
1141 1141
 
@@ -1152,158 +1152,158 @@  discard block
 block discarded – undo
1152 1152
 class JsonFormat implements iFormat
1153 1153
 {
1154 1154
 
1155
-    const MIME = 'application/json,application/javascript';
1156
-
1157
-    static $mime = 'application/json';
1158
-
1159
-    const EXTENSION = 'json';
1160
-
1161
-
1162
-    public function getMIMEMap()
1163
-    {
1164
-        return array(self::EXTENSION => self::MIME);
1165
-    }
1166
-
1167
-
1168
-    public function getMIME()
1169
-    {
1170
-        return self::$mime;
1171
-    }
1172
-
1173
-
1174
-    public function getExtension()
1175
-    {
1176
-        return self::EXTENSION;
1177
-    }
1178
-
1179
-
1180
-    public function setMIME($mime)
1181
-    {
1182
-        self::$mime = $mime;
1183
-    }
1184
-
1185
-
1186
-    public function setExtension($extension)
1187
-    {
1188
-        //do nothing
1189
-    }
1190
-
1191
-
1192
-    public function encode($data, $human_readable = false)
1193
-    {
1194
-        return $human_readable ? 
1195
-            $this->json_format(json_encode(object_to_array($data))) : 
1196
-            json_encode(object_to_array($data));
1197
-    }
1198
-
1199
-
1200
-    public function decode($data)
1201
-    {
1202
-        $decoded = json_decode($data);
1203
-        if (function_exists('json_last_error')) {
1204
-            $message = '';
1205
-            switch (json_last_error()) {
1206
-                case JSON_ERROR_NONE:
1207
-                    return object_to_array($decoded);
1208
-                    break;
1209
-                case JSON_ERROR_DEPTH:
1210
-                    $message = 'maximum stack depth exceeded';
1211
-                    break;
1212
-                case JSON_ERROR_STATE_MISMATCH:
1213
-                    $message = 'underflow or the modes mismatch';
1214
-                    break;
1215
-                case JSON_ERROR_CTRL_CHAR:
1216
-                    $message = 'unexpected control character found';
1217
-                    break;
1218
-                case JSON_ERROR_SYNTAX:
1219
-                    $message = 'malformed JSON';
1220
-                    break;
1221
-                case JSON_ERROR_UTF8:
1222
-                    $message = 'malformed UTF-8 characters, '.
1223
-                        'possibly incorrectly encoded';
1224
-                    break;
1225
-                default:
1226
-                    $message = 'unknown error';
1227
-                    break;
1228
-            }
1229
-            throw new RestException(400, 'Error parsing JSON, ' . $message);
1230
-        } else if (strlen($data) && $decoded === null || $decoded === $data) {
1231
-            throw new RestException(400, 'Error parsing JSON');
1232
-        }
1233
-        return object_to_array($decoded);
1234
-    }
1235
-
1236
-
1237
-    /**
1238
-     * Pretty print JSON string
1239
-     * @param string $json
1240
-     * @return string formated json
1241
-     */
1242
-    private function json_format($json)
1243
-    {
1244
-        $tab = "  ";
1245
-        $new_json = "";
1246
-        $indent_level = 0;
1247
-        $in_string = false;
1248
-        $len = strlen($json);
1249
-
1250
-        for ($c = 0; $c < $len; $c++) {
1251
-            $char = $json[$c];
1252
-            switch ($char) {
1253
-                case '{':
1254
-                case '[':
1255
-                    if (!$in_string) {
1256
-                        $new_json .= $char . "\n" .
1257
-                            str_repeat($tab, $indent_level + 1);
1258
-                        $indent_level++;
1259
-                    } else {
1260
-                        $new_json .= $char;
1261
-                    }
1262
-                    break;
1263
-                case '}':
1264
-                case ']':
1265
-                    if (!$in_string) {
1266
-                        $indent_level--;
1267
-                        $new_json .= "\n" . str_repeat($tab, $indent_level) 
1268
-                            . $char;
1269
-                    } else {
1270
-                        $new_json .= $char;
1271
-                    }
1272
-                    break;
1273
-                case ',':
1274
-                    if (!$in_string) {
1275
-                        $new_json .= ",\n" . str_repeat($tab, $indent_level);
1276
-                    } else {
1277
-                        $new_json .= $char;
1278
-                    }
1279
-                    break;
1280
-                case ':':
1281
-                    if (!$in_string) {
1282
-                        $new_json .= ": ";
1283
-                    } else {
1284
-                        $new_json .= $char;
1285
-                    }
1286
-                    break;
1287
-                case '"':
1288
-                    if ($c == 0) {
1289
-                        $in_string = true;
1290
-                    } else if ($c > 0 && $json[$c - 1] != '\\') {
1291
-                        $in_string = !$in_string;
1292
-                    }
1293
-                default:
1294
-                    $new_json .= $char;
1295
-                    break;
1296
-            }
1297
-        }
1298
-
1299
-        return $new_json;
1300
-    }
1301
-
1302
-
1303
-    public function __toString()
1304
-    {
1305
-        return $this->getExtension();
1306
-    }
1155
+	const MIME = 'application/json,application/javascript';
1156
+
1157
+	static $mime = 'application/json';
1158
+
1159
+	const EXTENSION = 'json';
1160
+
1161
+
1162
+	public function getMIMEMap()
1163
+	{
1164
+		return array(self::EXTENSION => self::MIME);
1165
+	}
1166
+
1167
+
1168
+	public function getMIME()
1169
+	{
1170
+		return self::$mime;
1171
+	}
1172
+
1173
+
1174
+	public function getExtension()
1175
+	{
1176
+		return self::EXTENSION;
1177
+	}
1178
+
1179
+
1180
+	public function setMIME($mime)
1181
+	{
1182
+		self::$mime = $mime;
1183
+	}
1184
+
1185
+
1186
+	public function setExtension($extension)
1187
+	{
1188
+		//do nothing
1189
+	}
1190
+
1191
+
1192
+	public function encode($data, $human_readable = false)
1193
+	{
1194
+		return $human_readable ? 
1195
+			$this->json_format(json_encode(object_to_array($data))) : 
1196
+			json_encode(object_to_array($data));
1197
+	}
1198
+
1199
+
1200
+	public function decode($data)
1201
+	{
1202
+		$decoded = json_decode($data);
1203
+		if (function_exists('json_last_error')) {
1204
+			$message = '';
1205
+			switch (json_last_error()) {
1206
+				case JSON_ERROR_NONE:
1207
+					return object_to_array($decoded);
1208
+					break;
1209
+				case JSON_ERROR_DEPTH:
1210
+					$message = 'maximum stack depth exceeded';
1211
+					break;
1212
+				case JSON_ERROR_STATE_MISMATCH:
1213
+					$message = 'underflow or the modes mismatch';
1214
+					break;
1215
+				case JSON_ERROR_CTRL_CHAR:
1216
+					$message = 'unexpected control character found';
1217
+					break;
1218
+				case JSON_ERROR_SYNTAX:
1219
+					$message = 'malformed JSON';
1220
+					break;
1221
+				case JSON_ERROR_UTF8:
1222
+					$message = 'malformed UTF-8 characters, '.
1223
+						'possibly incorrectly encoded';
1224
+					break;
1225
+				default:
1226
+					$message = 'unknown error';
1227
+					break;
1228
+			}
1229
+			throw new RestException(400, 'Error parsing JSON, ' . $message);
1230
+		} else if (strlen($data) && $decoded === null || $decoded === $data) {
1231
+			throw new RestException(400, 'Error parsing JSON');
1232
+		}
1233
+		return object_to_array($decoded);
1234
+	}
1235
+
1236
+
1237
+	/**
1238
+	 * Pretty print JSON string
1239
+	 * @param string $json
1240
+	 * @return string formated json
1241
+	 */
1242
+	private function json_format($json)
1243
+	{
1244
+		$tab = "  ";
1245
+		$new_json = "";
1246
+		$indent_level = 0;
1247
+		$in_string = false;
1248
+		$len = strlen($json);
1249
+
1250
+		for ($c = 0; $c < $len; $c++) {
1251
+			$char = $json[$c];
1252
+			switch ($char) {
1253
+				case '{':
1254
+				case '[':
1255
+					if (!$in_string) {
1256
+						$new_json .= $char . "\n" .
1257
+							str_repeat($tab, $indent_level + 1);
1258
+						$indent_level++;
1259
+					} else {
1260
+						$new_json .= $char;
1261
+					}
1262
+					break;
1263
+				case '}':
1264
+				case ']':
1265
+					if (!$in_string) {
1266
+						$indent_level--;
1267
+						$new_json .= "\n" . str_repeat($tab, $indent_level) 
1268
+							. $char;
1269
+					} else {
1270
+						$new_json .= $char;
1271
+					}
1272
+					break;
1273
+				case ',':
1274
+					if (!$in_string) {
1275
+						$new_json .= ",\n" . str_repeat($tab, $indent_level);
1276
+					} else {
1277
+						$new_json .= $char;
1278
+					}
1279
+					break;
1280
+				case ':':
1281
+					if (!$in_string) {
1282
+						$new_json .= ": ";
1283
+					} else {
1284
+						$new_json .= $char;
1285
+					}
1286
+					break;
1287
+				case '"':
1288
+					if ($c == 0) {
1289
+						$in_string = true;
1290
+					} else if ($c > 0 && $json[$c - 1] != '\\') {
1291
+						$in_string = !$in_string;
1292
+					}
1293
+				default:
1294
+					$new_json .= $char;
1295
+					break;
1296
+			}
1297
+		}
1298
+
1299
+		return $new_json;
1300
+	}
1301
+
1302
+
1303
+	public function __toString()
1304
+	{
1305
+		return $this->getExtension();
1306
+	}
1307 1307
 
1308 1308
 }
1309 1309
 
@@ -1321,123 +1321,123 @@  discard block
 block discarded – undo
1321 1321
 class DocParser
1322 1322
 {
1323 1323
 
1324
-    private $params = array();
1325
-
1326
-
1327
-    public function parse($doc = '')
1328
-    {
1329
-        if ($doc == '') {
1330
-            return $this->params;
1331
-        }
1332
-        //Get the comment
1333
-        if (preg_match('#^/\*\*(.*)\*/#s', $doc, $comment) === false) {
1334
-            return $this->params;
1335
-        }
1336
-        $comment = trim($comment[1]);
1337
-        //Get all the lines and strip the * from the first character
1338
-        if (preg_match_all('#^\s*\*(.*)#m', $comment, $lines) === false) {
1339
-            return $this->params;
1340
-        }
1341
-        $this->parseLines($lines[1]);
1342
-        return $this->params;
1343
-    }
1344
-
1345
-
1346
-    private function parseLines($lines)
1347
-    {
1348
-        foreach ($lines as $line) {
1349
-            $parsedLine = $this->parseLine($line); //Parse the line
1350
-
1351
-            if ($parsedLine === false && !isset($this->params['description'])) {
1352
-                if (isset($desc)) {
1353
-                    //Store the first line in the short description
1354
-                    $this->params['description'] = implode(PHP_EOL, $desc);
1355
-                }
1356
-                $desc = array();
1357
-            } else if ($parsedLine !== false) {
1358
-                $desc[] = $parsedLine; //Store the line in the long description
1359
-            }
1360
-        }
1361
-        $desc = implode(' ', $desc);
1362
-        if (!empty($desc)) {
1363
-            $this->params['long_description'] = $desc;
1364
-        }
1365
-    }
1366
-
1367
-
1368
-    private function parseLine($line)
1369
-    {
1370
-        //trim the whitespace from the line
1371
-        $line = trim($line);
1372
-
1373
-        if (empty($line)) {
1374
-            return false; //Empty line
1375
-        }
1376
-
1377
-        if (strpos($line, '@') === 0) {
1378
-            if (strpos($line, ' ') > 0) {
1379
-                //Get the parameter name
1380
-                $param = substr($line, 1, strpos($line, ' ') - 1);
1381
-                $value = substr($line, strlen($param) + 2); //Get the value
1382
-            } else {
1383
-                $param = substr($line, 1);
1384
-                $value = '';
1385
-            }
1386
-            //Parse the line and return false if the parameter is valid
1387
-            if ($this->setParam($param, $value)) {
1388
-                return false;
1389
-            }
1390
-        }
1391
-        return $line;
1392
-    }
1393
-
1394
-
1395
-    private function setParam($param, $value)
1396
-    {
1397
-        if ($param == 'param' || $param == 'return') {
1398
-            $value = $this->formatParamOrReturn($value);
1399
-        }
1400
-        if ($param == 'class') {
1401
-            list($param, $value) = $this->formatClass($value);
1402
-        }
1403
-
1404
-        if (empty($this->params[$param])) {
1405
-            $this->params[$param] = $value;
1406
-        } else if ($param == 'param') {
1407
-            $arr = array($this->params[$param], $value);
1408
-            $this->params[$param] = $arr;
1409
-        } else {
1410
-            $this->params[$param] = $value + $this->params[$param];
1411
-        }
1412
-        return true;
1413
-    }
1414
-
1415
-
1416
-    private function formatClass($value)
1417
-    {
1418
-        $r = preg_split("[\(|\)]", $value);
1419
-        if (count($r) > 1) {
1420
-            $param = $r[0];
1421
-            parse_str($r[1], $value);
1422
-            foreach ($value as $key => $val) {
1423
-                $val = explode(',', $val);
1424
-                if (count($val) > 1) {
1425
-                    $value[$key] = $val;
1426
-                }
1427
-            }
1428
-        } else {
1429
-            $param = 'Unknown';
1430
-        }
1431
-        return array($param, $value);
1432
-    }
1433
-
1434
-
1435
-    private function formatParamOrReturn($string)
1436
-    {
1437
-        $pos = strpos($string, ' ');
1438
-        $type = substr($string, 0, $pos);
1439
-        return '(' . $type . ')' . substr($string, $pos + 1);
1440
-    }
1324
+	private $params = array();
1325
+
1326
+
1327
+	public function parse($doc = '')
1328
+	{
1329
+		if ($doc == '') {
1330
+			return $this->params;
1331
+		}
1332
+		//Get the comment
1333
+		if (preg_match('#^/\*\*(.*)\*/#s', $doc, $comment) === false) {
1334
+			return $this->params;
1335
+		}
1336
+		$comment = trim($comment[1]);
1337
+		//Get all the lines and strip the * from the first character
1338
+		if (preg_match_all('#^\s*\*(.*)#m', $comment, $lines) === false) {
1339
+			return $this->params;
1340
+		}
1341
+		$this->parseLines($lines[1]);
1342
+		return $this->params;
1343
+	}
1344
+
1345
+
1346
+	private function parseLines($lines)
1347
+	{
1348
+		foreach ($lines as $line) {
1349
+			$parsedLine = $this->parseLine($line); //Parse the line
1350
+
1351
+			if ($parsedLine === false && !isset($this->params['description'])) {
1352
+				if (isset($desc)) {
1353
+					//Store the first line in the short description
1354
+					$this->params['description'] = implode(PHP_EOL, $desc);
1355
+				}
1356
+				$desc = array();
1357
+			} else if ($parsedLine !== false) {
1358
+				$desc[] = $parsedLine; //Store the line in the long description
1359
+			}
1360
+		}
1361
+		$desc = implode(' ', $desc);
1362
+		if (!empty($desc)) {
1363
+			$this->params['long_description'] = $desc;
1364
+		}
1365
+	}
1366
+
1367
+
1368
+	private function parseLine($line)
1369
+	{
1370
+		//trim the whitespace from the line
1371
+		$line = trim($line);
1372
+
1373
+		if (empty($line)) {
1374
+			return false; //Empty line
1375
+		}
1376
+
1377
+		if (strpos($line, '@') === 0) {
1378
+			if (strpos($line, ' ') > 0) {
1379
+				//Get the parameter name
1380
+				$param = substr($line, 1, strpos($line, ' ') - 1);
1381
+				$value = substr($line, strlen($param) + 2); //Get the value
1382
+			} else {
1383
+				$param = substr($line, 1);
1384
+				$value = '';
1385
+			}
1386
+			//Parse the line and return false if the parameter is valid
1387
+			if ($this->setParam($param, $value)) {
1388
+				return false;
1389
+			}
1390
+		}
1391
+		return $line;
1392
+	}
1393
+
1394
+
1395
+	private function setParam($param, $value)
1396
+	{
1397
+		if ($param == 'param' || $param == 'return') {
1398
+			$value = $this->formatParamOrReturn($value);
1399
+		}
1400
+		if ($param == 'class') {
1401
+			list($param, $value) = $this->formatClass($value);
1402
+		}
1403
+
1404
+		if (empty($this->params[$param])) {
1405
+			$this->params[$param] = $value;
1406
+		} else if ($param == 'param') {
1407
+			$arr = array($this->params[$param], $value);
1408
+			$this->params[$param] = $arr;
1409
+		} else {
1410
+			$this->params[$param] = $value + $this->params[$param];
1411
+		}
1412
+		return true;
1413
+	}
1414
+
1415
+
1416
+	private function formatClass($value)
1417
+	{
1418
+		$r = preg_split("[\(|\)]", $value);
1419
+		if (count($r) > 1) {
1420
+			$param = $r[0];
1421
+			parse_str($r[1], $value);
1422
+			foreach ($value as $key => $val) {
1423
+				$val = explode(',', $val);
1424
+				if (count($val) > 1) {
1425
+					$value[$key] = $val;
1426
+				}
1427
+			}
1428
+		} else {
1429
+			$param = 'Unknown';
1430
+		}
1431
+		return array($param, $value);
1432
+	}
1433
+
1434
+
1435
+	private function formatParamOrReturn($string)
1436
+	{
1437
+		$pos = strpos($string, ' ');
1438
+		$type = substr($string, 0, $pos);
1439
+		return '(' . $type . ')' . substr($string, $pos + 1);
1440
+	}
1441 1441
 
1442 1442
 }
1443 1443
 
@@ -1450,30 +1450,30 @@  discard block
 block discarded – undo
1450 1450
 
1451 1451
 function parse_doc($php_doc_comment)
1452 1452
 {
1453
-    $p = new DocParser();
1454
-    return $p->parse($php_doc_comment);
1453
+	$p = new DocParser();
1454
+	return $p->parse($php_doc_comment);
1455 1455
 
1456
-    $p = new Parser($php_doc_comment);
1457
-    return $p;
1456
+	$p = new Parser($php_doc_comment);
1457
+	return $p;
1458 1458
 
1459
-    $php_doc_comment = preg_replace(
1460
-        "/(^[\\s]*\\/\\*\\*)
1459
+	$php_doc_comment = preg_replace(
1460
+		"/(^[\\s]*\\/\\*\\*)
1461 1461
         |(^[\\s]\\*\\/)
1462 1462
         |(^[\\s]*\\*?\\s)
1463 1463
         |(^[\\s]*)
1464 1464
         |(^[\\t]*)/ixm",
1465
-        "", $php_doc_comment);
1466
-    $php_doc_comment = str_replace("\r", "", $php_doc_comment);
1467
-    $php_doc_comment = preg_replace("/([\\t])+/", "\t", $php_doc_comment);
1468
-    return explode("\n", $php_doc_comment);
1469
-
1470
-    $php_doc_comment = trim(preg_replace('/\r?\n *\* */', ' ', 
1471
-            $php_doc_comment));
1472
-    return $php_doc_comment;
1473
-
1474
-    preg_match_all('/@([a-z]+)\s+(.*?)\s*(?=$|@[a-z]+\s)/s', $php_doc_comment,
1475
-        $matches);
1476
-    return array_combine($matches[1], $matches[2]);
1465
+		"", $php_doc_comment);
1466
+	$php_doc_comment = str_replace("\r", "", $php_doc_comment);
1467
+	$php_doc_comment = preg_replace("/([\\t])+/", "\t", $php_doc_comment);
1468
+	return explode("\n", $php_doc_comment);
1469
+
1470
+	$php_doc_comment = trim(preg_replace('/\r?\n *\* */', ' ', 
1471
+			$php_doc_comment));
1472
+	return $php_doc_comment;
1473
+
1474
+	preg_match_all('/@([a-z]+)\s+(.*?)\s*(?=$|@[a-z]+\s)/s', $php_doc_comment,
1475
+		$matches);
1476
+	return array_combine($matches[1], $matches[2]);
1477 1477
 }
1478 1478
 
1479 1479
 
@@ -1492,21 +1492,21 @@  discard block
 block discarded – undo
1492 1492
  */
1493 1493
 function object_to_array($object, $utf_encode = false)
1494 1494
 {
1495
-    if (is_array($object)
1496
-        || (is_object($object)
1497
-        && !($object instanceof JsonSerializable))
1498
-    ) {
1499
-        $array = array();
1500
-        foreach ($object as $key => $value) {
1501
-            $value = object_to_array($value, $utf_encode);
1502
-            if ($utf_encode && is_string($value)) {
1503
-                $value = utf8_encode($value);
1504
-            }
1505
-            $array[$key] = $value;
1506
-        }
1507
-        return $array;
1508
-    }
1509
-    return $object;
1495
+	if (is_array($object)
1496
+		|| (is_object($object)
1497
+		&& !($object instanceof JsonSerializable))
1498
+	) {
1499
+		$array = array();
1500
+		foreach ($object as $key => $value) {
1501
+			$value = object_to_array($value, $utf_encode);
1502
+			if ($utf_encode && is_string($value)) {
1503
+				$value = utf8_encode($value);
1504
+			}
1505
+			$array[$key] = $value;
1506
+		}
1507
+		return $array;
1508
+	}
1509
+	return $object;
1510 1510
 }
1511 1511
 
1512 1512
 
@@ -1516,21 +1516,21 @@  discard block
 block discarded – undo
1516 1516
  */
1517 1517
 function autoload_formats($class_name)
1518 1518
 {
1519
-    $class_name = strtolower($class_name);
1519
+	$class_name = strtolower($class_name);
1520 1520
 	
1521
-    $file = RESTLER_PATH . "../../../api/mobile_services/$class_name.php";
1522
-    if (file_exists($file)) {
1523
-        require_once ($file);
1524
-    } else {
1521
+	$file = RESTLER_PATH . "../../../api/mobile_services/$class_name.php";
1522
+	if (file_exists($file)) {
1523
+		require_once ($file);
1524
+	} else {
1525 1525
 		$file = RESTLER_PATH . "/../../api/mobile_services/$class_name.php";
1526
-        if (file_exists($file)) {
1527
-            require_once ($file);
1528
-        } elseif (file_exists(RESTLER_PATH . "/../api/mobile_services/$class_name.php")) {
1529
-            require_once ("/../api/mobile_services/$class_name.php");
1530
-        } elseif (file_exists("$class_name.php")) {
1531
-            require_once ("$class_name.php");
1532
-        }
1533
-    }
1526
+		if (file_exists($file)) {
1527
+			require_once ($file);
1528
+		} elseif (file_exists(RESTLER_PATH . "/../api/mobile_services/$class_name.php")) {
1529
+			require_once ("/../api/mobile_services/$class_name.php");
1530
+		} elseif (file_exists("$class_name.php")) {
1531
+			require_once ("$class_name.php");
1532
+		}
1533
+	}
1534 1534
 }
1535 1535
 
1536 1536
 // ==================================================================
@@ -1547,10 +1547,10 @@  discard block
 block discarded – undo
1547 1547
 if (!function_exists('isRestlerCompatibilityModeEnabled')) {
1548 1548
 
1549 1549
 
1550
-    function isRestlerCompatibilityModeEnabled()
1551
-    {
1552
-        return false;
1553
-    }
1550
+	function isRestlerCompatibilityModeEnabled()
1551
+	{
1552
+		return false;
1553
+	}
1554 1554
 
1555 1555
 }
1556 1556
 define('RESTLER_PATH', dirname(__FILE__));
Please login to merge, or discard this patch.