Changeset 23261
- Timestamp:
- Jun 16, 2013, 6:51:59 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/ws_core.inc.php
r22729 r23261 304 304 * @param callback mixed - php method to be invoked internally 305 305 * @param params array - map of allowed parameter names with optional default 306 * values and parameter flags. Example of $params:307 * array( 'param1' => array('default'=>523, 'flags'=>WS_PARAM_FORCE_ARRAY) ).308 * Possible parameter flags are:309 * WS_PARAM_ALLOW_ARRAY - this parameter can be an array310 * WS_PARAM_FORCE_ARRAY - if this parameter is scalar, force it to an array311 * before invoking the method306 * values and parameter flags. Example of $params: 307 * array( 'param1' => array('default'=>523, 'flags'=>WS_PARAM_FORCE_ARRAY) ). 308 * Possible parameter flags are: 309 * WS_PARAM_ALLOW_ARRAY - this parameter can be an array 310 * WS_PARAM_FORCE_ARRAY - if this parameter is scalar, force it to an array 311 * before invoking the method 312 312 * @param description string - a description of the method. 313 */ 314 function addMethod($methodName, $callback, $params=array(), $description, $include_file='') 313 * @param include_file string - a file to be included befaore the callback is executed 314 * @param options array - Available options are: 315 * hidden - if true, this method won't be visible by reflection.getMethodList 316 */ 317 function addMethod($methodName, $callback, $params=array(), $description, $include_file='', $options=array()) 315 318 { 316 319 if (!is_array($params)) … … 324 327 } 325 328 326 foreach( $params as $param=>$ options)327 { 328 if ( !is_array($ options) )329 foreach( $params as $param=>$data) 330 { 331 if ( !is_array($data) ) 329 332 { 330 333 $params[$param] = array('flags'=>0); … … 332 335 else 333 336 { 334 $flags = isset($ options['flags']) ? $options['flags'] : 0;335 if ( array_key_exists('default', $ options) )337 $flags = isset($data['flags']) ? $data['flags'] : 0; 338 if ( array_key_exists('default', $data) ) 336 339 { 337 340 $flags |= WS_PARAM_OPTIONAL; 338 341 } 339 $ options['flags'] = $flags;340 $params[$param] = $ options;342 $data['flags'] = $flags; 343 $params[$param] = $data; 341 344 } 342 345 } … … 347 350 'signature' => $params, 348 351 'include' => $include_file, 352 'options' => $options, 349 353 ); 350 354 } … … 462 466 static function ws_getMethodList($params, &$service) 463 467 { 464 return array('methods' => new PwgNamedArray( array_keys($service->_methods),'method' ) ); 468 $methods = array_filter($service->_methods, 469 create_function('$m', 'return empty($m["options"]["hidden"]) || !$m["options"]["hidden"];')); 470 return array('methods' => new PwgNamedArray( array_keys($methods),'method' ) ); 465 471 } 466 472
Note: See TracChangeset
for help on using the changeset viewer.