Code

Updated setup
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 7 Feb 2007 08:03:12 +0000 (08:03 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 7 Feb 2007 08:03:12 +0000 (08:03 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@5703 594d385d-05f5-0310-b6e9-bd551577e9d8

html/themes/default/style.css
setup/class_setupStep2.inc
setup/setup_step2.tpl

index e82fb7d8db9351e9782cbbe31c94190fb93b4751..d7fee974511ab300a2a8e72bae6f94d2dce10874 100644 (file)
@@ -788,7 +788,7 @@ body.setup_body {
        background-image: none;
        background-color: #979797;
        margin: 10px;
-       min-width:1020px;
+       min-width:920px;
 }
 
 /* The setup complete setup dialog */
@@ -846,6 +846,8 @@ div.setup_plug_header {
 /* Content col */
 div.setup_contents {
        padding: 5px;
+       max-height: 400px;
+       width:100%;
 }
 
 /* default.*/
@@ -857,13 +859,13 @@ div.default {
 /* Navigation col */
 div.setup_navigation {
        width:200px;
+       min-height:300px;
        clear:bottom;
        background-color:#E8E8E8;
        border-right: solid 1px #D0D0D0; 
        float:left ; 
        padding-left: 2px;;
        padding-right: 2px;;
-       height:90%;
 }
 
 
@@ -935,3 +937,19 @@ div.navigation_info {
        cursor: pointer;
 }
 
+
+
+/*****TEST*****/
+
+div.solution_hidden {
+       display: none;
+}
+
+div.solution_visible {
+       display: block;
+       background-color: orange;
+       background-image: url('images/personal.png');
+       border: dotted 2px red;
+       width: 296px;
+       text-align:left;
+}
index 6302833ecc174b397f1ce9b9a248869e83cfcd61..b1cc05d2e4ab342a8bf17736ed46de7d485c31b4 100644 (file)
@@ -56,80 +56,87 @@ class setup_step_2 extends setup_step
     $this->basic_checks[$i]['NAME'] =  _("Checking PHP version");
     $this->basic_checks[$i]['DESC'] =  sprintf(_("PHP must be of version %s or %s or above for some functions."),"4.3.10","5.2.0");
     $this->basic_checks[$i]['RESULT']= $this->check_php_version();
+    $this->basic_checks[$i]['SOLUTION'] = _("GOsa requires functions that may not be available in older PHP versions, just update to a supported PHP version.");
 
     /* Checking imap extension */
     $i ++;
     $this->basic_checks[$i]['NAME'] =  _("Checking for ldap module");
     $this->basic_checks[$i]['DESC'] =  _("This is the main module used by GOsa and therefore really required.");
     $this->basic_checks[$i]['RESULT']= is_callable("ldap_bind");
-
-    /* Checking for XML functions */
-    $i ++;
-    $this->basic_checks[$i]['NAME'] =  _("Checking for XML functions");
-    $this->basic_checks[$i]['DESC'] =  _("XML functions are required to parse the configuration file.");
-    $this->basic_checks[$i]['RESULT']= is_callable("xml_parser_create");
+    $this->basic_checks[$i]['SOLUTION'] = _("The ldap module (PHP4-ldap/PHP5-ldap) is required to communicate with your ldap server.");
 
     /* Check for gettext support */
     $i ++;
     $this->basic_checks[$i]['NAME'] =  _("Checking for gettext support");
     $this->basic_checks[$i]['DESC'] =  _("Gettext support is required for internationalized GOsa.");
     $this->basic_checks[$i]['RESULT']= is_callable("bindtextdomain");
+    $this->basic_checks[$i]['SOLUTION'] = _("This should be activated while compiling your PHP. (--with-gettext)");
 
     /* iconv */
     $i ++;
     $this->basic_checks[$i]['NAME'] =  _("Checking for iconv support");
     $this->basic_checks[$i]['DESC'] =  _("This module is used by GOsa to convert samba munged dial informations and is therefore required.");
     $this->basic_checks[$i]['RESULT']= is_callable("iconv");
+    $this->basic_checks[$i]['SOLUTION'] = _("his should be activated while compiling your PHP. (--with-iconv)");
 
     /**/
     $i ++;
     $this->basic_checks[$i]['NAME'] =  _("Checking for mhash module");
     $this->basic_checks[$i]['DESC'] =  _("To use SSHA encryption, you'll need this module. If you are just using crypt or md5 encryption, ignore this message. GOsa   will run without it.");
     $this->basic_checks[$i]['RESULT']= is_callable("mhash");
+    $this->basic_checks[$i]['SOLUTION'] = _("The mhash module for PHP 4/5 is not available, please install it. (php4-mhash/php5-mhash)");
 
     /**/
     $i ++;
     $this->basic_checks[$i]['NAME'] =  _("Checking for imap module");
     $this->basic_checks[$i]['DESC'] =  _("The IMAP module is needed to communicate with the IMAP server. It gets status informations, creates and deletes mail users. ");
     $this->basic_checks[$i]['RESULT']= is_callable("imap_open");
-
+    $this->basic_checks[$i]['SOLUTION'] = _("This module is used to communicate with your mail server. Please install (PHP4-imap PHP5-     imap)");
+  
     /**/
     $i ++;
     $this->basic_checks[$i]['NAME'] =  _("Checking for getacl in imap");
     $this->basic_checks[$i]['DESC'] =  _("The getacl support is needed for shared folder permissions. The standard IMAP module is not capable of reading acl's. You   need a recend PHP version for this feature.");
     $this->basic_checks[$i]['RESULT']= is_callable("imap_getacl");
+    $this->basic_checks[$i]['SOLUTION'] = _("This module is used to communicate with your mail server. Please install (PHP4-imap PHP5-     imap)");
 
     /**/
     $i ++;
     $this->basic_checks[$i]['NAME'] =  _("Checking for mysql module");
     $this->basic_checks[$i]['DESC'] =  _("MySQL support is needed for reading GOfax reports from databases.");
     $this->basic_checks[$i]['RESULT']= is_callable("mysql_query");
+    $this->basic_checks[$i]['SOLUTION'] = _("This module is required to communicate with database servers, for example phone and fax addons. Please install (PHP4-mysql PHP5-mysql)");
 
     /**/
     $i ++;
     $this->basic_checks[$i]['NAME'] =  _("Checking for kadm5 module");
     $this->basic_checks[$i]['DESC'] =  _("Managing users in kerberos requires the kadm5 module which is downloadable via PEAR network.");
     $this->basic_checks[$i]['RESULT']= is_callable("kadm5_init_with_password");
+    $this->basic_checks[$i]['SOLUTION'] = _("This module is required to manage user in kerberos, it is downloadable via PEAR network");
 
     /**/
     $i ++;
     $this->basic_checks[$i]['NAME'] =  _("Checking for snmp Module");
     $this->basic_checks[$i]['DESC'] =  _("Simple Network Management Protocol (SNMP) is required for client monitoring.");
     $this->basic_checks[$i]['RESULT']= is_callable("snmpget");
+    $this->basic_checks[$i]['SOLUTION'] = _("This module is required for client monitoring. (PHP4-snmp/PHP5-snmp)");
 
     /* Checking for Cups module */
     $i ++;
     $this->basic_checks[$i]['NAME'] =  _("Checking for cups module");
     $this->basic_checks[$i]['DESC'] =  _("In order to read available printers from IPP protocol instead of printcap files, you've to install the CUPS module.");
     $this->basic_checks[$i]['RESULT']= is_callable("cups_get_dest_list");
+    $this->basic_checks[$i]['SOLUTION'] = _("In order to read available printers from IPP protocol instead of printcap files, you've to       install the CUPS module.");
 
     /* Checking for F ping utility */
     $i ++;
     $query= "LC_ALL=C LANG=C fping -v 2>&1";
     $output= shell_exec ($query);
+
     $this->basic_checks[$i]['NAME'] =  _("Checking for fping utility");
     $this->basic_checks[$i]['DESC'] =  _("The fping utility is only used if you've got a thin client based terminal environment running.");
-    $this->basic_checks[$i]['RESULT']= preg_match("/^fping:/", $output);;
+    $this->basic_checks[$i]['RESULT']= preg_match("/^fping:/", $output);
+    $this->basic_checks[$i]['SOLUTION'] = _("The fping utility is only used in thin client based terminal environment.");
 
     /* Checking generate LM/NT password hashes */
     $i ++;
@@ -145,6 +152,8 @@ class setup_step_2 extends setup_step
     $this->basic_checks[$i]['NAME'] =  _("Password hashes");
     $this->basic_checks[$i]['DESC'] =  _("In order to use SAMBA 2/3, you've to install some additional packages to generate password hashes.");
     $this->basic_checks[$i]['RESULT']= $have_mkntpwd; 
+    $this->basic_checks[$i]['SOLUTION'] = _("In order to use samba 2/3 you've to install some additional packages to generate password
+hashes. (e.g. libmhash2)");
 
 
 
@@ -194,6 +203,15 @@ class setup_step_2 extends setup_step
     $this->config_checks[$i]['NAME'] =  _("magic_quotes_gpc")."&nbsp;<b>"._("On")."</b>";
     $this->config_checks[$i]['DESC'] =  _("Increase your server security by setting magic_quotes_gpc to 'on'. PHP will escape all quotes in strings in this case.");
     $this->config_checks[$i]['RESULT']=  ini_get('magic_quotes_gpc');
+
+
+
+
+    foreach($this->basic_checks as $key => $entry){
+      if(!isset($entry['SOLUTION'])){
+        $this->basic_checks[$key]['SOLUTION'] = "";
+      }
+    }
   }
   
 
index 4722bf1b9c41f1a420a07b1dfa0564c1e180d818..c629c31f4d7976019c933c467e192b04072a6403 100644 (file)
@@ -1,27 +1,64 @@
 <div style='float:left;'> 
        <div class='default' style='margin:10px;'>
+               &nbsp;
                <h2>{t}PHP module and extension checks{/t}</h2>
                {foreach from=$basic item=val key=key}
-                       <div class='default' style='float:left'>
+
+               <div  style='width:300px;'>
+
+                               {if $basic[$key].SOLUTION != "" && !$basic[$key].RESULT}
+                                       <div class='default' style='float:left'
+                                               onMouseOver="javascript: display_solution('sol_{$key}');"
+                                               onMouseOut="javascript: hide_solution('sol_{$key}');" >
+                               {else}
+                                       <div class='default' style='float:left'>
+                               {/if}
+
+       
                                {$basic[$key].NAME}
                        </div>
-                       <div class='default' style='text-align:right; '>
+                               {if $basic[$key].SOLUTION != "" && !$basic[$key].RESULT}
+                                       <div style='width:60px; float:left;'
+                                               onMouseOver="javascript: display_solution('sol_{$key}');"
+                                               onMouseOut="javascript: hide_solution('sol_{$key}');"></div>
+                               {else}
+                                       <div style='width:60px; float:left;'>&nbsp;</div>
+                               {/if}
+                               {if $basic[$key].SOLUTION != "" && !$basic[$key].RESULT}
+                                       <div class='default' style='float:none;text-align:right; '
+                                               onMouseOver="javascript: display_solution('sol_{$key}');"
+                                               onMouseOut="javascript: hide_solution('sol_{$key}');" >
+                               {else}
+                                       <div class='default' style='none;text-align:right; '>
+                               {/if}
                        {if $basic[$key].RESULT}
                                <font color='green'>{t}Success{/t}</font>
                        {else}
                                <font color='red'>{t}Failed{/t}</font>
+                               {if $basic[$key].SOLUTION != ""}
+                                       <div class='solution_hidden' id='sol_{$key}'>
+                                               <div style="background-image: url('images/error.png'); background-repeat: no-repeat; padding-left: 35px;">
+                                               {$basic[$key].SOLUTION}
+                                               </div>
+                                       </div>
+                               {/if}
+
                        {/if}
                        </div>
+               </div>
                {/foreach}
+
        </div>
 </div>
 <div>
        <div class='default' style='margin:10px; float:left;'>
+               &nbsp;
                <h2>{t}PHP setup configuration{/t}</h2>
                {foreach from=$config item=val key=key}
                        <div class='default' style='float:left'>
                                {$config[$key].NAME}
                        </div>
+                       <div style='width:60px; float:left;'>&nbsp;</div>
                        <div class='default' style='text-align:right; '>
                        {if $config[$key].RESULT}
                                <font color='green'>{t}Success{/t}</font>
                {/foreach}
        </div>
 </div>
+<script language='javascript'>
+{literal}
+       function display_solution(str){
+               obj = document.getElementById(str);
+               obj.className='solution_visible';
+       }
+       function hide_solution(str){
+               obj = document.getElementById(str);
+               obj.className='solution_hidden';
+       }
+
+{/literal}
+</script>