diff options
author | vincent-peugnet <v.peugnet@free.fr> | 2018-12-24 12:24:22 +0100 |
---|---|---|
committer | vincent-peugnet <v.peugnet@free.fr> | 2018-12-24 12:24:22 +0100 |
commit | 452f5801b62b191123f9ded6c02844275ab62259 (patch) | |
tree | e5a20b6bcf3c73a819efd44a4c36b3e74b84d265 | |
parent | 055bbcbd61a56e39408e7d2b9d83c47fc76daa20 (diff) | |
download | wcms-452f5801b62b191123f9ded6c02844275ab62259.tar.gz wcms-452f5801b62b191123f9ded6c02844275ab62259.zip |
user self delete
-rw-r--r-- | app/class/controller.php | 4 | ||||
-rw-r--r-- | app/class/controlleruser.php | 4 | ||||
-rw-r--r-- | app/class/modeluser.php | 8 | ||||
-rw-r--r-- | app/view/templates/userconfirmdelete.php | 4 |
4 files changed, 13 insertions, 7 deletions
diff --git a/app/class/controller.php b/app/class/controller.php index 5dfc09b..eef6967 100644 --- a/app/class/controller.php +++ b/app/class/controller.php @@ -2,7 +2,9 @@ class Controller { - + /** + * @var User + */ protected $user; protected $router; /** diff --git a/app/class/controlleruser.php b/app/class/controlleruser.php index 9daf1fb..ffbfecb 100644 --- a/app/class/controlleruser.php +++ b/app/class/controlleruser.php @@ -38,7 +38,9 @@ class Controlleruser extends Controller $user = new User($_POST); $user = $this->usermanager->get($user); if($user !== false) { - if($user->isadmin() && $this->usermanager->admincount() === 1) { + var_dump($user); + var_dump($this->user); + if($user->id() === $this->user->id()) { $this->showtemplate('userconfirmdelete', ['userdelete' => $user, 'candelete' => false]); } else { $this->showtemplate('userconfirmdelete', ['userdelete' => $user, 'candelete' => true]); diff --git a/app/class/modeluser.php b/app/class/modeluser.php index 613d13b..42c2f4c 100644 --- a/app/class/modeluser.php +++ b/app/class/modeluser.php @@ -18,7 +18,7 @@ class Modeluser extends Modeldb public function writesession(User $user) { - $_SESSION['user' . Config::basepath()] = ['level' => $user->level()]; + $_SESSION['user' . Config::basepath()] = ['level' => $user->level(), 'id' => $user->id()]; } public function readsession() @@ -26,9 +26,11 @@ class Modeluser extends Modeldb $userdatas = []; if (array_key_exists('user' . Config::basepath(), $_SESSION)) { $userdatas = $_SESSION['user' . Config::basepath()]; + $user = new User($userdatas); + return $user; + } else { + return false; } - $user = new User($userdatas); - return $user; } public function login($pass) diff --git a/app/view/templates/userconfirmdelete.php b/app/view/templates/userconfirmdelete.php index 069f5de..0394f12 100644 --- a/app/view/templates/userconfirmdelete.php +++ b/app/view/templates/userconfirmdelete.php @@ -30,9 +30,9 @@ if($candelete) { <h1>You can't delete this user</h1> - <h2>You need at least one admin user to run the system.</h2> + <h2>You can't delete yourself</h2> - <p>To delete this user, create at least another admin user, then retry to delete this one.</p> + <p>To delete this user, create at least another admin user, log in as this other admin user, the try to delete this user.</p> <a href="<?= $this->url('user') ?>">Go back to users</a> |