/** * Constructor. Register methods and run Server */ function dokuwiki_xmlrpc_server() { $this->remote = new RemoteAPI(); $this->remote->setDateTransformation(array($this, 'toDate')); $this->remote->setFileTransformation(array($this, 'toFile')); parent::__construct(); }
/** * Constructor. Register methods and run Server */ public function __construct() { $this->remote = new RemoteAPI(); $this->remote->setDateTransformation(array($this, 'toDate')); $this->remote->setFileTransformation(array($this, 'toFile')); parent::__construct(); }
function call($methodname, $args) { // Make sure it's in an array if ($args && !is_array($args)) { $args = array($args); } // Over-rides default call method, adds signature check if (!$this->hasMethod($methodname)) { return new IXR_Error(-32601, 'server error. requested method "' . $this->message->methodName . '" not specified.'); } $method = $this->callbacks[$methodname]; $signature = $this->signatures[$methodname]; $returnType = array_shift($signature); // Check the number of arguments if (count($args) != count($signature)) { return new IXR_Error(-32602, 'server error. wrong number of method parameters'); } // Check the argument types $ok = true; $argsbackup = $args; for ($i = 0, $j = count($args); $i < $j; $i++) { $arg = array_shift($args); $type = array_shift($signature); switch ($type) { case 'int': case 'i4': if (is_array($arg) || !is_int($arg)) { $ok = false; } break; case 'base64': case 'string': if (!is_string($arg)) { $ok = false; } break; case 'boolean': if ($arg !== false && $arg !== true) { $ok = false; } break; case 'float': case 'double': if (!is_float($arg)) { $ok = false; } break; case 'date': case 'dateTime.iso8601': if (!is_a($arg, 'IXR_Date')) { $ok = false; } break; } if (!$ok) { return new IXR_Error(-32602, 'server error. invalid method parameters'); } } // It passed the test - run the "real" method call return parent::call($methodname, $argsbackup); }
function serve($data = false) { parent::serve($data); }
/** * Register service and construct helper */ function __construct() { /** @var helper_plugin_blogtng_linkback tools */ $this->tools = plugin_load('helper', 'blogtng_linkback'); parent::__construct(array('pingback.ping' => 'this:ping')); }
/** * Constructor. Defines the API and starts the server * * In the constructor, the API for the server is defined * by placing method names inside the method array. These * methods must then be defined later in this class. See * the format of the method for clues on how to add more. */ public function __construct() { $this->methods = array('jobs.getMachines' => 'this:jobs_getMachines', 'jobs.getAllPlugins' => 'this:jobs_getAllPlugins', 'jobs.getProfilePlugins' => 'this:jobs_getProfilePlugins', 'jobs.getProfileSettings' => 'this:jobs_getProfileSettings', 'jobs.getPendingProfileIds' => 'this:jobs_getPendingProfileIds', 'jobs.getStatus' => 'this:jobs_getStatus', 'jobs.getCancel' => 'this:jobs_getCancel', 'jobs.getCountRunning' => 'this:jobs_getCountRunning', 'jobs.getPluginsBySeverity' => 'this:jobs_getPluginsBySeverity', 'jobs.getPluginsByFamily' => 'this:jobs_getPluginsByFamily', 'jobs.getSpecialProfileItems' => 'this:jobs_getSpecialProfileItems', 'jobs.setResetCancel' => 'this:jobs_setResetCancel', 'jobs.setProgress' => 'this:jobs_setProgress', 'jobs.setStatus' => 'this:jobs_setStatus', 'jobs.setFinishedDate' => 'this:jobs_setFinishedDate', 'jobs.saveReport' => 'this:jobs_saveReport', 'jobs.emailResults' => 'this:jobs_emailResults', 'jobs.addExemption' => 'this:jobs_addExemption'); parent::__construct($this->methods); }
/** * Register service and construct helper */ function PingbackServer() { $this->tools =& plugin_load('helper', 'blogtng_linkback'); parent::__construct(array('pingback.ping' => 'this:ping')); }