Code

- Added other part of bug 673 patch for linux vserver
[gosa.git] / gosa-core / setup / class_setupStep_Checks.inc
index 9ae1604326422556bf219797ce7619e04c36c247..d231c4025cf63a1cfd52db8d8a744147ea35dbf3 100644 (file)
@@ -25,7 +25,7 @@ class Step_Checks extends setup_step
   var $basic_checks = array();
   var $config_checks= array();
   var $is_writeable = array();
-  var $header_image = "images/system.png";
+  var $header_image = "images/setup/system.png";
 
   function Step_Checks()
   {
@@ -124,21 +124,13 @@ class Step_Checks extends setup_step
     $M = TRUE;
     $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
 
-    /* Checking for Cups module */
-    $N = msgPool::checkingFor(_("CUPS"));
-    $D = _("GOsa requires this module to show printers that are not defined within the LDAP.");
-    $S = msgPool::installPhpModule("CUPS");
-    $R = is_callable("cups_get_dest_list");
-    $M = FALSE;
-    $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
-
     /* Checking generate LM/NT password hashes */
     #TODO: either this, or gosa-si will do the hash generation
     $query= "mkntpwd 2>&1";
     $output= shell_exec ($query);
     $have_mkntpwd= preg_match("/^Usage: mkntpwd /", $output);
     if (!$have_mkntpwd){
-      $query= 'LC_ALL=C LANG=C perl -MCrypt::SmbHash -e "print join(q[:], ntlmgen $ARGV[0]), $/;" &>/dev/null';
+      $query= 'LC_ALL=C LANG=C perl -MCrypt::SmbHash -e "print join(q[:], ntlmgen $ARGV[0]), $/;" >/dev/null';
       system ($query, $ret);
       $have_mkntpwd |= ($ret == 0);
     }
@@ -150,6 +142,37 @@ class Step_Checks extends setup_step
     $M = TRUE;
     $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
 
+    /* Read data written by convert */
+    $output= "";
+    $sh= popen("convert", 'r');
+    while (!feof($sh)){
+      $output.= fread($sh, 4096);
+    }
+    pclose($sh);
+
+    $N = msgPool::checkingFor(_("imagick"));
+    $D = _("GOsa requires this extension to handle images.");
+    $S = msgPool::installPhpModule("php5-imagick");
+
+    $IMGVER = phpversion('imagick');
+
+    if ($IMGVER > 1.0) {
+        $R = method_exists('imagick','getImageBlob');
+    }
+    else {
+        $R = is_callable("imagick_blob2image") || !empty($output);
+    }
+
+    $M = TRUE;
+    $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
+
+    $N = msgPool::checkingFor(_("compression module"));
+    $D = _("GOsa requires this extension to handle snapshots.");
+    $S = msgPool::installPhpModule("php5-zip / php5-gzip");
+    $R = is_callable("gzcompress");
+    $M = FALSE;
+    $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
+
 
     /* PHP Configuration checks */
 
@@ -241,17 +264,6 @@ class Step_Checks extends setup_step
     $M = FALSE;
     $this->is_writeable[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
 
-    /* If we have writeaccess to the config dir, check if there is already a config file */
-#    if($R){
-#
-#      /* check if there is already a config file. */
-#      $N = _("No old configuration file.");
-#      $D = "";//_("");
-#      $S = _("If there is already a configuration file, this file will be overwritten when GOsa setup finishes. Please move your old config file away.");
-#      $R =  !file_exists(CONFIG_DIR."/".CONFIG_FILE);
-#      $M = FALSE;
-#      $this->is_writeable[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
-#    }
   }