Example #1
0
function makeMulticall($cmds, $hash, $add, $prefix)
{
    $cmd = new rXMLRPCCommand($prefix . ".multicall", array($hash, ""));
    $cmd->addParameters(array_map("getCmd", $cmds));
    foreach ($add as $prm) {
        $cmd->addParameter($prm);
    }
    $cnt = count($cmds) + count($add);
    $req = new rXMLRPCRequest($cmd);
    if ($req->success()) {
        $result = array();
        for ($i = 0; $i < count($req->val); $i += $cnt) {
            $result[] = array_slice($req->val, $i, $cnt);
        }
        return $result;
    }
    return false;
}
Example #2
0
 public function getEventCommand($cmd1, $cmd2, $args)
 {
     if ($this->iVersion < 0x804) {
         $cmd = new rXMLRPCCommand($cmd1);
     } else {
         //		if($this->mostOfMethodsRenamed)
         //			$cmd = new rXMLRPCCommand('method.set_key','event.download.'.$cmd2);
         //		else
         $cmd = new rXMLRPCCommand('system.method.set_key', 'event.download.' . $cmd2);
     }
     $cmd->addParameters($args);
     return $cmd;
 }
Example #3
0
 public function correct()
 {
     $cmd = new rXMLRPCCommand("d.multicall", array("default", getCmd("d.get_hash=")));
     for ($i = 0; $i < MAX_RATIO; $i++) {
         $cmd->addParameters(array(getCmd("d.views.has") . "=rat_" . $i, getCmd("view.set_not_visible") . "=rat_" . $i));
     }
     $req = new rXMLRPCRequest($cmd);
     $req->setParseByTypes();
     if ($req->success()) {
         $req1 = new rXMLRPCRequest();
         foreach ($req->strings as $no => $hash) {
             for ($i = 0; $i < MAX_RATIO; $i++) {
                 if ($req->i8s[$no * MAX_RATIO * 2 + $i * 2] == 1) {
                     $req1->addCommand(new rXMLRPCCommand("view.set_visible", array($hash, "rat_" . $i)));
                 }
             }
         }
         return $req1->getCommandsCount() == 0 || $req1->success();
     }
     return false;
 }