File: 0.01.2a/web/node.edit.php (View as Code)

1: 2: ob_start(); 3: require("include.php"); 4: $NATS->Start(); 5: if (!$NATS_Session->Check($NATS->DB)) 6: { 7: header("Location: ./?login_msg=Invalid+Or+Expired+Session"); 8: exit(); 9: } 10: if ($NATS_Session->userlevel<5) UL_Error("Edit Node"); 11: ob_end_flush(); 12: Screen_Header("Node Editor",1); 13: ?> 14:
15: 16: if (isset($_REQUEST['action'])) 17: { 18: if ($_REQUEST['action']=="save_edit") 19: { 20: if (isset($_REQUEST['nodeenabled'])) $nodeenabled=1; 21: else $nodeenabled=0; 22: if (isset($_REQUEST['pingtest'])) $pingtest=1; 23: else $pingtest=0; 24: if (isset($_REQUEST['pingfatal'])) $pingfatal=1; 25: else $pingfatal=0; 26: 27: $q="UPDATE fnnode SET "; 28: $q.="nodename=\"".ss($_REQUEST['nodename'])."\","; 29: $q.="nodedesc=\"".ss($_REQUEST['nodedesc'])."\","; 30: $q.="nodeicon=\"".ss($_REQUEST['nodeicon'])."\","; 31: $q.="nodeenabled=".ss($nodeenabled).",pingtest=".ss($pingtest).",pingfatal=".ss($pingfatal).","; 32: $q.="hostname=\"".ss($_REQUEST['hostname'])."\""; 33: 34: $q.=" WHERE nodeid=\"".ss($_REQUEST['nodeid'])."\""; 35: 36: $NATS->DB->Query($q); 37: 38: if ($NATS->DB->Affected_Rows()<=0) echo "Failed to Save Changes
";
39: else echo "Saved Changes
";
40: } 41: else if ($_REQUEST['action']=="save_actions") 42: { 43: // build the two lists... 44: $cur=array(); 45: $cc=0; 46: $nl=array(); 47: $nc=0; 48: 49: foreach($_REQUEST['links'] as $link) 50: { 51: $nl[$link]['proc']=false; // not processed or existing i.e. outstanding 52: $nl[$link]['aaid']=$link; 53: $nc++; 54: } 55: 56: $q="SELECT nalid,aaid FROM fnnalink WHERE nodeid=\"".ss($_REQUEST['nodeid'])."\""; 57: $r=$NATS->DB->Query($q); 58: while ($row=$NATS->DB->Fetch_Array($r)) 59: { 60: //echo $row['aaid'].":"; 61: $cur[$row['aaid']]['proc']=false; 62: $cur[$row['aaid']]['nalid']=$row['nalid']; 63: $cur[$row['aaid']]['aaid']=$row['aaid']; 64: $cc++; 65: } 66: 67: // now we have the two lists lets process them 68: foreach($nl as $newone) 69: { 70: if (isset($cur[$newone['aaid']])) // exists - do nothing to both 71: { 72: //echo "
".$newone['aaid'].":";
73: $cur[$newone['aaid']]['proc']=true; 74: $nl[$newone['aaid']]['proc']=true; 75: } 76: // otherwise news are left false to insert and curs false to delete 77: } 78: 79: // so lets do that 80: foreach($nl as $newone) 81: { 82: if ($newone['proc']==false) 83: { 84: //echo $q; 85: $q="INSERT INTO fnnalink(aaid,nodeid) VALUES(".ss($newone['aaid']).",\"".ss($_REQUEST['nodeid'])."\")"; 86: $NATS->DB->Query($q); 87: } 88: } 89: foreach($cur as $curone) 90: { 91: if ($curone['proc']==false) 92: { 93: $q="DELETE FROM fnnalink WHERE nalid=".$curone['nalid']; 94: $NATS->DB->Query($q); 95: //echo $q; 96: } 97: } 98: 99: echo "Saved Alert List Preferences
";
100: 101: 102: } 103: 104: } 105: 106: 107: 108: echo "Editing Node: ".$_REQUEST['nodeid']."

";
109: 110: $q="SELECT * FROM fnnode WHERE nodeid=\"".ss($_REQUEST['nodeid'])."\" LIMIT 0,1"; 111: $r=$NATS->DB->Query($q); 112: if (!$row=$NATS->DB->Fetch_Array($r)) 113: { 114: echo "No such node.

";
115: Screen_Footer(); 116: exit(); 117: } 118: $NATS->DB->Free($r); 119: 120: echo ""; 121: echo "
";
122: echo ""; 123: echo ""; 124: echo ""; 125: 126: echo ""; 131: 132: echo ""; 137: 138: echo ""; 143: 144: echo ""; 149: 150: echo ""; 160: 161: echo ""; 168: 169: echo ""; 176: 177: echo ""; 184: 185: echo ""; 189: echo ""; 190: 191: if (isset($_REQUEST['show_icons'])) 192: { 193: echo ""; 196: } 197: 198: 199: echo ""; 200: 201: $q="SELECT * FROM fnlocaltest WHERE nodeid=\"".ss($_REQUEST['nodeid'])."\" AND testtype!=\"ICMP\""; 202: $r=$NATS->DB->Query($q); 203: while ($row=$NATS->DB->Fetch_Array($r)) 204: { 205: echo ""; 213: 214: echo ""; 219: } 220: 221: echo "
";
222: echo "\n"; 223: echo ""; 224: echo ""; 225: echo ""; 231: 232: 233: echo "
Node Settings

127: NodeID 128: :"; 129: echo $row['nodeid']; 130: echo "
133: Node Name 134: :"; 135: echo ""; 136: echo "
139: Hostname 140: :"; 141: echo ""; 142: echo "
145: Description 146: :"; 147: echo ""; 148: echo "
151: Node Icon 152: :"; 153: echo " [ Show Icons ]"; 159: echo "
162: Enabled 163: :"; 164: if ($row['nodeenabled']==1) $s=" checked"; 165: else $s=""; 166: echo ""; 167: echo "
170: Ping Test 171: :"; 172: if ($row['pingtest']==1) $s=" checked"; 173: else $s=""; 174: echo ""; 175: echo "
178: Require Ping 179: :"; 180: if ($row['pingfatal']==1) $s=" checked"; 181: else $s=""; 182: echo ""; 183: echo "
"; 186: echo " Cancel Changes"; 187: echo "

";
188: echo "


"; 194: ShowIcons(); 195: echo "


Node Tests

"; 206: 207: echo ""; 208: if (strlen($row['testparam'])>10) $tp=substr($row['testparam'],0,8).".."; 209: else $tp=$row['testparam']; 210: echo lText($row['testtype'])." (".$tp.")"; 211: echo ""; 212: echo "Edit | "; 215: echo "Delete"; 216: 217: echo "  Last Tested: ".dtago($row['lastrunx']).""; 218: echo "
 
Add Test : "; 229: echo ""; 230: echo "
";
234: 235: echo "

Alert Actions

";
236: echo ""; 237: echo ""; 238: echo ""; 239: $q="SELECT aaid,aname FROM fnalertaction"; 240: $r=$NATS->DB->Query($q); 241: $c=0; 242: while ($row=$NATS->DB->Fetch_Array($r)) 243: { 244: // has link? 245: $lq="SELECT nalid FROM fnnalink WHERE nodeid=\"".ss($_REQUEST['nodeid'])."\" AND aaid=".ss($row['aaid'])." LIMIT 0,1"; 246: $lr=$NATS->DB->Query($lq); 247: if ($NATS->DB->Num_Rows($lr)>0) $s=" checked"; 248: else $s=""; 249: $NATS->DB->Free($lr); 250: echo ""; 252: } 253: $NATS->DB->Free($r); 254: echo ""; 255: echo "
"; 251: echo "".$row['aaid']." - ".$row['aname']."
";
256: ?> 257: 258: 259: 260: Screen_Footer(); 261: ?> 262: