From c9161092eb7d406da6c1ce7a43416f0fbc655697 Mon Sep 17 00:00:00 2001 From: REJack Date: Wed, 12 Dec 2018 17:17:48 +0100 Subject: [PATCH] updated Controllers & Views - added Admin/Users Controller - added Language/en/Admin - updated Libraries/Aauth - updated Account Views - added Admin Views - added Pagers/bootstrap_full.php - updatd HeaderAdmin Template - added assets/css/admin/users/index.css --- TODO.md | 3 + application/Controllers/Admin/Users.php | 72 ++++++++++++++++++++ application/Language/en/Admin.php | 53 ++++++++++++++ application/Libraries/Aauth.php | 35 ++++++++++ application/Views/Account/Edit.php | 4 +- application/Views/Account/Login.php | 4 +- application/Views/Account/Register.php | 4 +- application/Views/Account/RemindPassword.php | 4 +- application/Views/Account/ResetPassword.php | 4 +- application/Views/Account/Verification.php | 4 +- application/Views/Admin/Home.php | 11 +++ application/Views/Admin/Users/Home.php | 57 ++++++++++++++++ application/Views/Admin/Users/New.php | 18 +++++ application/Views/Pagers/bootstrap_full.php | 37 ++++++++++ application/Views/Templates/HeaderAdmin.php | 21 ++++-- public/assets/css/admin/users/index.css | 4 ++ 16 files changed, 318 insertions(+), 17 deletions(-) create mode 100644 application/Controllers/Admin/Users.php create mode 100644 application/Language/en/Admin.php create mode 100644 application/Views/Admin/Home.php create mode 100644 application/Views/Admin/Users/Home.php create mode 100644 application/Views/Admin/Users/New.php create mode 100644 application/Views/Pagers/bootstrap_full.php create mode 100644 public/assets/css/admin/users/index.css diff --git a/TODO.md b/TODO.md index 432ae5f..0f421b7 100644 --- a/TODO.md +++ b/TODO.md @@ -5,6 +5,9 @@ ## Code +### Paginate + - ADD `'default_full' => 'App\Views\Pagers\bootstrap_full',` into Config/Pager for BS4 Paginate + ### Login Tokens - Config for Cookie Name - Single Login (Only one Token per User) diff --git a/application/Controllers/Admin/Users.php b/application/Controllers/Admin/Users.php new file mode 100644 index 0000000..eb58ce8 --- /dev/null +++ b/application/Controllers/Admin/Users.php @@ -0,0 +1,72 @@ +aauth = new Aauth(); + helper('form'); + helper('aauth'); + } + + /** + * Index + * + * @return void + */ + public function index() + { + $data = $this->aauth->listUsersPaginated(); + + $data['cssFiles'] = [ + '/assets/css/admin/users/index.css' + ]; + + echo view('Templates/HeaderAdmin', $data); + echo view('Admin/Users/Home', $data); + echo view('Templates/FooterAdmin'); + } + + /** + * New + * + * @return void + */ + public function new() + { + $data = $this->aauth->listUsersPaginated(); + + echo view('Templates/HeaderAdmin'); + echo view('Admin/Users/New', $data); + echo view('Templates/FooterAdmin'); + } +} diff --git a/application/Language/en/Admin.php b/application/Language/en/Admin.php new file mode 100644 index 0000000..009b1b4 --- /dev/null +++ b/application/Language/en/Admin.php @@ -0,0 +1,53 @@ + 'Admin Area', + 'homeText' => 'Welcome to CodeIgniter-Aauth\'s Admin Area', + 'homeBreadcrumbTitle' => 'Home', + + 'breadcrumbCommonNew' => 'New', + 'breadcrumbCommonEdit' => 'Edit', + 'breadcrumbCommonShow' => 'Show', + 'breadcrumbCommonDelete' => 'Delete', + + 'usersIndexHeader' => 'Users', + 'usersNewHeader' => 'New user', + 'usersEditHeader' => 'Edit user', + 'usersShowHeader' => 'Show user', + 'usersDeleteHeader' => 'Delete user', + 'usersBreadcrumbTitle' => 'Users', + 'usersLabelId' => 'Id', + 'usersLabelEmail' => 'Email address', + 'usersLabelUsername' => 'Username', + 'usersLabelBanned' => 'Banned', + 'usersLabelCreatedAt' => 'Created at', + 'usersLabelUpdatedAt' => 'Updated at', + 'usersLabelLastIPAddress' => 'Last IP-Address', + 'usersLabelLastActivity' => 'Last Activity', + 'usersLabelLastLogin' => 'Last Login', + 'usersLinkNew' => 'Create new user', +]; diff --git a/application/Libraries/Aauth.php b/application/Libraries/Aauth.php index 9d955d7..e60acc7 100644 --- a/application/Libraries/Aauth.php +++ b/application/Libraries/Aauth.php @@ -267,6 +267,41 @@ class Aauth return $user->findAll(); } + /** + * List users with paginate + * + * Return users as an object array + * + * @param integer $limit Limit of users to be returned + * @param integer $offset Offset for limited number of users + * @param boolean $includeBanneds Include banned users + * @param string $orderBy Order by MYSQL string (e.g. 'name ASC', 'email DESC') + * + * @return array Array of users + */ + public function listUsersPaginated(int $limit = 10, bool $includeBanneds = null, string $orderBy = null) + { + $userModel = new UserModel(); + + $userModel->select('id, email, username, banned, created_at, updated_at, last_activity, last_ip_address, last_login'); + // eanbool $group_par = null, + + if (is_null($includeBanneds)) + { + $userModel->where('banned', 0); + } + + if (! is_null($orderBy)) + { + $userModel->orderBy($orderBy); + } + + return [ + 'users' => $userModel->paginate($limit), + 'pager' => $userModel->pager, + ]; + } + /** * Send verification email * diff --git a/application/Views/Account/Edit.php b/application/Views/Account/Edit.php index fecc661..fe13d4e 100644 --- a/application/Views/Account/Edit.php +++ b/application/Views/Account/Edit.php @@ -1,7 +1,7 @@
-
+
@@ -27,6 +27,6 @@
- + diff --git a/application/Views/Account/Login.php b/application/Views/Account/Login.php index 9236ebd..6d98e2e 100644 --- a/application/Views/Account/Login.php +++ b/application/Views/Account/Login.php @@ -2,7 +2,7 @@
-
+
@@ -32,7 +32,7 @@
- +