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_password_invalid' => 'The entered password is invalid.',
|
||||
'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(
|
||||
'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_password_invalid' => 'Het ingevulde wachtwoord is ongeldig.',
|
||||
'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(
|
||||
'title' => 'Log entries',
|
||||
|
|
|
@ -239,6 +239,11 @@ class UserController extends AbstractController {
|
|||
$user_validator->username($clean['user_name'], $user_id);
|
||||
$user_validator->email($clean['email']);
|
||||
$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,
|
||||
// but only validate it for existing users when they change it.
|
||||
|
@ -309,15 +314,19 @@ class UserController extends AbstractController {
|
|||
try {
|
||||
$this->container->get('util.user.validator')->userId($id);
|
||||
|
||||
$this->db->delete(PSM_DB_PREFIX.'users', array('user_id' => $id,));
|
||||
$this->db->delete(PSM_DB_PREFIX.'users_servers', array('user_id' => $id));
|
||||
if(count($this->db->select(PSM_DB_PREFIX.'users', array('level' => PSM_USER_ADMIN))) == 1) {
|
||||
$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(
|
||||
\psm\Module\User\UserEvents::USER_DELETE,
|
||||
new \psm\Module\User\Event\UserEvent($id, $this->getUser()->getUserId())
|
||||
);
|
||||
$this->container->get('event')->dispatch(
|
||||
\psm\Module\User\UserEvents::USER_DELETE,
|
||||
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) {
|
||||
$this->addMessage(psm_get_lang('users', 'error_'.$e->getMessage()), 'error');
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue