Example #1
0
 /**
  * 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();
 }
Example #2
0
 /**
  * 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();
 }
Example #3
0
 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);
 }
Example #5
0
 /**
  * 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'));
 }
Example #6
0
 /**
  * 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);
 }
Example #7
0
 /**
  * Register service and construct helper
  */
 function PingbackServer()
 {
     $this->tools =& plugin_load('helper', 'blogtng_linkback');
     parent::__construct(array('pingback.ping' => 'this:ping'));
 }