refactoring
This commit is contained in:
		
							parent
							
								
									f862f9bd8e
								
							
						
					
					
						commit
						772b9c3127
					
				|  | @ -143,6 +143,39 @@ function getConfigProfiles() { | ||||||
| 	return $ret; | 	return $ret; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | /** | ||||||
|  |  * Creates a new server profile. | ||||||
|  |  *  | ||||||
|  |  * @param String $name profile name | ||||||
|  |  * @param String $password profile password | ||||||
|  |  * @param String $template name of template file | ||||||
|  |  * @return mixed Boolean TRUE if creation was ok, error message if not | ||||||
|  |  */ | ||||||
|  | function createConfigProfile($name, $password, $template) { | ||||||
|  | 	if (!preg_match("/^[a-z0-9_-]+$/i", $name) || !preg_match("/^[a-z0-9\\._-]+$/i", $template) || in_array($name, getConfigProfiles())) { | ||||||
|  | 		return _("Profile name is invalid!"); | ||||||
|  | 	} | ||||||
|  | 	// check if template exists
 | ||||||
|  | 	if (!is_file("../../config/" . $template)) { | ||||||
|  | 		return "The file config/$template was not found. Please restore it.";				 | ||||||
|  | 	} | ||||||
|  | 	// create new profile file
 | ||||||
|  | 	$path = "../../config/" . $name . ".conf"; | ||||||
|  | 	@copy("../../config/$template", $path); | ||||||
|  | 	@chmod ($path, 0600); | ||||||
|  | 	$file = is_file($path); | ||||||
|  | 	if ($file) { | ||||||
|  | 		// load as config and write new password
 | ||||||
|  | 		$conf = new LAMConfig($name); | ||||||
|  | 		$conf->set_Passwd($password); | ||||||
|  | 		$conf->save(); | ||||||
|  | 	} | ||||||
|  | 	else { | ||||||
|  | 		return _("Unable to create new profile!"); | ||||||
|  | 	} | ||||||
|  | 	return true; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| /** | /** | ||||||
|  * Deletes the given server profile. |  * Deletes the given server profile. | ||||||
|  *  |  *  | ||||||
|  |  | ||||||
|  | @ -55,37 +55,23 @@ if (isset($_POST['action'])) { | ||||||
| 	} | 	} | ||||||
| 	// add new profile
 | 	// add new profile
 | ||||||
| 	elseif ($_POST['action'] == "add") { | 	elseif ($_POST['action'] == "add") { | ||||||
| 		if (preg_match("/^[a-z0-9_-]+$/i", $_POST['addprofile']) && !in_array($_POST['addprofile'], getConfigProfiles())) { |  | ||||||
| 		// check profile password
 | 		// check profile password
 | ||||||
| 		if ($_POST['addpassword'] && $_POST['addpassword2'] && ($_POST['addpassword'] == $_POST['addpassword2'])) { | 		if ($_POST['addpassword'] && $_POST['addpassword2'] && ($_POST['addpassword'] == $_POST['addpassword2'])) { | ||||||
| 				// check if lam.conf.sample exists
 | 			$result = createConfigProfile($_POST['addprofile'], $_POST['addpassword'], 'lam.conf.sample'); | ||||||
| 				if (!is_file("../../config/lam.conf.sample")) { | 			if ($result === true) { | ||||||
| 					$error = "The file config/lam.conf.sample was not found. Please restore it.";				 |  | ||||||
| 				} |  | ||||||
| 				else { |  | ||||||
| 					// create new profile file
 |  | ||||||
| 					@copy("../../config/lam.conf.sample", "../../config/" . $_POST['addprofile'] . ".conf"); |  | ||||||
| 					@chmod ("../../config/" . $_POST['addprofile'] . ".conf", 0600); |  | ||||||
| 					$file = is_file("../../config/" . $_POST['addprofile'] . ".conf"); |  | ||||||
| 					if ($file) { |  | ||||||
| 						// load as config and write new password
 |  | ||||||
| 						$conf = new LAMConfig($_POST['addprofile']); |  | ||||||
| 						$conf->set_Passwd($_POST['addpassword']); |  | ||||||
| 						$conf->save(); |  | ||||||
| 				$_SESSION['conf_isAuthenticated'] = $_POST['addprofile']; | 				$_SESSION['conf_isAuthenticated'] = $_POST['addprofile']; | ||||||
| 						$_SESSION['conf_config'] = $conf; | 				$_SESSION['conf_config'] = new LAMConfig($_POST['addprofile']); | ||||||
| 				$_SESSION['conf_messages'][] = array('INFO', _("Created new profile."), $_POST['addprofile']); | 				$_SESSION['conf_messages'][] = array('INFO', _("Created new profile."), $_POST['addprofile']); | ||||||
| 				metaRefresh('confmain.php'); | 				metaRefresh('confmain.php'); | ||||||
| 				exit; | 				exit; | ||||||
| 			} | 			} | ||||||
| 			else { | 			else { | ||||||
| 						$error = _("Unable to create new profile!"); | 				$error = $result; | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  | 		else { | ||||||
|  | 			$error = _("Profile passwords are different or empty!"); | ||||||
| 		} | 		} | ||||||
| 			else $error = _("Profile passwords are different or empty!"); |  | ||||||
| 		} |  | ||||||
| 		else $error = _("Profile name is invalid!"); |  | ||||||
| 	} | 	} | ||||||
| 	// rename profile
 | 	// rename profile
 | ||||||
| 	elseif ($_POST['action'] == "rename") { | 	elseif ($_POST['action'] == "rename") { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue