aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvincent-peugnet <v.peugnet@free.fr>2018-12-24 13:15:26 +0100
committervincent-peugnet <v.peugnet@free.fr>2018-12-24 13:15:26 +0100
commit1181795d8fa682571bd7e970eeefd43ed90aa30b (patch)
treea90b5149b772103a7f0d1dcd7dc42242062e105d
parent452f5801b62b191123f9ded6c02844275ab62259 (diff)
downloadwcms-1181795d8fa682571bd7e970eeefd43ed90aa30b.tar.gz
wcms-1181795d8fa682571bd7e970eeefd43ed90aa30b.zip
user level
-rw-r--r--app/class/controlleruser.php56
-rw-r--r--app/class/modeluser.php4
-rw-r--r--app/view/templates/editleftbar.php7
-rw-r--r--app/view/templates/user.php8
-rw-r--r--assets/css/home.css2
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;
}