From e4c8189b61c90c557da17ea388baa566654538cc Mon Sep 17 00:00:00 2001 From: Spitzer Daniel Date: Tue, 23 Jan 2024 17:14:32 +0100 Subject: [PATCH] User Model Anpassungen --- application/User/UserModel.php | 210 ++++++++++++++++++--------------- 1 file changed, 115 insertions(+), 95 deletions(-) diff --git a/application/User/UserModel.php b/application/User/UserModel.php index c775f3e46..fcd115791 100644 --- a/application/User/UserModel.php +++ b/application/User/UserModel.php @@ -1,108 +1,128 @@ $value) { - if(property_exists(get_called_class(), $field)) { - $model->$field = $value; - } +class UserModel +{ + public $address_id = null; + public $username = null; + public $password = null; + public $name = null; + public $email = null; + public $apikey = null; + public $ip = null; + public $sessionid = null; + + + public $create_by = null; + public $edit_by = null; + public $create = null; + public $edit = null; + + public static function find($data) + { + } - - return $model; - } - - public static function getOne($id) { - if(!is_numeric($id) || !$id) { - throw new Exception("Invalid number", 400); + + public static function create(array $data) + { + $model = new User(); + + foreach ($data as $field => $value) { + if (property_exists(get_called_class(), $field)) { + $model->$field = $value; + } + } + + return $model; } - $item = []; - $db = FronkDB::singleton(); - - $res = $db->select("Worker", "*", "id=$id LIMIT 1"); - if($db->num_rows($res)) { - $data = $db->fetch_object($res); - $item = new User($data); + + public static function getOne($id) + { + if (!is_numeric($id) || !$id) { + throw new Exception("Invalid number", 400); + } + $item = []; + $db = FronkDB::singleton(); + + $res = $db->select("Worker", "*", "id=$id LIMIT 1"); + if ($db->num_rows($res)) { + $data = $db->fetch_object($res); + $item = new User($data); + } + return $item; } - return $item; - } - - public static function getAll() { - $items = []; - - $db = FronkDB::singleton(); - - $res = $db->select("Worker", "*", "1=1 ORDER BY address_id, username"); - if($db->num_rows($res)) { - while($data = $db->fetch_object($res)) { - $items[] = new User($data); - } + + public static function getAll() + { + $items = []; + + $db = FronkDB::singleton(); + + $res = $db->select("Worker", "*", "1=1 ORDER BY address_id, username"); + if ($db->num_rows($res)) { + while ($data = $db->fetch_object($res)) { + $items[] = new User($data); + } + } + return $items; + } - return $items; - - } - - public static function search($filter) { - $items = []; - $db = FronkDB::singleton(); - - $where = self::getSqlFilter($filter); - $sql = "SELECT Worker.* FROM Worker, WorkerPermission + + public static function search($filter) + { + $items = []; + $db = FronkDB::singleton(); + + $where = self::getSqlFilter($filter); + $sql = "SELECT Worker.* FROM Worker, WorkerPermission WHERE WorkerPermission.worker_id = Worker.id AND $where GROUP BY WorkerPermission.worker_id ORDER BY address_id, username, Worker.id"; - $res = $db->query($sql); - if($db->num_rows($res)) { - while($data = $db->fetch_object($res)) { - $items[] = new User($data); - } + + $res = $db->query($sql); + if ($db->num_rows($res)) { + while ($data = $db->fetch_object($res)) { + $items[] = new User($data); + } + } + return $items; } - return $items; - } - - private static function getSqlFilter($filter) { - $where = "1=1 "; - - //var_dump($filter);exit; - if(array_key_exists("address_id", $filter)) { - $addressid = $filter['address_id']; - if($addressid) { - $where .= " AND address_id=$addressid"; - } + + private static function getSqlFilter($filter) + { + $where = "1=1 "; + + //var_dump($filter);exit; + if (array_key_exists("address_id", $filter)) { + $addressid = $filter['address_id']; + if ($addressid) { + $where .= " AND address_id=$addressid"; + } + } + if (array_key_exists("worker_id", $filter)) { + $workerid = $filter['worker_id']; + if ($workerid) { + $where .= " AND worker_id=$workerid"; + } + } + + if (array_key_exists("apikey", $filter)) { + $apikey = $filter['apikey']; + if ($apikey === true) { + $where .= " AND (apikey IS NOT NULL OR apikey <> '')"; + } elseif ($apikey === null) { + $where .= " AND (apikey IS NULL OR apikey='')"; + } + } + if (array_key_exists("employee", $filter)) { + $employee = $filter['employee']; + if ($employee) { + $where .= " AND WorkerPermission.employee = 'true'"; + } + } + + //var_dump($filter, $where);exit; + return $where; } - - if(array_key_exists("apikey", $filter)) { - $apikey = $filter['apikey']; - if($apikey === true) { - $where .= " AND (apikey IS NOT NULL OR apikey <> '')"; - } elseif($apikey === null) { - $where .= " AND (apikey IS NULL OR apikey='')"; - } - } - - //var_dump($filter, $where);exit; - return $where; - } - + } \ No newline at end of file