aboutsummaryrefslogtreecommitdiff
path: root/app/class/modeluser.php
diff options
context:
space:
mode:
authorvincent-peugnet <v.peugnet@free.fr>2018-12-23 18:20:57 +0100
committervincent-peugnet <v.peugnet@free.fr>2018-12-23 18:20:57 +0100
commite8566a57cf1b9cc2eed10429f27840d17da945ef (patch)
tree9902d9f4dc2e871819af21ede642e50aaab1518b /app/class/modeluser.php
parent532cdf4bb82ab7cc6fa7659d9aec3ce122b2ec52 (diff)
downloadwcms-e8566a57cf1b9cc2eed10429f27840d17da945ef.tar.gz
wcms-e8566a57cf1b9cc2eed10429f27840d17da945ef.zip
feature users
Diffstat (limited to 'app/class/modeluser.php')
-rw-r--r--app/class/modeluser.php62
1 files changed, 61 insertions, 1 deletions
diff --git a/app/class/modeluser.php b/app/class/modeluser.php
index a0f0966..e9474e0 100644
--- a/app/class/modeluser.php
+++ b/app/class/modeluser.php
@@ -1,6 +1,6 @@
<?php
-class Modeluser extends Model
+class Modeluser extends Modeldb
{
const ADMIN = 10;
const EDITOR = 3;
@@ -8,6 +8,13 @@ class Modeluser extends Model
const READ = 1;
const FREE = 0;
+ const USER_REPO_NAME = 'user';
+
+ public function __construct()
+ {
+ parent::__construct();
+ $this->storeinit(self::USER_REPO_NAME);
+ }
public function writesession(User $user)
{
@@ -60,6 +67,59 @@ class Modeluser extends Model
$user = new User(['level' => self::FREE]);
return $user;
}
+
+
+
+ public function getlister()
+ {
+ $userlist = [];
+ $list = $this->repo->findAll();
+ foreach ($list as $userdata) {
+ $userlist[$userdata->id] = new User($userdata);
+ }
+ return $userlist;
+ }
+
+
+ public function getlisterid(array $idlist = [])
+ {
+ $userdatalist = $this->repo->query()
+ ->where('__id', 'IN', $idlist)
+ ->execute();
+
+ $userlist = [];
+ foreach ($userdatalist as $id => $userdata) {
+ $userlist[$id] = new User($userdata);
+ }
+ return $userlist;
+ }
+
+ public function add(User $user)
+ {
+ $userdata = new \JamesMoss\Flywheel\Document($user->dry());
+ $userdata->setId($user->id());
+ $this->repo->store($userdata);
+ }
+
+
+ public function get($id)
+ {
+ if ($id instanceof User) {
+ $id = $id->id();
+ }
+ if (is_string($id)) {
+ $userdata = $this->repo->findById($id);
+ if ($userdata !== false) {
+ return new User($userdata);
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+
+
}