X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Faddons%2Fgotomasses%2Fclass_gotomasses.inc;h=dc2bb580ed7f0e843595837c1fd5797729f52536;hb=e1dbbb4a55cb759059cdd8b0f83a5ca0428b7d2a;hp=88a3e1b267762c9eb51f6cce5e1e85adb0854ab4;hpb=2dd0610553775a07cd552ccdcbbf650a18794a8c;p=gosa.git diff --git a/plugins/addons/gotomasses/class_gotomasses.inc b/plugins/addons/gotomasses/class_gotomasses.inc index 88a3e1b26..dc2bb580e 100644 --- a/plugins/addons/gotomasses/class_gotomasses.inc +++ b/plugins/addons/gotomasses/class_gotomasses.inc @@ -3,7 +3,7 @@ class gotomasses extends plugin { /* Definitions */ - var $plHeadline = "System mass deployment"; + var $plHeadline = "System deployment"; var $plDescription = "This does something"; /* attribute list for save action */ @@ -25,12 +25,10 @@ class gotomasses extends plugin /* Include config object */ $this->config= $config; - $this->load_gotomasses_data(); } - function execute() { $smarty = get_smarty(); @@ -154,7 +152,7 @@ class gotomasses extends plugin $divlist->AddHeader(array("string"=>""._("Schedule")."", "attach"=>"style='width:100px;'")); $divlist->AddHeader(array("string"=>""._("Type")."", - "attach"=>"style='width:60px;'")); + "attach"=>"style='width:80px;'")); $divlist->AddHeader(array("string"=>_("Action"), "attach"=>"style='border-right:0px;width:40px;'")); @@ -166,7 +164,7 @@ class gotomasses extends plugin } $field1 = array("string" => "
".$this->target_to_string($task)."
"); $field2 = array("string" => $this->time_to_string($task),"attach" => "style='width:100px;'"); - $field3 = array("string" => $this->action_to_string($task),"attach" => "style='width:60px;'"); + $field3 = array("string" => $this->action_to_string($task),"attach" => "style='width:80px;'"); $field4 = array("string" => $action,"attach" => "style='text-align:right;width:40px;border-right:0px;'"); $divlist->AddElement(array($field1,$field2,$field3,$field4)); } @@ -179,9 +177,15 @@ class gotomasses extends plugin function target_to_string($data) { $ret = ""; - foreach($data['Target'] as $target){ - $ret .= $target.", "; - } + if($data['Action'] == "initial_install"){ + foreach($data['Initial_Target'] as $target){ + $ret .= $target['MAC'].", "; + } + }else{ + foreach($data['Target'] as $target){ + $ret .= $target.", "; + } + } return(preg_replace("/, $/","",$ret)); } @@ -194,13 +198,11 @@ class gotomasses extends plugin function action_to_string($data) { - switch($data['Action']){ - - case 'reinstall' : return("Reinstall");break; - case 'install' : return("Install");break; - case 'reboot' : return("Restart");break; - case 'update' : return("Update");break; - default : return("Unknown"); + $tmp = $this->get_actions(); + if(isset($tmp[$data['Action']])){ + return($tmp[$data['Action']]); + }else{ + return(_("Unknown")); } } @@ -265,7 +267,17 @@ class gotomasses extends plugin $entry['Weekday'] = $parts[4]; $entry['Action'] = $parts[5]; $entry['OGroup'] = $parts[6]; - $entry['Target'] = split(",",$parts[7]); + if($entry['Action'] == "initial_install"){ + $tmp2 = split(";",$parts[7]); + foreach($tmp2 as $target){ + $tmp = split(",",$target); + $entry['Initial_Target'][] = array("MAC" => $tmp[0],"IP"=>$tmp[1],"NAME" => $tmp[2]); + } + $entry['Target'] = array(); + }else{ + $entry['Initial_Target'] = array(); + $entry['Target'] = split(";",$parts[7]); + } $entry['Comment'] = $comment; $this->tasks [] = $entry; } @@ -279,17 +291,27 @@ class gotomasses extends plugin foreach($this->tasks as $task){ $str .= "\n#".trim($task['Comment']); $str .= "\n"; - $str .= str_pad($task['Minute'] ,5," ")." "; - $str .= str_pad($task['Hour'] ,5," ")." "; - $str .= str_pad($task['Day'] ,5," ")." "; - $str .= str_pad($task['Month'] ,5," ")." "; - $str .= str_pad($task['Weekday'],5," ")." "; + if($task['Action'] == "initial_install"){ + $str .= "* * * * * "; + }else{ + $str .= str_pad($task['Minute'] ,5," ")." "; + $str .= str_pad($task['Hour'] ,5," ")." "; + $str .= str_pad($task['Day'] ,5," ")." "; + $str .= str_pad($task['Month'] ,5," ")." "; + $str .= str_pad($task['Weekday'],5," ")." "; + } $str .= str_pad($task['Action'] ,5," ")." "; $str .= str_pad($task['OGroup'] ,5," ")." "; - foreach($task['Target'] as $target){ - $str .= $target.","; + if($task['Action'] == "initial_install"){ + foreach($task['Initial_Target'] as $target){ + $str .= $target['MAC'].",".$target['IP'].",".$target['NAME'].";"; + } + }else{ + foreach($task['Target'] as $target){ + $str .= $target.";"; + } } - $str = preg_replace("/,$/","",$str); + $str = preg_replace("/;$/","",$str); } /* check file existence*/ @@ -341,12 +363,14 @@ class gotomasses extends plugin function get_actions() { /* Prepare list of available actions */ - $actions = array( "reboot" => _("Reboot"), + $actions = array( "reboot" => _("Reboot"), "localboot" => _("Localboot"), "halt" => _("Halt system"), + "initial_install" => _("Initial installation"), "update" => _("Update"), "reinstall" => _("(Re)Install"), "rescan" => _("Rescan"), + "wake" => _("Wake"), "memcheck" => _("Memory check")); return($actions); }