Code

Cache results from get_module_departments.
[gosa.git] / setup / class_setupStep_Config1.inc
index 91bf20f8d938b54cc84e27e9e6f8c0e4e395182a..1087b6a2b18af2da7ebc52cb32659aba184de84c 100644 (file)
@@ -27,32 +27,42 @@ class Step_Config1 extends setup_step
   var $groupou    =  "ou=groups";
   var $peopledn   = "cn";
   var $uidbase    = 1000;
-  var $header_image = "images/ldapserver.png";
+  var $krbsasl    = FALSE;
+  var $strict     = TRUE;
+  var $compressed = TRUE;
 
-  var $base_hook         = "/usr/bin/sudo myscript"; 
+  var $header_image = "images/ldapserver.png";
+  var $account_expiration  =FALSE;
+  var $base_hook         = ""; 
   var $base_hook_active  = FALSE; 
 
   var $encryption = "crypt";
   var $theme      = "default"; 
-  var $errorlvl   = FALSE;
+
+  var $include_personal_title = FALSE;
 
   var $pwd_rules  = array("pwminlen" => 6, 
                           "pwminlen_active" => FALSE,
                           "pwdiffer" => 5,
                           "pwdiffer_active" => FALSE,
-                          "externalpwdhook" => "/path/to/your/script username oldpassword newpassword",
+                          "externalpwdhook" => "",
                           "externalpwdhook_active" => FALSE);
 
+  var $id_settings = array(       "idgen"         => "{%sn}-{%givenName[2-4]}",
+                                  "idgen_active"  => FALSE,
+                                  "minid"         => "100",
+                                  "minid_active"  => FALSE);
+
   var $crypt_methods  = array();
 
-  var $attributes = array("peopleou","groupou","peopledn","uidbase","encryption","theme","errorlvl",
-                          "base_hook","base_hook_active");
+  var $attributes = array("compressed","peopleou","groupou","peopledn","uidbase","encryption","theme","krbsasl",
+                          "base_hook","base_hook_active","account_expiration","strict","include_personal_title");
 
   function Step_Config1()
   {
     $this->update_strings();
 
-    $tmp = @passwordMethod::get_available_methods_if_not_loaded();
+    $tmp = @passwordMethod::get_available_methods();
     foreach($tmp['name'] as $name){
       $this->crypt_methods[$name] = $name;
     }
@@ -71,6 +81,7 @@ class Step_Config1 extends setup_step
   {
     $smarty = get_smarty();
     $smarty->assign("peopledns",array("uid","cn"));
+    $smarty->assign("id_settings",$this->id_settings);
     $smarty->assign("crypt_methods",$this->crypt_methods);
     $smarty->assign("themes",$this->get_themes());
     $smarty->assign("pwd_rules",$this->pwd_rules);
@@ -78,6 +89,11 @@ class Step_Config1 extends setup_step
     foreach($this->attributes as $attr){
       $smarty->assign($attr,$this->$attr);
     }
+
+    /* !!! Attention strict is inverse. If you change this, 
+     *  don't forget to change save_object too 
+     */
+    $smarty->assign("strict",!$this->strict);
     return($smarty -> fetch (get_template_path("../setup/setup_config1.tpl")));
   }
 
@@ -98,6 +114,10 @@ class Step_Config1 extends setup_step
   {
     $message = array();
 
+    if(isset($this->id_settings['minid_active']) && !is_numeric($this->id_settings['minid'])){
+      $message[] = sprintf(_("The specified value for '%s' must be a numeric value"),_("GID / UID min id"));
+    }
+
     if(preg_match("/,$/",$this->peopleou)){
       $message[] =sprintf(_("Don't add a trailing comma to '%s'."),_("People storage ou"));
     }
@@ -126,15 +146,45 @@ class Step_Config1 extends setup_step
       /* Get attributes */
       foreach($this->attributes as $attr){
         if(isset($_POST[$attr])){
-          $this->$attr = validate($_POST[$attr]);
+          $this->$attr = validate(get_post($attr));
+        }
+      }
+
+      /* !!! Attention strict is inverse. If you change this, 
+       *  don't forget to change the smarty assignment too 
+       */
+      if(isset($_POST['strict'])){
+        if($_POST['strict']){
+          $this->strict = FALSE;
+        }else{
+          $this->strict = TRUE;
         }
       }
 
+      if(isset($_POST['minid_active'])){
+        $this->id_settings['minid_active'] = TRUE;
+        if(isset($_POST['minid'])){
+          $this->id_settings['minid'] = get_post('minid');
+        }
+      }else{
+        $this->id_settings['minid_active'] = FALSE;
+      }
+
+      /* Generic settings */
+      if(isset($_POST['idgen_active'])){
+        $this->id_settings['idgen_active'] = TRUE;
+        if(isset($_POST['idgen'])){
+          $this->id_settings['idgen'] = get_post('idgen');
+        }
+      }else{
+        $this->id_settings['idgen_active'] = FALSE;
+      }
+
       /* Get password settings */ 
       if(isset($_POST['pwdiffer_active'])){
         $this->pwd_rules['pwdiffer_active'] = TRUE;
         if(isset($_POST['pwdiffer'])){
-          $this->pwd_rules['pwdiffer'] = $_POST['pwdiffer'];
+          $this->pwd_rules['pwdiffer'] = get_post('pwdiffer');
         }
       }else{
         $this->pwd_rules['pwdiffer_active'] = FALSE;
@@ -144,7 +194,7 @@ class Step_Config1 extends setup_step
       if(isset($_POST['pwminlen_active'])){
         $this->pwd_rules['pwminlen_active'] = TRUE;
         if(isset($_POST['pwminlen'])){
-          $this->pwd_rules['pwminlen'] = $_POST['pwminlen'];
+          $this->pwd_rules['pwminlen'] = get_post('pwminlen');
         }
       }else{
         $this->pwd_rules['pwminlen_active'] = FALSE;
@@ -154,7 +204,7 @@ class Step_Config1 extends setup_step
       if(isset($_POST['externalpwdhook_active'])){
         $this->pwd_rules['externalpwdhook_active'] = TRUE;
         if(isset($_POST['externalpwdhook'])){
-          $this->pwd_rules['externalpwdhook'] = $_POST['externalpwdhook'];
+          $this->pwd_rules['externalpwdhook'] = get_post('externalpwdhook');
         }
       }else{
         $this->pwd_rules['externalpwdhook_active'] = FALSE;
@@ -164,7 +214,7 @@ class Step_Config1 extends setup_step
       if(isset($_POST['base_hook_active'])){
         $this->pwd_rules['base_hook_active'] = TRUE;
         if(isset($_POST['base_hook'])){
-          $this->pwd_rules['base_hook'] = $_POST['base_hook'];
+          $this->pwd_rules['base_hook'] = get_post('base_hook');
         }
       }else{
         $this->pwd_rules['base_hook_active'] = FALSE;
@@ -184,7 +234,7 @@ class Step_Config1 extends setup_step
   function get_attributes()
   {
     $tmp = setup_step::get_attributes();
-    foreach(array("pwd_rules") as $attr){
+    foreach(array("pwd_rules","id_settings") as $attr){
       $tmp[$attr]= $this->$attr;
     }
     return($tmp);