| 
									
										
										
										
											2009-07-10 20:22:59 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  | $Id$ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-27 18:47:12 +00:00
										 |  |  |   This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/) | 
					
						
							| 
									
										
										
										
											2009-07-10 20:22:59 +00:00
										 |  |  |   Copyright (C) 2009  Roland Gruber | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  | * End page of configuration. | 
					
						
							|  |  |  | * | 
					
						
							|  |  |  | * @package configuration | 
					
						
							|  |  |  | * @author Roland Gruber | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** Access to config functions */ | 
					
						
							|  |  |  | include_once("../../lib/config.inc"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** access to module settings */ | 
					
						
							|  |  |  | include_once("../../lib/modules.inc"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // start session
 | 
					
						
							|  |  |  | if (strtolower(session_module_name()) == 'files') { | 
					
						
							|  |  |  | 	session_save_path("../../sess"); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | @session_start(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | setlanguage(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // get password
 | 
					
						
							|  |  |  | if (isset($_POST['passwd'])) $passwd = $_POST['passwd']; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // check if password was entered
 | 
					
						
							|  |  |  | // if not: load login page
 | 
					
						
							|  |  |  | if (!isset($passwd) && !isset($_SESSION['conf_isAuthenticated'])) { | 
					
						
							|  |  |  | 	$_SESSION['conf_message'] = _("No password was entered!"); | 
					
						
							|  |  |  | 	/** go back to login if password is empty */ | 
					
						
							|  |  |  | 	require('conflogin.php'); | 
					
						
							|  |  |  | 	exit; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if (!isset($_SESSION['conf_config']) && isset($_POST['filename'])) { | 
					
						
							|  |  |  | 	$_SESSION['conf_config'] = new LAMConfig($_POST['filename']); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | $conf = &$_SESSION['conf_config']; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // check if password is valid
 | 
					
						
							|  |  |  | // if not: load login page
 | 
					
						
							|  |  |  | if ((!isset($_SESSION['conf_isAuthenticated']) || !($_SESSION['conf_isAuthenticated'] === $conf->getName())) && !$conf->check_Passwd($passwd)) { | 
					
						
							|  |  |  | 	$sessionKeys = array_keys($_SESSION); | 
					
						
							|  |  |  | 	for ($i = 0; $i < sizeof($sessionKeys); $i++) { | 
					
						
							|  |  |  | 		if (substr($sessionKeys[$i], 0, 5) == "conf_") unset($_SESSION[$sessionKeys[$i]]); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	$_SESSION['conf_message'] = _("The password is invalid! Please try again."); | 
					
						
							|  |  |  | 	/** go back to login if password is invalid */ | 
					
						
							|  |  |  | 	require('conflogin.php'); | 
					
						
							|  |  |  | 	exit; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | $_SESSION['conf_isAuthenticated'] = $conf->getName(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-28 13:45:34 +00:00
										 |  |  | $result = $conf->save(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-10 20:22:59 +00:00
										 |  |  | // remove settings from session
 | 
					
						
							|  |  |  | $sessionKeys = array_keys($_SESSION); | 
					
						
							|  |  |  | for ($i = 0; $i < sizeof($sessionKeys); $i++) { | 
					
						
							|  |  |  | 	if (substr($sessionKeys[$i], 0, 5) == "conf_") unset($_SESSION[$sessionKeys[$i]]); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2010-05-28 13:45:34 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | if ($result === LAMConfig::SAVE_OK) { | 
					
						
							|  |  |  | 	metaRefresh('../login.php?configSaveOk=1&configSaveFile=' . $conf->getPath()); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | else { | 
					
						
							|  |  |  | 	metaRefresh('../login.php?configSaveFailed=1&configSaveFile=' . $conf->getPath()); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2009-07-10 20:22:59 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ?>
 |