Example #1
0
if ($node['nsenabled'] != 1) {
    echo "Nodeside Disabled for Node";
    exit;
}
if ($node['nspushenabled'] != 1) {
    echo "Nodeside Push Disabled for Node";
    exit;
}
if ($node['nspuship'] != "" && $node['nspuship'] != $remoteip) {
    echo "Remote IP Not Allowed for Push";
    exit;
}
if ($node['nskey'] != "" && $node['nskey'] != $nodekey) {
    echo "Nodekey Failure";
    exit;
}
// Got here so ok!
$xmlobj = new TNodeXML();
$xmlobj->Parse($xml);
if ($xmlobj->Error() != "") {
    echo "XML Error: " . $xmlobj->Error();
    exit;
}
$eventdata = array("nodeid" => $nodeid);
$NATS->EventHandler("nodeside_push", $eventdata);
$NATS->Nodeside_Process($nodeid, $xmlobj);
$uq = "UPDATE fnnode SET nsfreshpush=1,nslastx=" . time() . " WHERE nodeid=\"" . ss($nodeid) . "\"";
$NATS->DB->Query($uq);
echo "1";
$NATS->Stop();
exit;
Example #2
0
 function NodeSide_Pull($nodeid)
 {
     $eventdata = array("nodeid" => $nodeid, "success" => false);
     $q = "SELECT nsenabled,nspullenabled,nsurl,nskey,nsinterval FROM fnnode WHERE nodeid=\"" . ss($nodeid) . "\" LIMIT 0,1";
     $r = $this->DB->Query($q);
     if (!($row = $this->DB->Fetch_Array($r))) {
         return false;
     }
     $this->DB->Free($r);
     $url = $row['nsurl'];
     if ($row['nskey'] != "") {
         $url .= "?nodekey=" . $row['nskey'];
     }
     //echo $url."\n";
     $this->Event("NodeSide_Pull Started for " . $nodeid, 10, "Node", "Pull");
     $xmlobj = new TNodeXML();
     $fp = @fopen($url, "r");
     if ($fp <= 0) {
         $this->Event("Pull Failed URL " . $url, 1, "Node", "Pull");
         $this->EventHandler("nodeside_pull", $eventdata);
         return false;
     }
     $xml = "";
     while (!feof($fp)) {
         $xml .= fgets($fp, 4096);
     }
     if ($xml == "") {
         $this->EventHandler("nodeside_pull", $eventdata);
         return false;
     }
     //echo $xml;
     $result = $xmlobj->Parse($xml);
     if ($xmlobj->Error() != "") {
         $this->Event("NodeXML Error: " . $xmlobj->Error(), 1, "Node", "Pull");
         $this->EventHandler("nodeside_pull", $eventdata);
         return false;
     }
     $this->Event("NodeSide_Pull Fetched " . $xmlobj->Tests . " tests for " . $nodeid, 10, "Node", "Pull");
     // Now just to actually process it...
     $eventdata['success'] = true;
     $this->EventHandler("nodeside_pull", $eventdata);
     $this->NodeSide_Process($nodeid, $xmlobj);
     return true;
 }