X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fsystems%2Fclass_systemManagement.inc;h=25b8bd30daa089122b8ffc09382c2e13d1f5261b;hb=e1caeaac864e3118ac900e3fc2d697bd88da1326;hp=911fbe0318fbc0d6d6df52fec068dbb53e9dea0a;hpb=439b82d99aeef6e804007bb36dcf472431a07b9f;p=gosa.git diff --git a/plugins/admin/systems/class_systemManagement.inc b/plugins/admin/systems/class_systemManagement.inc index 911fbe031..25b8bd30d 100644 --- a/plugins/admin/systems/class_systemManagement.inc +++ b/plugins/admin/systems/class_systemManagement.inc @@ -83,6 +83,9 @@ class systems extends plugin }elseif(preg_match("/user_setpwd_.*/i",$key)){ $s_action="change_pw"; $s_entry = preg_replace("/user_setpwd_/i","",$key); + }elseif(preg_match("/gen_cd_.*/i",$key)){ + $s_action="gen_cd"; + $s_entry = preg_replace("/gen_cd_/i","",$key); }elseif(preg_match("/newsystem_.*/i",$key)){ $s_action="newsystem"; $s_entry = preg_replace("/newsystem_/i","",$key); @@ -219,6 +222,91 @@ class systems extends plugin } } + /******************** + Create FAI CD ... + ********************/ + if ($s_action=="gen_cd"){ + $this->dn= $this->terminals[$s_entry]['dn']; + $_SESSION['objectinfo']= $this->dn; + return ($smarty->fetch(get_template_path('gencd.tpl', TRUE))); + } + + /* Start CD-Creation */ + if (isset($_POST["cd_create"])){ + $smarty->assign("src", "?plug=".$_GET['plug']."&PerformIsoCreation"); + return ($smarty->fetch(get_template_path('gencd_frame.tpl', TRUE))); + } + + if ($this->dn != "" && isset($_GET['PerformIsoCreation'])){ + + $return_button = "
"; + + $dsc = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w")); + + /* Get and check command */ + $command= search_config($this->config->data['TABS'], "workgeneric", "ISOCMD"); + if (check_command($command)){ + @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Execute"); + + /* Print out html introduction */ + echo ' + + +'; + + /* Open process handle and check if it is a valid process */ + $process= proc_open($command, $dsc, $pipes); + if (is_resource($process)) { + fclose($pipes[0]); + + /* Print out returned lines && write JS to scroll down each line */ + while (!feof($pipes[1])){ + $cur_dat = fgets($pipes[1], 1024); + echo $cur_dat; + echo '' ; + flush(); + } + } + + /* Get error string && close streams */ + $buffer = ""; + while (!feof($pipes[2])){ + $buffer .= fgets($pipes[2],256); + } + + fclose($pipes[1]); + fclose($pipes[2]); + echo ""; + + /* Check return code */ + $ret= proc_close($process); + if ($ret != 0){ + echo "
$buffer"; + } + + echo $return_button."