bludit/bl-kernel/admin/controllers/user-password.php
Kim Keown d5a8a7846c Revise user-password.php - Admin folder rename
Update 10-27. Upon further reading about global variables, it seems they only need to be declared when the string replacement is within a function. After testing deletion of the global intended to encompass if/else replacements occurring within a function file outside of a function, the pages appear to 'function' normally. The additional global on the function pages is apparently unnecessary, therefore I am removing them.

Add variable in bl-kernel/boot/init.php that allows User to rename bl-kernel/admin folder. 
User can then define variable in bl-kernel/boot/init.php and change the foldername itself to effect the rename. 

Add global $adminfolder as necessary and replace relevant 'admin' strings with $adminfolder.
Applies to most of the files in bl-kernel/admin/controllers.

Line 53 - Replace Admin string with folder variable:
		Redirect::page($adminfolder, 'users');
Original:   	Redirect::page('admin', 'users');

Line 69 - Replace Admin string with folder variable:
	        Redirect::page($adminfolder, 'users');
Original:   	Redirect::page('admin', 'users')
2016-10-27 09:39:03 -06:00

73 lines
2.1 KiB
PHP

<?php defined('BLUDIT') or die('Bludit CMS.');
// ============================================================================
// Functions
// ============================================================================
function setPassword($username, $new_password, $confirm_password)
{
global $dbUsers;
global $Language;
// Password length
if( strlen($new_password) < 6 )
{
Alert::set($Language->g('Password must be at least 6 characters long'), ALERT_STATUS_FAIL);
return false;
}
if($new_password===$confirm_password)
{
if( $dbUsers->setPassword($username, $new_password) ) {
Alert::set($Language->g('The changes have been saved'), ALERT_STATUS_OK);
return true;
}
else {
Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to change the user password.');
return false;
}
}
else {
Alert::set($Language->g('The password and confirmation password do not match'), ALERT_STATUS_FAIL);
return false;
}
}
// ============================================================================
// Main before POST
// ============================================================================
// ============================================================================
// POST Method
// ============================================================================
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
// Prevent editors to administrate other users.
if($Login->role()!=='admin')
{
$_POST['username'] = $Login->username();
unset($_POST['role']);
}
if( setPassword($_POST['username'], $_POST['new_password'], $_POST['confirm_password']) ) {
Redirect::page($adminfolder, 'users');
}
}
// ============================================================================
// Main after POST
// ============================================================================
if($Login->role()!=='admin') {
$layout['parameters'] = $Login->username();
}
$_user = $dbUsers->getDb($layout['parameters']);
// If the user doesn't exist, redirect to the users list.
if($_user===false) {
Redirect::page($adminfolder, 'users');
}
$_user['username'] = $layout['parameters'];