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); }
} $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);
*/ // 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");