Code

Moved files
[gosa.git] / gosa-core / html / password.php
index c93410bd41a0651d899cfe96871f868affaa2c54..837b70fc27942afc3b52d3c8ade23f21bb130703 100644 (file)
@@ -1,21 +1,23 @@
 <?php
 /*
-   This code is part of GOsa (https://gosa.gonicus.de)
-   Copyright (C) 2003-2007  Cajus Pollmeier
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * This code is part of GOsa (http://www.gosa-project.org)
+ * Copyright (C) 2003-2008 GONICUS GmbH
+ *
+ * ID: $$Id$$
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
 function displayPWchanger()
@@ -36,30 +38,30 @@ if(!class_exists("log")){
 
 header("Content-type: text/html; charset=UTF-8");
 
-session_start();
+session::start();
 
 /* Destroy old session if exists.
     Else you will get your old session back, if you not logged out correctly. */
-if(is_array($_SESSION) && count($_SESSION)){
-  session_destroy();
-  session_start();
+if(is_array(session::get_all()) && count(session::get_all())){
+  session::destroy();
+  session::start();
 }
 
 /* Reset errors */
-$_SESSION['js']                 = true;
-$_SESSION['errors']             = "";
-$_SESSION['errorsAlreadyPosted']= array();
-$_SESSION['LastError']          = "";
+session::set('js',true);
+session::set('errors',"");
+session::set('errorsAlreadyPosted',array());
+session::set('LastError',"");
 
 /* Check if CONFIG_FILE is accessible */
 if (!is_readable(CONFIG_DIR."/".CONFIG_FILE)){
-  echo sprintf(_("GOsa configuration %s/%s is not readable. Aborted."), CONFIG_DIR,CONFIG_FILE);
-  exit();
+  msg_dialog::display(_("Fatal error"), sprintf(_("GOsa configuration %s/%s is not readable. Aborted."),CONFIG_DIR,CONFIG_FILE), FATAL_ERROR_DIALOG);
+  exit;
 }
 
 /* Parse configuration file */
 $config= new config(CONFIG_DIR."/".CONFIG_FILE, $BASE_DIR);
-$_SESSION['DEBUGLEVEL']= $config->data['MAIN']['DEBUGLEVEL'];
+session::set('DEBUGLEVEL',$config->data['MAIN']['DEBUGLEVEL']);
 if ($_SERVER["REQUEST_METHOD"] != "POST"){
   @DEBUG (DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, "config");
 }
@@ -73,9 +75,9 @@ if (isset ($config->data['MAIN']['COMPILE'])){
 
 /* Check for compile directory */
 if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))){
-  echo sprintf(_("Directory '%s' specified as compile directory is not accessible!"),
-        $smarty->compile_dir);
-  exit();
+  msg_dialog::display(_("Configuration error"), sprintf(_("Directory '%s' specified as compile directory is not accessible!"),
+        $smarty->compile_dir), FATAL_ERROR_DIALOG);
+  exit;
 }
 
 /* Check for old files in compile directory */
@@ -96,7 +98,7 @@ $GLOBALS['t_gettext_message_dir'] = $BASE_DIR.'/locale/';
 
 /* Set the text domain as 'messages' */
 $domain = 'messages';
-bindtextdomain($domain, "$BASE_DIR/locale");
+bindtextdomain($domain, LOCALE_DIR);
 textdomain($domain);
 
 /* Generate server list */
@@ -124,7 +126,7 @@ if (isset($_GET['directory']) && isset($servers[$_GET['directory']])){
 
 /* Set config to selected one */
 $config->set_current($directory);
-$_SESSION['config']= $config;
+session::set('config',$config);
 
 if ($_SERVER["REQUEST_METHOD"] != "POST"){
   @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $lang, "Setting language to");
@@ -158,7 +160,7 @@ if (isset($_GET['method'])){
        $tmp = new passwordMethod($config);
        $available = $tmp->get_available_methods();
        if (!isset($available[$method])){
-               echo _("Error: Password method not available!");
+    msg_dialog::display(_("Password method"),_("Error: Password method not available!"),FATAL_ERROR_DIALOG);
                exit;
        }
 }
@@ -182,8 +184,8 @@ $smarty->assign("changed", false);
 if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['apply'])){
 
   /* Destroy old sessions, they cause a successfull login to relog again ...*/
-  if(isset($_SESSION['_LAST_PAGE_REQUEST'])){
-    $_SESSION['_LAST_PAGE_REQUEST'] = time();
+  if(session::is_set('_LAST_PAGE_REQUEST')){
+    session::set('_LAST_PAGE_REQUEST',time());
   }
 
   $message= array();
@@ -195,7 +197,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['apply'])){
          $message[]= _("The passwords you've entered as 'New password' and 'Repeated new password' do not match.");
   } else {
          if ($_POST['new_password'] == ""){
-                 $message[]= _("The password you've entered as 'New password' is empty.");
+      $message[]= msgPool::required(_("New password"));
          }
   }
 
@@ -213,10 +215,10 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['apply'])){
   }
 
   /* Validate */
-  if (!ereg("^[A-Za-z0-9_.-]+$", $uid)){
-         $message[]= _("Please specify a valid username!");
+  if (!tests::is_uid($uid)){
+         $message[]= msgPool::invalid(_("Login"));
   } elseif (mb_strlen($_POST["current_password"], 'UTF-8') == 0){
-    $message[]= _("Please specify your password!");
+    $message[]= msgPool::required(_("Current password"));
   } else {
 
     /* Do we have the selected user somewhere? */
@@ -235,7 +237,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['apply'])){
   /* Do we need to show error messages? */
   if (count ($message) != 0){
          /* Show error message and continue editing */
-         show_errors($message);
+         msg_dialog::displayChecks($message);
   } else {
 
          /* Passed quality check, just try to change the password now */
@@ -249,7 +251,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['apply'])){
          }
          if ($output != ""){
                  $message[]= _("External password changer reported a problem: ".$output);
-                 show_errors($message);
+                 msg_dialog::displayChecks($message);
          } else {
                  if ($method != ""){
                          change_password ($ui->dn, $_POST['new_password'], 0, $method);
@@ -285,9 +287,10 @@ if ($ssl != "" && $config->data['MAIN']['WARNSSL'] == 'true'){
 }
 
 /* show login screen */
+$smarty->assign("JS",session::get('js'));
 $smarty->assign ("PHPSESSID", session_id());
-if (isset($_SESSION['errors'])){
-  $smarty->assign("errors", $_SESSION['errors']);
+if (session::is_set('errors')){
+  $smarty->assign("errors", session::get('errors'));;
 }
 if ($error_collector != ""){
   $smarty->assign("php_errors", $error_collector."</div>");