diff options
author | vincent-peugnet <v.peugnet@free.fr> | 2018-12-24 13:15:26 +0100 |
---|---|---|
committer | vincent-peugnet <v.peugnet@free.fr> | 2018-12-24 13:15:26 +0100 |
commit | 1181795d8fa682571bd7e970eeefd43ed90aa30b (patch) | |
tree | a90b5149b772103a7f0d1dcd7dc42242062e105d | |
parent | 452f5801b62b191123f9ded6c02844275ab62259 (diff) | |
download | wcms-1181795d8fa682571bd7e970eeefd43ed90aa30b.tar.gz wcms-1181795d8fa682571bd7e970eeefd43ed90aa30b.zip |
user level
-rw-r--r-- | app/class/controlleruser.php | 56 | ||||
-rw-r--r-- | app/class/modeluser.php | 4 | ||||
-rw-r--r-- | app/view/templates/editleftbar.php | 7 | ||||
-rw-r--r-- | app/view/templates/user.php | 8 | ||||
-rw-r--r-- | assets/css/home.css | 2 |
5 files changed, 53 insertions, 24 deletions
diff --git a/app/class/controlleruser.php b/app/class/controlleruser.php index ffbfecb..792877d 100644 --- a/app/class/controlleruser.php +++ b/app/class/controlleruser.php @@ -24,7 +24,7 @@ class Controlleruser extends Controller if(empty($user->id()) || $this->usermanager->get($user)) { $this->routedirectget('user', ['error' => 'wrong_id']); } elseif(empty($user->password()) || $this->usermanager->passwordexist($user->password())) { - $this->routedirectget('user', ['error' => 'wrong_password']); + $this->routedirectget('user', ['error' => 'change_password']); } else { $this->usermanager->add($user); $this->routedirect('user'); @@ -34,24 +34,44 @@ class Controlleruser extends Controller public function update() { - if($_POST['action'] === 'delete') { - $user = new User($_POST); - $user = $this->usermanager->get($user); - if($user !== false) { - 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]); - } - } else { - $this->routedirect('user'); + if($this->user->isadmin() && isset($_POST['action'])) { + switch ($_POST['action']) { + case 'delete': + $user = new User($_POST); + $user = $this->usermanager->get($user); + if($user !== false) { + if($user->id() === $this->user->id()) { + $this->showtemplate('userconfirmdelete', ['userdelete' => $user, 'candelete' => false]); + } else { + $this->showtemplate('userconfirmdelete', ['userdelete' => $user, 'candelete' => true]); + } + } else { + $this->routedirect('user'); + } + break; + + case 'confirmdelete': + $user = new User($_POST); + $this->usermanager->delete($user); + $this->routedirect('user'); + break; + + case 'update': + $user = $this->usermanager->get($_POST['id']); + $user->hydrate($_POST); + if(empty($user->id())) { + $this->routedirectget('user', ['error' => 'wrong_id']); + } elseif (empty($user->password()) | $this->usermanager->passwordexist($user->password())) { + $this->routedirectget('user', ['error' => 'change_password']); + } elseif (empty($user->level())) { + $this->routedirectget('user', ['error' => 'wrong_level']); + } else { + $this->usermanager->add($user); + $this->routedirect('user'); + } } - } elseif ($_POST['action'] == 'confirmdelete') { - $user = new User($_POST); - $this->usermanager->delete($user); - $this->routedirect('user'); + } else { + $this->routedirect('home'); } } } diff --git a/app/class/modeluser.php b/app/class/modeluser.php index 42c2f4c..ffe04ed 100644 --- a/app/class/modeluser.php +++ b/app/class/modeluser.php @@ -24,12 +24,12 @@ class Modeluser extends Modeldb public function readsession() { $userdatas = []; - if (array_key_exists('user' . Config::basepath(), $_SESSION)) { + if (array_key_exists('user' . Config::basepath(), $_SESSION) && isset($_SESSION['user' . Config::basepath()]['id'])) { $userdatas = $_SESSION['user' . Config::basepath()]; $user = new User($userdatas); return $user; } else { - return false; + return new User(['id' => '', 'level' => 0]); } } diff --git a/app/view/templates/editleftbar.php b/app/view/templates/editleftbar.php index fd39ba7..8cd6509 100644 --- a/app/view/templates/editleftbar.php +++ b/app/view/templates/editleftbar.php @@ -13,10 +13,9 @@ <input type="text" name="tag" id="tag" value="<?= $art->tag('string'); ?>"> <label for="secure">Privacy level :</label> <select name="secure" id="secure"> - <option value="0" <?= $art->secure() == 0 ? 'selected' : '' ?>>0</option> - <option value="1" <?= $art->secure() == 1 ? 'selected' : '' ?>>1</option> - <option value="2" <?= $art->secure() == 2 ? 'selected' : '' ?>>2</option> - <option value="3" <?= $art->secure() == 3 ? 'selected' : '' ?>>3</option> + <option value="0" <?= $art->secure() == 0 ? 'selected' : '' ?>>public</option> + <option value="1" <?= $art->secure() == 1 ? 'selected' : '' ?>>private</option> + <option value="2" <?= $art->secure() == 2 ? 'selected' : '' ?>>not published</option> </select> <label for="date">Date</label> <input type="date" name="pdate" value="<?= $art->date('pdate') ?>" id="date"> diff --git a/app/view/templates/user.php b/app/view/templates/user.php index f973fee..026a0de 100644 --- a/app/view/templates/user.php +++ b/app/view/templates/user.php @@ -10,6 +10,14 @@ <main class="user"> + +<div> +<h1>User : <?= $user->id() ?></h1> + +</div> + + + <table> <tr> <th>id</th><th>password</th><th>level</th><th>action</th> diff --git a/assets/css/home.css b/assets/css/home.css index 8ce48ca..8854ee3 100644 --- a/assets/css/home.css +++ b/assets/css/home.css @@ -183,6 +183,8 @@ main.info blockquote { main.info nav { position: fixed; left: 850px; + top: 0px; + margin-top: 50px; border-left: solid 2px grey; padding: 0 10px; } |