X-Git-Url: http://git.pjr.cc/?p=glcas.git;a=blobdiff_plain;f=plugins%2Fhosts.php;fp=plugins%2Fhosts.php;h=eb93989795df1cc96125aa20f833eb41ea0ff652;hp=f2e8e44b26c9c92efda261e1dae2ade0b0c408c0;hb=e45207eb04184d0ee4c7f7b77bbe74b599c1a003;hpb=28961382f5b6b9d0b97408af8bcce52fe214db22
diff --git a/plugins/hosts.php b/plugins/hosts.php
index f2e8e44..eb93989 100644
--- a/plugins/hosts.php
+++ b/plugins/hosts.php
@@ -49,34 +49,83 @@ class GLCASHosts {
}
+
+ // TODO: this whole function wont work correctly
+ // once we move to hosts being in multiple groups..
function doOperation($url)
{
$operation = $_REQUEST["operation"];
$groupop = $_REQUEST["groupop"];
$hosts = $this->config->getData("hosts");
$groups = $this->config->getData("hostgroups");
+ $nogroup = false;
+ $hosts_to_do = null;
+ $nhosts = 0;
+ $groups_to_do = null;
+ $ngroups = 0;
// first check if nogroup is selected
if(isset($_REQUEST["nonegroup-selected"])) {
- echo "nonegroup operation
";
+ //echo "nonegroup operation
";
+ $nogroup = true;
+ }
+
+ foreach($groups as $key=>$val) {
+ $grpname = $val["category"];
+ if(isset($_REQUEST["$grpname-selectgroup"])) {
+ $group_to_do[$ngroups++] = $grpname;
+
+ }
}
foreach($hosts as $key=>$val) {
+ $dohost = false;
$hname = $val["category"];
+ // this bits annoying TODO: find out why this happens
+ $thname = preg_replace("/\./", "_", $hname);
$hip = $val["name"];
$hg = $val["val"];
- if(isset($_REQUEST["$hname-selecthost"])) {
- echo "Select host, $hname true
";
+
+ echo "
Checking $hname, $hip, $hg
";
+
+ // check if no group is on
+ if($nogroup && $hg == "") {
+ //echo "Set doing true on nogroup
";
+ $dohost = true;
}
- }
-
- foreach($groups as $key=>$val) {
- $grpname = $val["category"];
- if(isset($_REQUEST["$grpname-selectgroup"])) {
- echo "Select group, $grpname true
";
+
+ // check if host was in a group selected
+ if($group_to_do !== null) foreach($group_to_do as $dothese) {
+ if($hg == $dothese) $dohost = true;
+ }
+
+ // directly selected hosts
+ if(isset($_REQUEST["$thname-selecthost"])) {
+ //echo "add host $hname
";
+ $dohost = true;
+ }
+
+ // now do the op
+ if($dohost) {
+ if($operation == "move") {
+ $this->config->delData("hosts", "$hname", "$hip", "$hg");
+ $this->config->addData("hosts", "$hname", "$hip", "$groupop");
+ }
+ if($operation == "delete") {
+ $this->config->delData("hosts", "$hname", "$hip", "$hg");
+ }
}
}
+ /*echo "total to do:
"; + print_r($hosts_to_do); + print_r($_REQUEST); + echo "";*/ + + global $WEB_ROOT_FS, $URL_HANDLERS, $BASE_URL; + header("Location: $BASE_URL/hosts"); + + } function deleteGroup($url) @@ -109,37 +158,19 @@ class GLCASHosts { } // we just assume class c atm - $ips_v = explode(".", $iprange); - - $ips = $ips_v[0].".".$ips_v[1].".".$ips_v[2]; - - for($i = 1; $i < 32; $i++) { - $hostname = ""; - $ips_me = "$ips.$i"; - echo "Scanning $ips_me