parent
e47e0fca80
commit
030b2b3c2f
|
@ -133,6 +133,7 @@ $sm_lang = array(
|
||||||
'error_user_no_match' => 'The user could not be found in the database.',
|
'error_user_no_match' => 'The user could not be found in the database.',
|
||||||
'error_user_password_invalid' => 'The entered password is invalid.',
|
'error_user_password_invalid' => 'The entered password is invalid.',
|
||||||
'error_user_password_no_match' => 'The entered passwords do not match.',
|
'error_user_password_no_match' => 'The entered passwords do not match.',
|
||||||
|
'error_user_admin_cant_be_deleted' => 'You can\'t remove the last administrator.',
|
||||||
),
|
),
|
||||||
'log' => array(
|
'log' => array(
|
||||||
'title' => 'Log entries',
|
'title' => 'Log entries',
|
||||||
|
|
|
@ -130,6 +130,7 @@ $sm_lang = array(
|
||||||
'error_user_no_match' => 'De gebruiker kon niet worden toegevoegd aan de database.',
|
'error_user_no_match' => 'De gebruiker kon niet worden toegevoegd aan de database.',
|
||||||
'error_user_password_invalid' => 'Het ingevulde wachtwoord is ongeldig.',
|
'error_user_password_invalid' => 'Het ingevulde wachtwoord is ongeldig.',
|
||||||
'error_user_password_no_match' => 'De ingevulde wachtwoorden komen niet overeen.',
|
'error_user_password_no_match' => 'De ingevulde wachtwoorden komen niet overeen.',
|
||||||
|
'error_user_admin_cant_be_deleted' => 'Je kan de laatste administrator niet verwijderen.',
|
||||||
),
|
),
|
||||||
'log' => array(
|
'log' => array(
|
||||||
'title' => 'Log entries',
|
'title' => 'Log entries',
|
||||||
|
|
|
@ -239,6 +239,11 @@ class UserController extends AbstractController {
|
||||||
$user_validator->username($clean['user_name'], $user_id);
|
$user_validator->username($clean['user_name'], $user_id);
|
||||||
$user_validator->email($clean['email']);
|
$user_validator->email($clean['email']);
|
||||||
$user_validator->level($clean['level']);
|
$user_validator->level($clean['level']);
|
||||||
|
if(count($this->db->select(PSM_DB_PREFIX.'users', array('level' => PSM_USER_ADMIN))) == 1 &&
|
||||||
|
$this->getUser()->getUserLevel() == PSM_USER_ADMIN) {
|
||||||
|
$this->addMessage(psm_get_lang('users', 'error_user_admin_cant_be_deleted'), 'warning');
|
||||||
|
$clean['level'] = PSM_USER_ADMIN;
|
||||||
|
}
|
||||||
|
|
||||||
// always validate password for new users,
|
// always validate password for new users,
|
||||||
// but only validate it for existing users when they change it.
|
// but only validate it for existing users when they change it.
|
||||||
|
@ -309,15 +314,19 @@ class UserController extends AbstractController {
|
||||||
try {
|
try {
|
||||||
$this->container->get('util.user.validator')->userId($id);
|
$this->container->get('util.user.validator')->userId($id);
|
||||||
|
|
||||||
$this->db->delete(PSM_DB_PREFIX.'users', array('user_id' => $id,));
|
if(count($this->db->select(PSM_DB_PREFIX.'users', array('level' => PSM_USER_ADMIN))) == 1) {
|
||||||
$this->db->delete(PSM_DB_PREFIX.'users_servers', array('user_id' => $id));
|
$this->addMessage(psm_get_lang('users', 'error_user_admin_cant_be_deleted'), 'error');
|
||||||
|
} else {
|
||||||
|
$this->db->delete(PSM_DB_PREFIX.'users', array('user_id' => $id,));
|
||||||
|
$this->db->delete(PSM_DB_PREFIX.'users_servers', array('user_id' => $id));
|
||||||
|
|
||||||
$this->container->get('event')->dispatch(
|
$this->container->get('event')->dispatch(
|
||||||
\psm\Module\User\UserEvents::USER_DELETE,
|
\psm\Module\User\UserEvents::USER_DELETE,
|
||||||
new \psm\Module\User\Event\UserEvent($id, $this->getUser()->getUserId())
|
new \psm\Module\User\Event\UserEvent($id, $this->getUser()->getUserId())
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->addMessage(psm_get_lang('users', 'deleted'), 'success');
|
$this->addMessage(psm_get_lang('users', 'deleted'), 'success');
|
||||||
|
}
|
||||||
} catch (\InvalidArgumentException $e) {
|
} catch (\InvalidArgumentException $e) {
|
||||||
$this->addMessage(psm_get_lang('users', 'error_'.$e->getMessage()), 'error');
|
$this->addMessage(psm_get_lang('users', 'error_'.$e->getMessage()), 'error');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue