New feature, disable user account
This commit is contained in:
parent
e040d96d4c
commit
832e47e94a
|
@ -4,6 +4,25 @@
|
||||||
// Functions
|
// Functions
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
|
function disableUser($username) {
|
||||||
|
|
||||||
|
global $dbUsers;
|
||||||
|
global $Language;
|
||||||
|
global $Login;
|
||||||
|
|
||||||
|
// The editors can't disable users
|
||||||
|
if($Login->role()!=='admin') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( $dbUsers->disableUser($username) ) {
|
||||||
|
Alert::set($Language->g('The changes have been saved'));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to edit the user.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function editUser($args)
|
function editUser($args)
|
||||||
{
|
{
|
||||||
global $dbUsers;
|
global $dbUsers;
|
||||||
|
@ -72,6 +91,9 @@ if( $_SERVER['REQUEST_METHOD'] == 'POST' )
|
||||||
elseif(isset($_POST['delete-user-associate'])) {
|
elseif(isset($_POST['delete-user-associate'])) {
|
||||||
deleteUser($_POST, false);
|
deleteUser($_POST, false);
|
||||||
}
|
}
|
||||||
|
elseif(isset($_POST['disable-user'])) {
|
||||||
|
disableUser($_POST['username']);
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
editUser($_POST);
|
editUser($_POST);
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,17 +59,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* UIKIT HACKs forms
|
|
||||||
---------------------------------------------------------------- */
|
|
||||||
|
|
||||||
.uk-form input:not([type]), .uk-form input[type="text"], .uk-form input[type="password"], .uk-form input[type="email"], .uk-form input[type="url"], .uk-form input[type="search"], .uk-form input[type="tel"], .uk-form input[type="number"], .uk-form input[type="datetime"], .uk-form input[type="datetime-local"], .uk-form input[type="date"], .uk-form input[type="month"], .uk-form input[type="time"], .uk-form input[type="week"], .uk-form input[type="color"], .uk-form select, .uk-form textarea {
|
|
||||||
border-radius: 2px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.uk-form-help-block {
|
|
||||||
color: #777 !important;
|
|
||||||
font-size: 0.9em !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CSS defaults
|
/* CSS defaults
|
||||||
---------------------------------------------------------------- */
|
---------------------------------------------------------------- */
|
||||||
|
@ -167,11 +156,48 @@ div.dashboard-links h4 {
|
||||||
margin-bottom: -8px !important;
|
margin-bottom: -8px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* NEW POST */
|
|
||||||
h3.titleOptions {
|
/* FORM
|
||||||
font-size: 1em;
|
---------------------------------------------------------------- */
|
||||||
|
|
||||||
|
.uk-form input:not([type]), .uk-form input[type="text"], .uk-form input[type="password"], .uk-form input[type="email"], .uk-form input[type="url"], .uk-form input[type="search"], .uk-form input[type="tel"], .uk-form input[type="number"], .uk-form input[type="datetime"], .uk-form input[type="datetime-local"], .uk-form input[type="date"], .uk-form input[type="month"], .uk-form input[type="time"], .uk-form input[type="week"], .uk-form input[type="color"], .uk-form select, .uk-form textarea {
|
||||||
|
border-radius: 2px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.uk-form-help-block {
|
||||||
|
color: #777 !important;
|
||||||
|
font-size: 0.9em !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-meta .uk-form-label {
|
||||||
|
font-size: 0.9em;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.uk-form legend {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.uk-form legend.first-child {
|
||||||
|
margin-top: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.aslink {
|
||||||
|
background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
|
||||||
|
border: 0 none;
|
||||||
|
color: #07d;
|
||||||
|
cursor: pointer;
|
||||||
|
display: block;
|
||||||
|
font-size: 1em;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.aslink:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* OLD
|
/* OLD
|
||||||
---------------------------------------------------------------- */
|
---------------------------------------------------------------- */
|
||||||
|
|
||||||
|
@ -236,10 +262,6 @@ table.statistics tr:last-child td {
|
||||||
|
|
||||||
/* ----------- FORM ----------- */
|
/* ----------- FORM ----------- */
|
||||||
|
|
||||||
.sidebar .uk-form-label {
|
|
||||||
font-size: 0.9em;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
|
|
||||||
#bludit-tags {
|
#bludit-tags {
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
|
|
|
@ -18,7 +18,7 @@ HTML::formOpen(array('class'=>'uk-form-stacked'));
|
||||||
|
|
||||||
// ---- LEFT SIDE ----
|
// ---- LEFT SIDE ----
|
||||||
echo '<div class="uk-grid">';
|
echo '<div class="uk-grid">';
|
||||||
echo '<div class="uk-width-large-8-10">';
|
echo '<div class="uk-width-8-10">';
|
||||||
|
|
||||||
// Title input
|
// Title input
|
||||||
HTML::formInputText(array(
|
HTML::formInputText(array(
|
||||||
|
@ -52,7 +52,7 @@ if(count($_Page->children())===0)
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
|
|
||||||
// ---- RIGHT SIDE ----
|
// ---- RIGHT SIDE ----
|
||||||
echo '<div class="sidebar uk-width-large-2-10">';
|
echo '<div class="sidebar-meta uk-width-2-10">';
|
||||||
|
|
||||||
// Tabs, general and advanced mode
|
// Tabs, general and advanced mode
|
||||||
echo '<ul class="uk-tab" data-uk-tab="{connect:\'#tab-options\'}">';
|
echo '<ul class="uk-tab" data-uk-tab="{connect:\'#tab-options\'}">';
|
||||||
|
|
|
@ -18,7 +18,7 @@ HTML::formOpen(array('class'=>'uk-form-stacked'));
|
||||||
|
|
||||||
// ---- LEFT SIDE ----
|
// ---- LEFT SIDE ----
|
||||||
echo '<div class="uk-grid">';
|
echo '<div class="uk-grid">';
|
||||||
echo '<div class="uk-width-large-8-10">';
|
echo '<div class="uk-width-8-10">';
|
||||||
|
|
||||||
// Title input
|
// Title input
|
||||||
HTML::formInputText(array(
|
HTML::formInputText(array(
|
||||||
|
@ -46,7 +46,7 @@ echo '<div class="uk-width-large-8-10">';
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
|
|
||||||
// ---- RIGHT SIDE ----
|
// ---- RIGHT SIDE ----
|
||||||
echo '<div class="sidebar uk-width-large-2-10">';
|
echo '<div class="sidebar-meta uk-width-2-10">';
|
||||||
|
|
||||||
// Tabs, general and advanced mode
|
// Tabs, general and advanced mode
|
||||||
echo '<ul class="uk-tab" data-uk-tab="{connect:\'#tab-options\'}">';
|
echo '<ul class="uk-tab" data-uk-tab="{connect:\'#tab-options\'}">';
|
||||||
|
|
|
@ -64,6 +64,7 @@ if($Login->role()==='admin') {
|
||||||
));
|
));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HTML::formInputText(array(
|
HTML::formInputText(array(
|
||||||
'name'=>'email',
|
'name'=>'email',
|
||||||
'label'=>$L->g('Email'),
|
'label'=>$L->g('Email'),
|
||||||
|
@ -113,6 +114,25 @@ if($Login->role()==='admin') {
|
||||||
</div>
|
</div>
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
|
HTML::legend(array('value'=>$L->g('Status')));
|
||||||
|
|
||||||
|
HTML::formInputText(array(
|
||||||
|
'name'=>'status',
|
||||||
|
'label'=>$L->g('Current status'),
|
||||||
|
'value'=>$_User->enabled()?$L->g('Enabled'):$L->g('Disabled'),
|
||||||
|
'class'=>'uk-width-1-2 uk-form-medium',
|
||||||
|
'disabled'=>true,
|
||||||
|
'tip'=>$_User->enabled()?'':$L->g('To enable the user you have to set a new password')
|
||||||
|
));
|
||||||
|
|
||||||
|
if( $_User->enabled() ) {
|
||||||
|
echo '<div class="uk-form-row">
|
||||||
|
<div class="uk-form-controls">
|
||||||
|
<button type="submit" id="jsdisable-user" class="delete-button" name="disable-user"><i class="uk-icon-ban"></i> '.$L->g('Disable the user').'</button>
|
||||||
|
</div>
|
||||||
|
</div>';
|
||||||
|
}
|
||||||
|
|
||||||
if( ($Login->role()==='admin') && ($_User->username()!='admin') ) {
|
if( ($Login->role()==='admin') && ($_User->username()!='admin') ) {
|
||||||
|
|
||||||
HTML::legend(array('value'=>$L->g('Delete')));
|
HTML::legend(array('value'=>$L->g('Delete')));
|
||||||
|
@ -155,6 +175,12 @@ $(document).ready(function() {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#jsdisable-user").click(function() {
|
||||||
|
if(confirm("<?php $Language->p('do-you-want-to-disable-the-user') ?>")==false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
|
@ -12,7 +12,7 @@ HTML::formOpen(array('class'=>'uk-form-stacked'));
|
||||||
|
|
||||||
// ---- LEFT SIDE ----
|
// ---- LEFT SIDE ----
|
||||||
echo '<div class="uk-grid">';
|
echo '<div class="uk-grid">';
|
||||||
echo '<div class="uk-width-large-8-10">';
|
echo '<div class="uk-width-8-10">';
|
||||||
|
|
||||||
// Title input
|
// Title input
|
||||||
HTML::formInputText(array(
|
HTML::formInputText(array(
|
||||||
|
@ -39,7 +39,7 @@ echo '<div class="uk-width-large-8-10">';
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
|
|
||||||
// ---- RIGHT SIDE ----
|
// ---- RIGHT SIDE ----
|
||||||
echo '<div class="sidebar uk-width-large-2-10">';
|
echo '<div class="sidebar-meta uk-width-2-10">';
|
||||||
|
|
||||||
// Tabs, general and advanced mode
|
// Tabs, general and advanced mode
|
||||||
echo '<ul class="uk-tab" data-uk-tab="{connect:\'#tab-options\'}">';
|
echo '<ul class="uk-tab" data-uk-tab="{connect:\'#tab-options\'}">';
|
||||||
|
|
|
@ -39,7 +39,7 @@ echo '<div class="uk-width-8-10">';
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
|
|
||||||
// ---- RIGHT SIDE ----
|
// ---- RIGHT SIDE ----
|
||||||
echo '<div class="uk-width-2-10">';
|
echo '<div class="sidebar-meta uk-width-2-10">';
|
||||||
|
|
||||||
// Tabs, general and advanced mode
|
// Tabs, general and advanced mode
|
||||||
echo '<ul class="uk-tab" data-uk-tab="{connect:\'#tab-options\'}">';
|
echo '<ul class="uk-tab" data-uk-tab="{connect:\'#tab-options\'}">';
|
||||||
|
|
|
@ -108,6 +108,15 @@ class dbUsers extends dbJSON
|
||||||
return $this->set($args);
|
return $this->set($args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Disable the user
|
||||||
|
public function disableUser($username)
|
||||||
|
{
|
||||||
|
$args['username'] = $username;
|
||||||
|
$args['password'] = '!';
|
||||||
|
|
||||||
|
return $this->set($args);
|
||||||
|
}
|
||||||
|
|
||||||
public function set($args)
|
public function set($args)
|
||||||
{
|
{
|
||||||
$dataForDb = array();
|
$dataForDb = array();
|
||||||
|
|
|
@ -46,6 +46,13 @@ class User
|
||||||
return $this->getField('password');
|
return $this->getField('password');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function enabled()
|
||||||
|
{
|
||||||
|
$password = $this->getField('password');
|
||||||
|
|
||||||
|
return $password != '!';
|
||||||
|
}
|
||||||
|
|
||||||
public function salt()
|
public function salt()
|
||||||
{
|
{
|
||||||
return $this->getField('salt');
|
return $this->getField('salt');
|
||||||
|
|
|
@ -240,5 +240,8 @@
|
||||||
"email-access-code": "Email access code",
|
"email-access-code": "Email access code",
|
||||||
"current-format": "Current format",
|
"current-format": "Current format",
|
||||||
|
|
||||||
"welcome": "Welcome"
|
"welcome": "Welcome",
|
||||||
|
|
||||||
|
"to-enable-the-user-you-have-to-set-a-new-password": "To enable the user you have to set a new password.",
|
||||||
|
"do-you-want-to-disable-the-user": "Do you want to disable the user ?"
|
||||||
}
|
}
|
Loading…
Reference in New Issue