function syncResp($params)
{
    debug("incoming SYNC request");
    $lastSync = xmlrpc_decode($params->getParam(0));
    $nodeData = xmlrpc_decode($params->getParam(1));
    $objects = xmlrpc_decode($params->getParam(2));
    $neighbour = sotf_Neighbour::getById($nodeData['node_id']);
    if (!$neighbour) {
        logError("No access: you are not an allowed neighbour node!");
        return new xmlrpcresp(0, XMLRPC_ERR_NO_ACCESS, "No access: you are not an allowed neighbour node!");
    }
    $msg = checkAccess($neighbour);
    if ($msg) {
        logError($msg);
        return new xmlrpcresp(0, XMLRPC_ERR_NO_ACCESS, "No access: {$msg}!");
    }
    $retval = $neighbour->syncResponse($lastSync, $nodeData, $objects);
    // send response
    $retval = xmlrpc_encode($retval);
    return new xmlrpcresp($retval);
}
Example #2
0
}
$smarty->assign("LOCAL_NODE", $localNode->getAll());
// nodes
//$nodes = sotf_Node::countAll();
//$smarty->assign('NODES',$nodeData);
// neighbours
//$neighbours = sotf_Neighbour::listAll();
$nodes = sotf_Node::listAll();
print_r($neighbours);
while (list(, $node) = each($nodes)) {
    $nodeId = $node->get('node_id');
    if ($nodeId == $config['nodeId']) {
        continue;
    }
    $data = $node->getAll();
    $nei = sotf_Neighbour::getById($nodeId);
    if ($nei) {
        $data['neighbour'] = $nei->getAll();
    }
    $data['pending_objects'] = $db->getOne("select count(*) from sotf_object_status where node_id='{$nodeId}'");
    $data['pending_forwards'] = $db->getOne("select count(*) from sotf_to_forward where node_id='{$nodeId}'");
    $neighbors = $data['neighbours'];
    debug("X0", $data['neighbours']);
    $neighbors = str_replace("io", "<->", $neighbors);
    $neighbors = str_replace("i", "<-", $neighbors);
    $neighbors = str_replace("o", "->", $neighbors);
    $data['neighbours'] = explode(',', $neighbors);
    debug("XX", $data['neighbours']);
    $nodeData[] = $data;
}
$smarty->assign('NODES', $nodeData);
Example #3
0
*/
// sync
$sync = sotf_Utils::getParameter('sync');
if ($sync) {
    $nid = sotf_Utils::getParameter('nodeid');
    $neighbour = sotf_Neighbour::getById($nid);
    $neighbour->sync(true);
    $page->redirect("admin.php#network");
}
// delete neighbour
$deln = sotf_Utils::getParameter('delneighbour');
debug("deln", $deln);
if ($deln) {
    debug("deln", "!!");
    $nid = sotf_Utils::getParameter('nodeid');
    $neighbour = sotf_Neighbour::getById($nid);
    $neighbour->delete();
    $page->redirect("admin.php#network");
}
// manage permissions
$delperm = sotf_Utils::getParameter('delperm');
if ($delperm) {
    $username = sotf_Utils::getParameter('username');
    $userid = $user->getUserid($username);
    if (empty($userid) || !is_numeric($userid)) {
        raiseError("Invalid username: {$username}");
    }
    $permissions->delPermission('node', $userid);
    $msg = $page->getlocalizedWithParams("deleted_permissions_for", $username);
    $page->addStatusMsg($msg, false);
    $page->redirect("admin.php");