Code

Added schema requrements
[gosa.git] / gosa-core / html / password.php
index 3eecd2e10ed886021a0547787ca85d42616e4832..4880f71979a70960fb0a1a11a048c2858f6eb98c 100644 (file)
@@ -68,7 +68,7 @@ if (!is_readable(CONFIG_DIR."/".CONFIG_FILE)) {
 
 /* Parse configuration file */
 $config= new config(CONFIG_DIR."/".CONFIG_FILE, $BASE_DIR);
-session::global_set('DEBUGLEVEL', $config->get_cfg_value("debuglevel"));
+session::global_set('debugLevel', $config->get_cfg_value("core","debugLevel"));
 if ($_SERVER["REQUEST_METHOD"] != "POST") {
     @DEBUG(
         DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, "config"
@@ -76,17 +76,15 @@ if ($_SERVER["REQUEST_METHOD"] != "POST") {
 }
 
 /* Set template compile directory */
-$smarty->compile_dir= $config->get_cfg_value(
-    "templateCompileDirectory", '/var/spool/gosa'
-);
+$smarty->compile_dir= $config->get_cfg_value("core", "templateCompileDirectory");
 
 /* Check for compile directory */
 if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))) {
     msg_dialog::display(
         _("Configuration error"),
         sprintf(
-            _("Directory '%s' specified as compile directory is not accessible!"),
-            $smarty->compile_dir
+            _("Compile directory %s is not accessible!"),
+            bold($smarty->compile_dir)
         ),
         FATAL_ERROR_DIALOG
     );
@@ -97,10 +95,10 @@ if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))) {
 clean_smarty_compile_dir($smarty->compile_dir);
 
 /* Language setup */
-if ($config->get_cfg_value("language") == "") {
+if ($config->get_cfg_value("core","language") == "") {
     $lang= get_browser_language();
 } else {
-    $lang= $config->get_cfg_value("language");
+    $lang= $config->get_cfg_value("core","language");
 }
 $lang.=".UTF-8";
 putenv("LANGUAGE=");
@@ -128,6 +126,7 @@ if (isset($_POST['server'])) {
         $directory = key($servers);
     }
 }
+$smarty->assign ("title","GOsa");
 if (isset($_GET['directory']) && isset($servers[$_GET['directory']])) {
     $smarty->assign("show_directory_chooser", false);
     $directory= validate($_GET['directory']);
@@ -164,13 +163,13 @@ if (!isset($_SERVER['HTTPS']) ||
 }
 
 /* If SSL is forced, just forward to the SSL enabled site */
-if ($config->get_cfg_value("forcessl") == 'true' && $ssl != '') {
+if ($config->get_cfg_value("core","forceSSL") == 'true' && $ssl != '') {
     header("Location: $ssl");
     exit;
 }
 
 /* Check for selected password method */
-$method= $config->get_cfg_value("hash", "crypt/md5");
+$method= $config->get_cfg_value("core","passwordDefaultHash");
 if (isset($_GET['method'])) {
     $method= validate($_GET['method']);
     $tmp = new passwordMethod($config);
@@ -214,7 +213,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['apply'])) {
     /* Do new and repeated password fields match? */
     $new_password= $_POST['new_password'];
     if ($_POST['new_password'] != $_POST['new_password_repeated']) {
-        $message[]= _("The passwords you've entered as 'New password' and 'Repeated new password' do not match.");
+        $message[]= _("The values for 'New password' and 'Repeated new password' differ!");
     } else {
         if ($_POST['new_password'] == "") {
             $message[]= msgPool::required(_("New password"));
@@ -222,19 +221,22 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['apply'])) {
     }
 
     /* Password policy fulfilled? */
-    if ($config->get_cfg_value("passwordMinDiffer") != "") {
-        $l= $config->get_cfg_value("passwordMinDiffer");
+    if ($config->get_cfg_value("core","passwordMinDiffer") != "") {
+        $l= $config->get_cfg_value("core","passwordMinDiffer");
         if (substr($_POST['current_password'], 0, $l) ==
             substr($_POST['new_password'], 0, $l)) {
-            $message[]= _("The password used as new and current are too similar.");
+            $message[]= _("The password used as new and current are too similar!");
         }
     }
-    if ($config->get_cfg_value("passwordMinLength") != "") {
+    if ($config->get_cfg_value("core","passwordMinLength") != "") {
         if (strlen($_POST['new_password']) <
-           $config->get_cfg_value("passwordMinLength")) {
-            $message[]= _("The password used as new is to short.");
+           $config->get_cfg_value("core","passwordMinLength")) {
+            $message[]= _("The password used as new is to short!");
         }
     }
+    if(!passwordMethod::is_harmless($_POST['new_password'])){
+        $message[]= _("The password contains possibly problematic unicode characters!");
+    }
 
     /* Validate */
     if (!tests::is_uid($uid)) {
@@ -247,11 +249,11 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['apply'])) {
         $ui= ldap_login_user($uid, $current_password);
 
         if ($ui === NULL) {
-            $message[]= _("Please check the username/password combination.");
+            $message[]= _("Please check the username/password combination!");
         } else {
             $acls = $ui->get_permissions($ui->dn, "users/password");
             if (!preg_match("/w/i", $acls)) {
-                $message[]= _("You have no permissions to change your password.");
+                $message[]= _("You have no permissions to change your password!");
             }
         }
     }
@@ -264,9 +266,9 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['apply'])) {
 
         /* Passed quality check, just try to change the password now */
         $output= "";
-        if ($config->get_cfg_value("passwordHook") != "") {
+        if ($config->get_cfg_value("core","passwordHook") != "") {
             exec(
-                $config->get_cfg_value("passwordHook")." ".$ui->username." ".
+                $config->get_cfg_value("core","passwordHook")." ".$ui->username." ".
                 $_POST['current_password']." ".$_POST['new_password'],
                 $resarr
             );
@@ -308,7 +310,7 @@ $smarty->assign('uid', $uid);
 $smarty->assign('password_img', get_template_path('images/password.png'));
 
 /* Displasy SSL mode warning? */
-if ($ssl != "" && $config->get_cfg_value("warnssl") == 'true') {
+if ($ssl != "" && $config->get_cfg_value("core","warnSSL") == 'true') {
     $smarty->assign(
         "ssl",
         "<b>"._("Warning").":</b> "._("Session will not be encrypted.").