Browse Source

updated Views and Controller

- merged Templates (Header & Footer into Base, HeaderBlank & FooterBlank into Blank and HeaderAdmin & FooterAdmin into Admin)
- updated to match with new layout functions
- enhanced Users/Groups new & edit with allow & deny perm
- updated PHPdocs overall files
v3-dev
REJack 6 years ago
parent
commit
62ca1957fa
  1. 10
      app/Controllers/Account/Edit.php
  2. 8
      app/Controllers/Account/Home.php
  3. 9
      app/Controllers/Account/Login.php
  4. 12
      app/Controllers/Account/Register.php
  5. 2
      app/Controllers/Account/Remind_password.php
  6. 2
      app/Controllers/Account/Reset_password.php
  7. 2
      app/Controllers/Account/Verification.php
  8. 105
      app/Controllers/Admin/Groups.php
  9. 10
      app/Controllers/Admin/Home.php
  10. 10
      app/Controllers/Admin/Migrate.php
  11. 60
      app/Controllers/Admin/Perms.php
  12. 78
      app/Controllers/Admin/Users.php
  13. 3
      app/Controllers/Home.php
  14. 68
      app/Views/Account/Edit.php
  15. 31
      app/Views/Account/Home.php
  16. 98
      app/Views/Account/Login.php
  17. 95
      app/Views/Account/Register.php
  18. 60
      app/Views/Account/RemindPassword.php
  19. 60
      app/Views/Account/ResetPassword.php
  20. 60
      app/Views/Account/Verification.php
  21. 130
      app/Views/Admin/Groups/Delete.php
  22. 182
      app/Views/Admin/Groups/Edit.php
  23. 116
      app/Views/Admin/Groups/Home.php
  24. 151
      app/Views/Admin/Groups/New.php
  25. 118
      app/Views/Admin/Groups/Show.php
  26. 24
      app/Views/Admin/Home.php
  27. 12
      app/Views/Admin/Migrate.php
  28. 68
      app/Views/Admin/Perms/Delete.php
  29. 102
      app/Views/Admin/Perms/Edit.php
  30. 108
      app/Views/Admin/Perms/Home.php
  31. 74
      app/Views/Admin/Perms/New.php
  32. 58
      app/Views/Admin/Perms/Show.php
  33. 128
      app/Views/Admin/Users/Delete.php
  34. 188
      app/Views/Admin/Users/Edit.php
  35. 132
      app/Views/Admin/Users/Home.php
  36. 159
      app/Views/Admin/Users/New.php
  37. 118
      app/Views/Admin/Users/Show.php
  38. 22
      app/Views/Home.php
  39. 41
      app/Views/Templates/Admin.php
  40. 36
      app/Views/Templates/Base.php
  41. 32
      app/Views/Templates/Blank.php
  42. 18
      app/Views/Templates/Footer.php
  43. 27
      app/Views/Templates/FooterAdmin.php
  44. 12
      app/Views/Templates/FooterBlank.php
  45. 19
      app/Views/Templates/HeaderBlank.php

10
app/Controllers/Account/Edit.php

@ -34,11 +34,17 @@ class Edit extends Controller
*/
public function __construct()
{
helper('aauth');
if (! is_loggedin())
{
return service('response')->redirect('/');
}
$this->config = new AauthConfig();
$this->aauth = new Aauth();
$this->request = Services::request();
helper('form');
helper('aauth');
}
/**
@ -81,8 +87,6 @@ class Edit extends Controller
$data['useUsername'] = $this->config->loginUseUsername;
echo view('Templates/Header', $data);
echo view('Account/Edit', $data);
echo view('Templates/Footer', $data);
}
}

8
app/Controllers/Account/Home.php

@ -19,6 +19,7 @@ namespace App\Controllers\Account;
use CodeIgniter\Controller;
use App\Libraries\Aauth;
use Config\Aauth as AauthConfig;
use App\Models\Aauth\UserModel;
/**
@ -33,12 +34,13 @@ class Home extends Controller
*/
public function __construct()
{
$this->aauth = new Aauth();
$this->aauth = new Aauth();
$this->config = new AauthConfig();
helper('aauth');
if (! $this->aauth->isLoggedIn())
{
redirect()->to('/');
return service('response')->redirect('/');
}
}
@ -51,8 +53,6 @@ class Home extends Controller
{
$data['user'] = $this->aauth->getUser();
echo view('Templates/Header');
echo view('Account/Home', $data);
echo view('Templates/Footer');
}
}

9
app/Controllers/Account/Login.php

@ -57,17 +57,20 @@ class Login extends Controller
}
else
{
$this->response->redirect('/account');
$this->response->redirect(site_url('/account'));
}
}
if (session('errors'))
{
$data['errors'] = isset($data['errors']) ? $data['errors'] . '<br />' . session('errors') : session('errors');
}
$data['useUsername'] = $this->config->loginUseUsername;
$data['cssFiles'] = [
'/assets/css/login.css'
];
echo view('Templates/HeaderBlank', $data);
echo view('Account/Login', $data);
echo view('Templates/FooterBlank', $data);
}
}

12
app/Controllers/Account/Register.php

@ -59,13 +59,21 @@ class Register extends Controller
}
}
if (session('errors'))
{
$data['errors'] = isset($data['errors']) ? $data['errors'] . '<br />' . session('errors') : session('errors');
}
if (session('infos'))
{
$data['infos'] = isset($data['infos']) ? $data['infos'] . '<br />' . session('infos') : session('infos');
}
$data['useUsername'] = $this->config->loginUseUsername;
$data['cssFiles'] = [
'/assets/css/login.css'
];
echo view('Templates/HeaderBlank', $data);
echo view('Account/Register', $data);
echo view('Templates/FooterBlank', $data);
}
}

2
app/Controllers/Account/Remind_password.php

@ -61,8 +61,6 @@ class Remind_password extends Controller
'/assets/css/login.css'
];
echo view('Templates/HeaderBlank', $data);
echo view('Account/RemindPassword', $data);
echo view('Templates/FooterBlank', $data);
}
}

2
app/Controllers/Account/Reset_password.php

@ -64,8 +64,6 @@ class Reset_password extends Controller
'/assets/css/login.css'
];
echo view('Templates/HeaderBlank', $data);
echo view('Account/ResetPassword', $data);
echo view('Templates/FooterBlank', $data);
}
}

2
app/Controllers/Account/Verification.php

@ -64,8 +64,6 @@ class Verification extends Controller
'/assets/css/login.css'
];
echo view('Templates/HeaderBlank', $data);
echo view('Account/Verification', $data);
echo view('Templates/FooterBlank', $data);
}
}

105
app/Controllers/Admin/Groups.php

@ -33,10 +33,16 @@ class Groups extends Controller
*/
public function __construct()
{
helper('aauth');
if (! is_admin())
{
return service('response')->redirect('/');
}
$this->aauth = new Aauth();
$this->request = Services::request();
helper('form');
helper('aauth');
}
/**
@ -48,13 +54,12 @@ class Groups extends Controller
{
$data = $this->aauth->listGroupsPaginated();
$data['cssFiles'] = [
$data['pagerLinks'] = $data['pager']->links();
$data['cssFiles'] = [
'/assets/css/admin/groups/index.css'
];
echo view('Templates/HeaderAdmin', $data);
echo view('Admin/Groups/Home', $data);
echo view('Templates/FooterAdmin');
}
/**
@ -66,15 +71,13 @@ class Groups extends Controller
{
$data['groups'] = $this->aauth->listGroups();
$data['perms'] = $this->aauth->listPerms();
echo view('Templates/HeaderAdmin');
echo view('Admin/Groups/New', $data);
echo view('Templates/FooterAdmin');
}
/**
* Create
*
* @return void
* @return redirect
*/
public function create()
{
@ -90,7 +93,7 @@ class Groups extends Controller
foreach ($subGroups as $subgroupId => $state)
{
if ($state === 1)
if ((int) $state === 1)
{
$this->aauth->addSubgroup($groupId, $subgroupId);
}
@ -98,7 +101,7 @@ class Groups extends Controller
foreach ($perms as $permId => $state)
{
if ($state === 1)
if ((int) $state === 1)
{
$this->aauth->allowGroup($permId, $groupId);
}
@ -110,63 +113,69 @@ class Groups extends Controller
/**
* Edit
*
* @return void
* @param integer $groupId Group Id
*
* @return redirect|void
*/
public function edit($groupId)
public function edit(int $groupId)
{
$data['group'] = $this->aauth->getGroup($groupId);
$data['groups'] = $this->aauth->listGroups();
$data['perms'] = $this->aauth->listPerms();
$data['activeGroups'] = $this->aauth->getSubgroups($groupId);
$data['activePerms'] = $this->aauth->getGroupPerms($groupId);
if (! $this->aauth->getGroup($groupId))
{
return redirect()->to('/admin/groups');
}
$data['group'] = $this->aauth->getGroup($groupId);
$data['groups'] = $this->aauth->listGroupSubgroups($groupId);
$data['perms'] = $this->aauth->listGroupPerms($groupId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Groups/Edit', $data);
echo view('Templates/FooterAdmin');
}
/**
* Update
*
* @return void
* @param integer $groupId Group Id
*
* @return redirect
*/
public function update($groupId)
public function update(int $groupId)
{
$name = $this->request->getPost('name');
$definition = $this->request->getPost('definition');
$subGroups = $this->request->getPost('sub_groups');
$perms = $this->request->getPost('perms');
if (! $this->aauth->updateGroup($groupId, empty($name) ? null : $name, empty($definition) ? null : $definition))
{
return redirect()->back()->with('errors', $this->aauth->getErrorsArray());
}
$activeSubGroups = $this->aauth->getSubgroups($groupId);
$activePerms = $this->aauth->getGroupPerms($groupId, 1);
$activePerms = $this->aauth->getGroupPerms($groupId);
foreach ($subGroups as $subgroupId => $state)
{
if (! in_array(['subgroup_id' => $subgroupId], $activeSubGroups) && $state === 1)
if (! in_array(['subgroup_id' => $subgroupId], $activeSubGroups) && (int) $state === 1)
{
$this->aauth->addSubgroup($groupId, $subgroupId);
}
else if (in_array(['subgroup_id' => $subgroupId], $activeSubGroups) && $state === 0)
else if (in_array(['subgroup_id' => $subgroupId], $activeSubGroups) && (int) $state === 0)
{
$this->aauth->removeSubgroup($groupId, $subgroupId);
}
}
foreach ($perms as $permId => $state)
{
if (! in_array(['perm_id' => $permId], $activePerms) && $state === 1)
if (! in_array(['perm_id' => $permId, 'state' => '1'], $activePerms) && (int) $state === 1)
{
$this->aauth->allowGroup($permId, $groupId);
}
else if (! in_array(['perm_id' => $permId], $activePerms) && $state === 0)
else if (! in_array(['perm_id' => $permId, 'state' => '0'], $activePerms) && (int) $state === 0)
{
$this->aauth->denyGroup($permId, $groupId);
}
else if ((in_array(['perm_id' => $permId, 'state' => '0'], $activePerms) || in_array(['perm_id' => $permId, 'state' => '1'], $activePerms)) && (int) $state === -1)
{
$this->aauth->removeGroupPerm($permId, $groupId);
}
}
return redirect()->to('/admin/groups/edit/' . $groupId);
@ -175,35 +184,39 @@ class Groups extends Controller
/**
* Show
*
* @return void
* @param integer $groupId Group Id
*
* @return redirect|void
*/
public function show($groupId)
public function show(int $groupId)
{
$data['group'] = $this->aauth->getGroup($groupId);
$data['groups'] = $this->aauth->listGroups();
$data['perms'] = $this->aauth->listPerms();
$data['activeGroups'] = $this->aauth->getSubgroups($groupId);
$data['activePerms'] = $this->aauth->getGroupPerms($groupId);
if (! $this->aauth->getGroup($groupId))
{
return redirect()->to('/admin/groups');
}
$data['group'] = $this->aauth->getGroup($groupId);
$data['groups'] = $this->aauth->listGroupSubgroups($groupId);
$data['perms'] = $this->aauth->listGroupPerms($groupId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Groups/Show', $data);
echo view('Templates/FooterAdmin');
}
/**
* Delete
*
* @return void
* @param integer $groupId Group Id
*
* @return redirect|void
*/
public function delete($groupId)
public function delete(int $groupId)
{
if (! $this->aauth->getGroup($groupId))
{
return redirect()->to('/admin/groups');
}
$id = $this->request->getPost('id');
if ($groupId === $id)
if ($groupId === $this->request->getPost('id'))
{
if ($this->aauth->deleteGroup($groupId))
{
@ -211,15 +224,11 @@ class Groups extends Controller
}
}
$data['group'] = $this->aauth->getGroup($groupId);
$data['groups'] = $this->aauth->listGroups();
$data['perms'] = $this->aauth->listPerms();
$data['activeGroups'] = $this->aauth->getSubgroups($groupId);
$data['activePerms'] = $this->aauth->getGroupPerms($groupId);
$data['group'] = $this->aauth->getGroup($groupId);
$data['groups'] = $this->aauth->listGroupSubgroups($groupId);
$data['perms'] = $this->aauth->listGroupPerms($groupId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Groups/Delete', $data);
echo view('Templates/FooterAdmin');
}
}

10
app/Controllers/Admin/Home.php

@ -29,13 +29,17 @@ class Home extends Controller
/**
* Index
*
* @return void
* @return void|redirect
*/
public function index()
{
helper('aauth');
echo view('Templates/HeaderAdmin');
if (! is_admin())
{
return service('response')->redirect('/');
}
echo view('Admin/Home');
echo view('Templates/FooterAdmin');
}
}

10
app/Controllers/Admin/Migrate.php

@ -34,20 +34,18 @@ class Migrate extends Controller
public function index()
{
helper('aauth');
$config = new \Config\Aauth();
$migrate = \Config\Services::migrations();
$db = \Config\Database::connect();
try
{
$migrated = $migrate->latest('App', $config->dbProfile);
$migrate->latest('App', $config->dbProfile);
}
catch (\Exception $e)
{
// Do something with the error here...
echo $e->getMessage();
}
echo view('Templates/Header');
echo view('Admin/Migrate');
echo view('Templates/Footer');
}
}

60
app/Controllers/Admin/Perms.php

@ -33,10 +33,16 @@ class Perms extends Controller
*/
public function __construct()
{
helper('aauth');
if (! is_admin())
{
return service('response')->redirect('/');
}
$this->aauth = new Aauth();
$this->request = Services::request();
helper('form');
helper('aauth');
}
/**
@ -48,13 +54,12 @@ class Perms extends Controller
{
$data = $this->aauth->listPermsPaginated();
$data['cssFiles'] = [
$data['pagerLinks'] = $data['pager']->links();
$data['cssFiles'] = [
'/assets/css/admin/perms/index.css'
];
echo view('Templates/HeaderAdmin', $data);
echo view('Admin/Perms/Home', $data);
echo view('Templates/FooterAdmin');
}
/**
@ -64,15 +69,13 @@ class Perms extends Controller
*/
public function new()
{
echo view('Templates/HeaderAdmin');
echo view('Admin/Perms/New');
echo view('Templates/FooterAdmin');
}
/**
* Create
*
* @return void
* @return redirect
*/
public function create()
{
@ -90,23 +93,30 @@ class Perms extends Controller
/**
* Edit
*
* @return void
* @param integer $permId Perm Id
*
* @return redirect|void
*/
public function edit($permId)
public function edit(int $permId)
{
if (! $this->aauth->getPerm($permId))
{
return redirect()->to('/admin/perms');
}
$data['perm'] = $this->aauth->getPerm($permId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Perms/Edit', $data);
echo view('Templates/FooterAdmin');
}
/**
* Update
*
* @return void
* @param integer $permId Perm Id
*
* @return redirect
*/
public function update($permId)
public function update(int $permId)
{
$name = $this->request->getPost('name');
$definition = $this->request->getPost('definition');
@ -122,31 +132,37 @@ class Perms extends Controller
/**
* Show
*
* @return void
* @param integer $permId Perm Id
*
* @return redirect|void
*/
public function show($permId)
public function show(int $permId)
{
if (! $this->aauth->getPerm($permId))
{
return redirect()->to('/admin/perms');
}
$data['perm'] = $this->aauth->getPerm($permId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Perms/Show', $data);
echo view('Templates/FooterAdmin');
}
/**
* Delete
*
* @return void
* @param integer $permId Perm Id
*
* @return redirect|void
*/
public function delete($permId)
public function delete(int $permId)
{
if (! $this->aauth->getPerm($permId))
{
return redirect()->to('/admin/perms');
}
$id = $this->request->getPost('id');
if ($permId === $id)
if ($permId === $this->request->getPost('id'))
{
if ($this->aauth->deletePerm($permId))
{
@ -156,9 +172,7 @@ class Perms extends Controller
$data['perm'] = $this->aauth->getPerm($permId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Perms/Delete', $data);
echo view('Templates/FooterAdmin');
}
}

78
app/Controllers/Admin/Users.php

@ -34,11 +34,17 @@ class Users extends Controller
*/
public function __construct()
{
$this->config = new AauthConfig();
helper('aauth');
if (! is_admin())
{
return service('response')->redirect('/');
}
$this->aauth = new Aauth();
$this->config = new AauthConfig();
$this->request = Services::request();
helper('form');
helper('aauth');
}
/**
@ -50,13 +56,12 @@ class Users extends Controller
{
$data = $this->aauth->listUsersPaginated();
$data['cssFiles'] = [
$data['pagerLinks'] = $data['pager']->links();
$data['cssFiles'] = [
'/assets/css/admin/users/index.css'
];
echo view('Templates/HeaderAdmin', $data);
echo view('Admin/Users/Home', $data);
echo view('Templates/FooterAdmin');
}
/**
@ -70,15 +75,13 @@ class Users extends Controller
$data['groups'] = $this->aauth->listGroups();
$data['perms'] = $this->aauth->listPerms();
echo view('Templates/HeaderAdmin');
echo view('Admin/Users/New', $data);
echo view('Templates/FooterAdmin');
}
/**
* Create
*
* @return void
* @return redirect
*/
public function create()
{
@ -97,26 +100,33 @@ class Users extends Controller
/**
* Edit
*
* @return void
* @param integer $userId User Id
*
* @return redirect|void
*/
public function edit($userId)
public function edit(int $userId)
{
if (! $this->aauth->getUser($userId))
{
return redirect()->to('/admin/users');
}
$data['useUsername'] = $this->config->loginUseUsername;
$data['user'] = $this->aauth->getUser($userId);
$data['groups'] = $this->aauth->listGroups();
$data['perms'] = $this->aauth->listPerms();
$data['groups'] = $this->aauth->listUserGroups($userId);
$data['perms'] = $this->aauth->listUserPerms($userId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Users/Edit', $data);
echo view('Templates/FooterAdmin');
}
/**
* Update
*
* @return void
* @param integer $userId User Id
*
* @return redirect
*/
public function update($userId)
public function update(int $userId)
{
$email = $this->request->getPost('email');
$username = $this->request->getPost('username');
@ -139,11 +149,11 @@ class Users extends Controller
continue;
}
if (! in_array(['group_id' => $groupId], $activeGroups) && $state === 1)
if (! in_array(['group_id' => $groupId], $activeGroups) && (int) $state === 1)
{
$this->aauth->addMember($groupId, $userId);
}
else if (in_array(['group_id' => $groupId], $activeGroups) && $state === 0)
else if (in_array(['group_id' => $groupId], $activeGroups) && (int) $state === 0)
{
$this->aauth->removeMember($groupId, $userId);
}
@ -151,11 +161,11 @@ class Users extends Controller
foreach ($perms as $permId => $state)
{
if (! in_array(['perm_id' => $permId], $activePerms) && $state === 1)
if (! in_array(['perm_id' => $permId], $activePerms) && (int) $state === 1)
{
$this->aauth->allowUser($permId, $userId);
}
else if (in_array(['perm_id' => $permId], $activePerms) && $state === 0)
else if (in_array(['perm_id' => $permId], $activePerms) && (int) $state === 0)
{
$this->aauth->denyUser($permId, $userId);
}
@ -167,33 +177,39 @@ class Users extends Controller
/**
* Show
*
* @return void
* @param integer $userId User Id
*
* @return redirect|void
*/
public function show($userId)
public function show(int $userId)
{
if (! $this->aauth->getUser($userId))
{
return redirect()->to('/admin/users');
}
$data['user'] = $this->aauth->getUser($userId);
$data['groups'] = $this->aauth->listGroups();
$data['perms'] = $this->aauth->listPerms();
$data['groups'] = $this->aauth->listUserGroups($userId);
$data['perms'] = $this->aauth->listUserPerms($userId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Users/Show', $data);
echo view('Templates/FooterAdmin');
}
/**
* Delete
*
* @return void
* @param integer $userId User Id
*
* @return redirect|void
*/
public function delete($userId)
public function delete(int $userId)
{
if (! $this->aauth->getUser($userId))
{
return redirect()->to('/admin/users');
}
$id = $this->request->getPost('id');
if ($userId === $id)
if ($userId === $this->request->getPost('id'))
{
if ($this->aauth->deleteUser($userId))
{
@ -205,9 +221,7 @@ class Users extends Controller
$data['groups'] = $this->aauth->listGroups();
$data['perms'] = $this->aauth->listPerms();
echo view('Templates/HeaderAdmin');
echo view('Admin/Users/Delete', $data);
echo view('Templates/FooterAdmin');
}
}

3
app/Controllers/Home.php

@ -34,8 +34,7 @@ class Home extends Controller
public function index()
{
helper('aauth');
echo view('Templates/Header');
echo view('Home');
echo view('Templates/Footer');
}
}

68
app/Views/Account/Edit.php

@ -1,32 +1,36 @@
<div class="card">
<div class="card-header"><?=lang('Account.editHeader')?></div>
<div class="card-body">
<?= form_open('account/edit') ?>
<?if (isset($errors)):?>
<div class="alert alert-danger"><?=$errors?></div>
<?endif;?>
<?if (isset($infos)):?>
<div class="alert alert-success"><?=$infos?></div>
<?endif;?>
<div class="form-group">
<div class="form-label-group">
<input type="email" name="email" id="inputEmail" class="form-control" placeholder="<?=lang('Account.editLabelEmail')?>" autofocus>
<label for="inputEmail"><?=lang('Account.editLabelEmail')?></label>
</div>
</div>
<div class="form-group">
<div class="form-label-group">
<input type="text" name="username" id="inputUsername" class="form-control" placeholder="<?=lang('Account.editLabelUsername')?>">
<label for="inputUsername"><?=lang('Account.editLabelUsername')?></label>
</div>
</div>
<div class="form-group">
<div class="form-label-group">
<input type="password" name="password" id="inputPassword" class="form-control" placeholder="<?=lang('Account.editLabelPassword')?>">
<label for="inputPassword"><?=lang('Account.editLabelPassword')?></label>
</div>
</div>
<button class="btn btn-primary btn-block" type="submit"><?=lang('Account.editLabelSubmit')?></button>
<?= form_close() ?>
</div>
</div>
<?= $this->extend('Templates/Base') ?>
<?= $this->section('content') ?>
<div class="card">
<div class="card-header"><?=lang('Account.editHeader')?></div>
<div class="card-body">
<?= form_open('account/edit') ?>
<?php if (isset($errors)):?>
<div class="alert alert-danger"><?=$errors?></div>
<?php endif;?>
<?php if (isset($infos)):?>
<div class="alert alert-success"><?=$infos?></div>
<?php endif;?>
<div class="form-group">
<div class="form-label-group">
<input type="email" name="email" id="inputEmail" class="form-control" placeholder="<?=lang('Account.editLabelEmail')?>" autofocus>
<label for="inputEmail"><?=lang('Account.editLabelEmail')?></label>
</div>
</div>
<div class="form-group">
<div class="form-label-group">
<input type="text" name="username" id="inputUsername" class="form-control" placeholder="<?=lang('Account.editLabelUsername')?>">
<label for="inputUsername"><?=lang('Account.editLabelUsername')?></label>
</div>
</div>
<div class="form-group">
<div class="form-label-group">
<input type="password" name="password" id="inputPassword" class="form-control" placeholder="<?=lang('Account.editLabelPassword')?>">
<label for="inputPassword"><?=lang('Account.editLabelPassword')?></label>
</div>
</div>
<button class="btn btn-primary btn-block" type="submit"><?=lang('Account.editLabelSubmit')?></button>
<?= form_close() ?>
</div>
</div>
<?= $this->endSection() ?>

31
app/Views/Account/Home.php

@ -1,3 +1,28 @@
<h2><?= lang('Account.homeText') ?></h2> <br />
<?= lang('Account.homeLabelUsername') ?>: <?= $user['username'] ?> <br />
<?= lang('Account.homeLabelEmail') ?>: <?= $user['email'] ?> <br />
<?= $this->extend('Templates/Base') ?>
<?= $this->section('content') ?>
<div class="card">
<div class="card-header">
<?= lang('Account.homeText') ?>
</div>
<div class="card-body">
<div class="row">
<div class="col-sm-4">
<b><?= lang('Account.homeLabelUsername') ?></b>
</div>
<div class="col-sm-8">
<?= $user['username'] ?>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<b><?= lang('Account.homeLabelEmail') ?></b>
</div>
<div class="col-sm-8">
<?= $user['email'] ?>
</div>
</div>
</div>
</div>
<?= $this->endSection() ?>

98
app/Views/Account/Login.php

@ -1,48 +1,52 @@
<div class="container">
<div class="card card-login mx-auto mt-5">
<div class="card-header"><?=lang('Account.loginHeader')?></div>
<div class="card-body">
<?= form_open('account/login') ?>
<?if (isset($errors)):?>
<div class="alert alert-danger"><?=$errors?></div>
<?endif;?>
<div class="form-group">
<div class="form-label-group">
<?if ($useUsername):?>
<input type="text" name="username" id="inputUsername" class="form-control" placeholder="<?=lang('Account.loginLabelUsername')?>" required autofocus>
<label for="inputUsername"><?=lang('Account.loginLabelUsername')?></label>
<?else:?>
<input type="email" name="email" id="inputEmail" class="form-control" placeholder="<?=lang('Account.loginLabelEmail')?>" required autofocus>
<label for="inputEmail"><?=lang('Account.loginLabelEmail')?></label>
<?endif;?>
</div>
</div>
<div class="form-group">
<div class="form-label-group">
<input type="password" name="password" id="inputPassword" class="form-control" placeholder="<?=lang('Account.loginLabelPassword')?>" required>
<label for="inputPassword"><?=lang('Account.loginLabelPassword')?></label>
</div>
</div>
<div class="form-group">
<div class="checkbox">
<label>
<input type="checkbox" name="remember" value="true">
<?=lang('Account.loginLabelRemember')?>
</label>
</div>
</div>
<button class="btn btn-primary btn-block" type="submit"><?=lang('Account.loginLabelSubmit')?></button>
<?= form_close() ?>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6">
<a class="d-block small" href="<?=site_url('account/remind_password')?>"><?=lang('Account.linkRemindPassword')?></a>
</div>
<div class="col-6 text-right">
<a class="d-block small" href="<?=site_url('account/register')?>"><?=lang('Account.linkRegister')?></a>
</div>
<?= $this->extend('Templates/Blank') ?>
<?= $this->section('content') ?>
<div class="container">
<div class="card card-login mx-auto mt-5">
<div class="card-header"><?=lang('Account.loginHeader')?></div>
<div class="card-body">
<?= form_open('account/login') ?>
<?php if (isset($errors)):?>
<div class="alert alert-danger"><?=$errors?></div>
<?php endif;?>
<div class="form-group">
<div class="form-label-group">
<?php if ($useUsername):?>
<input type="text" name="username" id="inputUsername" class="form-control" placeholder="<?=lang('Account.loginLabelUsername')?>" required autofocus>
<label for="inputUsername"><?=lang('Account.loginLabelUsername')?></label>
<?php else:?>
<input type="email" name="email" id="inputEmail" class="form-control" placeholder="<?=lang('Account.loginLabelEmail')?>" required autofocus>
<label for="inputEmail"><?=lang('Account.loginLabelEmail')?></label>
<?php endif;?>
</div>
</div>
<div class="form-group">
<div class="form-label-group">
<input type="password" name="password" id="inputPassword" class="form-control" placeholder="<?=lang('Account.loginLabelPassword')?>" required>
<label for="inputPassword"><?=lang('Account.loginLabelPassword')?></label>
</div>
</div>
<div class="form-group">
<div class="checkbox">
<label>
<input type="checkbox" name="remember" value="true">
<?=lang('Account.loginLabelRemember')?>
</label>
</div>
</div>
<button class="btn btn-primary btn-block" type="submit"><?=lang('Account.loginLabelSubmit')?></button>
<?= form_close() ?>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6">
<a class="d-block small" href="<?=site_url('account/remind_password')?>"><?=lang('Account.linkRemindPassword')?></a>
</div>
</div>
</div>
</div>
<div class="col-6 text-right">
<a class="d-block small" href="<?=site_url('account/register')?>"><?=lang('Account.linkRegister')?></a>
</div>
</div>
</div>
</div>
</div>
<?= $this->endSection() ?>

95
app/Views/Account/Register.php

@ -1,45 +1,50 @@
<div class="container">
<div class="card card-register mx-auto mt-5">
<div class="card-header"><?=lang('Account.registerHeader')?></div>
<div class="card-body">
<?= form_open('account/register') ?>
<?if (isset($errors)):?>
<div class="alert alert-danger"><?=$errors?></div>
<?endif;?>
<?if (isset($infos)):?>
<div class="alert alert-success"><?=$infos?></div>
<?endif;?>
<div class="form-group">
<div class="form-label-group">
<input type="email" name="email" id="inputEmail" class="form-control" placeholder="<?=lang('Account.registerLabelEmail')?>" required autofocus>
<label for="inputEmail"><?=lang('Account.registerLabelEmail')?>*</label>
</div>
</div>
<div class="form-group">
<div class="form-label-group">
<input type="text" name="username" id="inputUsername" class="form-control" placeholder="<?=lang('Account.registerLabelUsername')?>" <?=($useUsername ? 'required' : '')?>>
<label for="inputUsername"><?=lang('Account.registerLabelUsername')?><?=($useUsername ? '*' : '')?></label>
</div>
</div>
<div class="form-group">
<div class="form-label-group">
<input type="password" name="password" id="inputPassword" class="form-control" placeholder="<?=lang('Account.registerLabelPassword')?>" required>
<label for="inputPassword"><?=lang('Account.registerLabelPassword')?>*</label>
</div>
</div>
<p class="small">* <?=lang('Account.registerRequired')?></p>
<button class="btn btn-primary btn-block" type="submit"><?=lang('Account.registerLabelSubmit')?></button>
<?= form_close() ?>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6">
<a class="d-block small" href="<?=site_url('account/login')?>"><?=lang('Account.linkBackToLogin')?></a>
</div>
<div class="col-6 text-right">
<a class="d-block small" href="<?=site_url('account/remind_password')?>"><?=lang('Account.linkRemindPassword')?></a>
</div>
</div>
</div>
</div>
</div>
<?= $this->extend('Templates/Blank') ?>
<?= $this->section('content') ?>
<div class="container">
<div class="card card-register mx-auto mt-5">
<div class="card-header"><?=lang('Account.registerHeader')?></div>
<div class="card-body">
<?= form_open('account/register') ?>
<?php if (isset($errors)):?>
<div class="alert alert-danger"><?=$errors?></div>
<?php endif;?>
<?php if (isset($infos)):?>
<div class="alert alert-success"><?=$infos?></div>
<?php endif;?>
<?php $socialData = session('userProfile'); ?>
<div class="form-group">
<div class="form-label-group">
<input type="email" name="email" id="inputEmail" class="form-control" placeholder="<?=lang('Account.registerLabelEmail')?>" <?= isset($socialData) ? 'readonly value="' . $socialData->email . '"' : 'required autofocus' ?>>
<label for="inputEmail"><?=lang('Account.registerLabelEmail')?>*</label>
</div>
</div>
<div class="form-group">
<div class="form-label-group">
<input type="text" name="username" id="inputUsername" class="form-control" placeholder="<?=lang('Account.registerLabelUsername')?>" <?=($useUsername ? 'required' : '')?> <?= isset($socialData) ? '' : 'autofocus' ?>>
<label for="inputUsername"><?=lang('Account.registerLabelUsername')?><?=($useUsername ? '*' : '')?></label>
</div>
</div>
<div class="form-group">
<div class="form-label-group">
<input type="password" name="password" id="inputPassword" class="form-control" placeholder="<?=lang('Account.registerLabelPassword')?>" required>
<label for="inputPassword"><?=lang('Account.registerLabelPassword')?>*</label>
</div>
</div>
<p class="small">* <?=lang('Account.registerRequired')?></p>
<button class="btn btn-primary btn-block" type="submit"><?=lang('Account.registerLabelSubmit')?></button>
<?= form_close() ?>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6">
<a class="d-block small" href="<?=site_url('account/login')?>"><?=lang('Account.linkBackToLogin')?></a>
</div>
<div class="col-6 text-right">
<a class="d-block small" href="<?=site_url('account/remind_password')?>"><?=lang('Account.linkRemindPassword')?></a>
</div>
</div>
</div>
</div>
</div>
<?= $this->endSection() ?>

60
app/Views/Account/RemindPassword.php

@ -1,33 +1,37 @@
<div class="container">
<div class="card card-login mx-auto mt-5">
<div class="card-header"><?=lang('Account.remindPasswordHeader')?></div>
<div class="card-body">
<?= form_open('account/remind_password') ?>
<p><?=lang('Account.remindPasswordText')?></p>
<?if (isset($errors)):?>
<div class="alert alert-danger"><?=$errors?></div>
<?endif;?>
<?if (isset($infos)):?>
<div class="alert alert-info"><?=$infos?></div>
<?endif;?>
<div class="form-group">
<div class="form-label-group">
<input type="email" name="email" id="inputEmail" class="form-control" placeholder="<?=lang('Account.remindPasswordLabelEmail')?>" required autofocus>
<label for="inputEmail"><?=lang('Account.remindPasswordLabelEmail')?></label>
</div>
</div>
<button class="btn btn-primary btn-block" type="submit"><?=lang('Account.remindPasswordLabelSubmit')?></button>
<?= form_close() ?>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6">
<a class="d-block small" href="<?=site_url('account/login')?>"><?=lang('Account.linkBackToLogin')?></a>
</div>
<div class="col-6 text-right">
<a class="d-block small" href="<?=site_url('account/register')?>"><?=lang('Account.linkRegister')?></a>
<?= $this->extend('Templates/Blank') ?>
<?= $this->section('content') ?>
<div class="container">
<div class="card card-login mx-auto mt-5">
<div class="card-header"><?=lang('Account.remindPasswordHeader')?></div>
<div class="card-body">
<?= form_open('account/remind_password') ?>
<p><?=lang('Account.remindPasswordText')?></p>
<?php if (isset($errors)):?>
<div class="alert alert-danger"><?=$errors?></div>
<?php endif;?>
<?php if (isset($infos)):?>
<div class="alert alert-info"><?=$infos?></div>
<?php endif;?>
<div class="form-group">
<div class="form-label-group">
<input type="email" name="email" id="inputEmail" class="form-control" placeholder="<?=lang('Account.remindPasswordLabelEmail')?>" required autofocus>
<label for="inputEmail"><?=lang('Account.remindPasswordLabelEmail')?></label>
</div>
</div>
<button class="btn btn-primary btn-block" type="submit"><?=lang('Account.remindPasswordLabelSubmit')?></button>
<?= form_close() ?>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6">
<a class="d-block small" href="<?=site_url('account/login')?>"><?=lang('Account.linkBackToLogin')?></a>
</div>
<div class="col-6 text-right">
<a class="d-block small" href="<?=site_url('account/register')?>"><?=lang('Account.linkRegister')?></a>
</div>
</div>
</div>
</div>
</div>
<?= $this->endSection() ?>

60
app/Views/Account/ResetPassword.php

@ -1,33 +1,37 @@
<div class="container">
<div class="card card-login mx-auto mt-5">
<div class="card-header"><?=lang('Account.resetPasswordHeader')?></div>
<div class="card-body">
<?= form_open('account/reset_password') ?>
<p><?=lang('Account.resetPasswordText')?></p>
<?if (isset($errors)):?>
<div class="alert alert-danger"><?=$errors?></div>
<?endif;?>
<?if (isset($infos)):?>
<div class="alert alert-info"><?=$infos?></div>
<?endif;?>
<div class="form-group">
<div class="form-label-group">
<input type="test" name="verification_code" id="inputVerificationCode" class="form-control" placeholder="<?=lang('Account.resetPasswordLabelVerificationCode')?>" value="<?=$verificationCode?>" required autofocus>
<label for="inputVerificationCode"><?=lang('Account.resetPasswordLabelVerificationCode')?></label>
</div>
</div>
<button class="btn btn-primary btn-block" type="submit"><?=lang('Account.resetPasswordLabelSubmit')?></button>
<?= form_close() ?>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6">
<a class="d-block small" href="<?=site_url('account/login')?>"><?=lang('Account.linkBackToLogin')?></a>
</div>
<div class="col-6 text-right">
<a class="d-block small" href="<?=site_url('account/register')?>"><?=lang('Account.linkRegister')?></a>
<?= $this->extend('Templates/Blank') ?>
<?= $this->section('content') ?>
<div class="container">
<div class="card card-login mx-auto mt-5">
<div class="card-header"><?=lang('Account.resetPasswordHeader')?></div>
<div class="card-body">
<?= form_open('account/reset_password') ?>
<p><?=lang('Account.resetPasswordText')?></p>
<?php if (isset($errors)):?>
<div class="alert alert-danger"><?=$errors?></div>
<?php endif;?>
<?php if (isset($infos)):?>
<div class="alert alert-info"><?=$infos?></div>
<?php endif;?>
<div class="form-group">
<div class="form-label-group">
<input type="test" name="verification_code" id="inputVerificationCode" class="form-control" placeholder="<?=lang('Account.resetPasswordLabelVerificationCode')?>" value="<?=$verificationCode?>" required autofocus>
<label for="inputVerificationCode"><?=lang('Account.resetPasswordLabelVerificationCode')?></label>
</div>
</div>
<button class="btn btn-primary btn-block" type="submit"><?=lang('Account.resetPasswordLabelSubmit')?></button>
<?= form_close() ?>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6">
<a class="d-block small" href="<?=site_url('account/login')?>"><?=lang('Account.linkBackToLogin')?></a>
</div>
<div class="col-6 text-right">
<a class="d-block small" href="<?=site_url('account/register')?>"><?=lang('Account.linkRegister')?></a>
</div>
</div>
</div>
</div>
</div>
<?= $this->endSection() ?>

60
app/Views/Account/Verification.php

@ -1,33 +1,37 @@
<div class="container">
<div class="card card-login mx-auto mt-5">
<div class="card-header"><?=lang('Account.verificationHeader')?></div>
<div class="card-body">
<?= form_open('account/verification') ?>
<p><?=lang('Account.verificationText')?></p>
<?if (isset($errors)):?>
<div class="alert alert-danger"><?=$errors?></div>
<?endif;?>
<?if (isset($infos)):?>
<div class="alert alert-info"><?=$infos?></div>
<?endif;?>
<div class="form-group">
<div class="form-label-group">
<input type="test" name="verification_code" id="inputVerificationCode" class="form-control" placeholder="<?=lang('Account.verificationLabelVerificationCode')?>" value="<?=$verificationCode?>" required autofocus>
<label for="inputVerificationCode"><?=lang('Account.verificationLabelVerificationCode')?></label>
</div>
</div>
<button class="btn btn-primary btn-block" type="submit"><?=lang('Account.verificationLabelSubmit')?></button>
<?= form_close() ?>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6">
<a class="d-block small" href="<?=site_url('account/login')?>"><?=lang('Account.linkBackToLogin')?></a>
</div>
<div class="col-6 text-right">
<a class="d-block small" href="<?=site_url('account/register')?>"><?=lang('Account.linkRegister')?></a>
<?= $this->extend('Templates/Blank') ?>
<?= $this->section('content') ?>
<div class="container">
<div class="card card-login mx-auto mt-5">
<div class="card-header"><?=lang('Account.verificationHeader')?></div>
<div class="card-body">
<?= form_open('account/verification') ?>
<p><?=lang('Account.verificationText')?></p>
<?php if (isset($errors)):?>
<div class="alert alert-danger"><?=$errors?></div>
<?php endif;?>
<?php if (isset($infos)):?>
<div class="alert alert-info"><?=$infos?></div>
<?php endif;?>
<div class="form-group">
<div class="form-label-group">
<input type="test" name="verification_code" id="inputVerificationCode" class="form-control" placeholder="<?=lang('Account.verificationLabelVerificationCode')?>" value="<?=$verificationCode?>" required autofocus>
<label for="inputVerificationCode"><?=lang('Account.verificationLabelVerificationCode')?></label>
</div>
</div>
<button class="btn btn-primary btn-block" type="submit"><?=lang('Account.verificationLabelSubmit')?></button>
<?= form_close() ?>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6">
<a class="d-block small" href="<?=site_url('account/login')?>"><?=lang('Account.linkBackToLogin')?></a>
</div>
<div class="col-6 text-right">
<a class="d-block small" href="<?=site_url('account/register')?>"><?=lang('Account.linkRegister')?></a>
</div>
</div>
</div>
</div>
</div>
<?= $this->endSection() ?>

130
app/Views/Admin/Groups/Delete.php

@ -1,68 +1,72 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/groups') ?>"><?= lang('Admin.groupsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonDelete') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.groupsDeleteHeader') ?>
</div>
<?= form_open('admin/groups/delete/' . $group['id'], [], ['id' => $group['id']]) ?>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.groupsLabelId') ?></label>
<p><?= $group['id'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.groupsLabelName') ?></label>
<p><?= $group['name'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.groupsLabelDefinition') ?></label>
<p><?= $group['definition'] ?></p>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputSubGroups"><?= lang('Admin.groupsLabelSubGroups') ?></label>
<?php foreach ($groups as $group): ?>
<?php if (! in_array(['subgroup_id' => $group['id']], $activeGroups)): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/groups') ?>"><?= lang('Admin.groupsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonDelete') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.groupsDeleteHeader') ?>
</div>
<?= form_open('admin/groups/delete/' . $group['id'], [], ['id' => $group['id']]) ?>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.groupsLabelId') ?></label>
<p><?= $group['id'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.groupsLabelName') ?></label>
<p><?= $group['name'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.groupsLabelDefinition') ?></label>
<p><?= $group['definition'] ?></p>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputSubGroups"><?= lang('Admin.groupsLabelSubGroups') ?></label>
<?php foreach ($groups as $group): ?>
<?php if ((int) $group['subgroup'] !== 1): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.groupsLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<?php if (! in_array(['perm_id' => $perm['id'], 'state' => 1], $activePerms)): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $perm['definition'] ?> (<?= $perm['name'] ?>)
</label>
</div>
<?php endforeach; ?>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.groupsLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<?php if ((int) $perm['state'] !== -1): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $perm['definition'] ?> (<?= $perm['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.groupsDeleteSubmit') ?></button>
<a href="<?= site_url('admin/groups') ?>" class="btn btn-warning"><?= lang('Admin.groupsLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.groupsDeleteSubmit') ?></button>
<a href="<?= site_url('admin/groups') ?>" class="btn btn-warning"><?= lang('Admin.groupsLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<?= $this->endSection() ?>

182
app/Views/Admin/Groups/Edit.php

@ -1,81 +1,109 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/groups') ?>"><?= lang('Admin.groupsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonEdit') ?></li>
</ol>
<?php if (session('errors')): ?>
<div class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<?= esc($error) ?><br />
<?php endforeach ?>
</div>
<?php elseif (session('infos')): ?>
<div class="alert alert-info">
<?php foreach (session('infos') as $info) : ?>
<?= esc($info) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.groupsEditHeader') ?>
</div>
<?= form_open('admin/groups/update/' . $group['id']) ?>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.groupsLabelNameCurrent') ?></label>
<p><?= $group['name'] ?></p>
</div>
<div class="form-group">
<label for="inputName"><?= lang('Admin.groupsLabelName') ?></label>
<input type="text" class="form-control" name="name" id="inputName" placeholder="<?= lang('Admin.groupsLabelName') ?>">
</div>
<div class="form-group">
<label><?= lang('Admin.groupsLabelDefinitionCurrent') ?></label>
<p><?= $group['definition'] ?></p>
</div>
<div class="form-group">
<label for="inputDefinition"><?= lang('Admin.groupsLabelDefinition') ?></label>
<input type="text" class="form-control" name="definition" id="inputDefinition" placeholder="<?= lang('Admin.groupsLabelDefinition') ?>">
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputSubGroups"><?= lang('Admin.groupsLabelSubGroups') ?></label>
<?php foreach ($groups as $subgroup): ?>
<input type="hidden" name="sub_groups[<?= $subgroup['id'] ?>]" value="0">
<div class="form-check">
<label>
<input type="checkbox" name="sub_groups[<?= $subgroup['id'] ?>]" value="1" <?= in_array(['subgroup_id' => $subgroup['id']], $activeGroups) ? 'checked' : ($subgroup['id'] === 2 ? 'disabled' : ($subgroup['id'] === 3 ? 'disabled' : ($subgroup['id'] === $group['id'] ? 'disabled' : ''))) ?>>
<?= $subgroup['definition'] ?> (<?= $subgroup['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/groups') ?>"><?= lang('Admin.groupsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonEdit') ?></li>
</ol>
<?php if (session('errors')): ?>
<div class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<?= esc($error) ?><br />
<?php endforeach ?>
</div>
<?php elseif (session('infos')): ?>
<div class="alert alert-info">
<?php foreach (session('infos') as $info) : ?>
<?= esc($info) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.groupsEditHeader') ?>
</div>
<?= form_open('admin/groups/update/' . $group['id']) ?>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.groupsLabelNameCurrent') ?></label>
<p><?= $group['name'] ?></p>
</div>
<div class="form-group">
<label for="inputName"><?= lang('Admin.groupsLabelName') ?></label>
<input type="text" class="form-control" name="name" id="inputName" placeholder="<?= lang('Admin.groupsLabelName') ?>">
</div>
<div class="form-group">
<label><?= lang('Admin.groupsLabelDefinitionCurrent') ?></label>
<p><?= $group['definition'] ?></p>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.groupsLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<input type="hidden" name="perms[<?= $perm['id'] ?>]" value="0">
<div class="form-check">
<label>
<input type="checkbox" name="perms[<?= $perm['id'] ?>]" value="1" <?= in_array(['perm_id' => $perm['id'], 'state' => 1], $activePerms) ? 'checked' : '' ?>>
<?= $perm['definition'] ?> (<?= $perm['name'] ?>)
</label>
</div>
<?php endforeach; ?>
<div class="form-group">
<label for="inputDefinition"><?= lang('Admin.groupsLabelDefinition') ?></label>
<input type="text" class="form-control" name="definition" id="inputDefinition" placeholder="<?= lang('Admin.groupsLabelDefinition') ?>">
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputSubGroups"><?= lang('Admin.groupsLabelSubGroups') ?></label>
<?php foreach ($groups as $subgroup): ?>
<?php $subgroup['subgroup'] = (int) $subgroup['subgroup']; ?>
<?php $subgroup['id'] = (int) $subgroup['id']; ?>
<?php $group['id'] = (int) $group['id']; ?>
<input type="hidden" name="sub_groups[<?= $subgroup['id'] ?>]" value="0">
<div class="form-check">
<label>
<input type="checkbox" name="sub_groups[<?= $subgroup['id'] ?>]" value="1" <?= $subgroup['subgroup'] === 1 ? 'checked' : ($subgroup['id'] === 2 ? 'disabled' : ($subgroup['id'] === 3 ? 'disabled' : ($subgroup['id'] === $group['id'] ? 'disabled' : ''))) ?>>
<?= $subgroup['definition'] ?> (<?= $subgroup['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.groupsLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<?php $perm['state'] = (int) $perm['state']; ?>
<input type="hidden" name="perms[<?= $perm['id'] ?>]" value="-1">
<div class="form-check">
<label>
<input type="checkbox" name="perms[<?= $perm['id'] ?>]" class="perm" <?= $perm['state'] !== -1 ? 'checked' : ''?>> <?= $perm['definition']?> (<?= $perm['name'] ?>)
</label>
<label>
<input type="radio" name="perms[<?= $perm['id'] ?>]" value="1" <?= $perm['state'] === 1 ? 'checked' : ''?> <?= $perm['state'] === -1 ? 'disabled' : ''?>><?= lang('Admin.usersLabelAllow')?>
</label>
<label>
<input type="radio" name="perms[<?= $perm['id'] ?>]" value="0" <?= $perm['state'] === 0 ? 'checked' : ''?> <?= $perm['state'] === -1 ? 'disabled' : ''?>><?= lang('Admin.usersLabelDeny')?>
</label>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.groupsEditSubmit') ?></button>
<a href="<?= site_url('admin/groups') ?>" class="btn btn-warning"><?= lang('Admin.groupsLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.groupsEditSubmit') ?></button>
<a href="<?= site_url('admin/groups') ?>" class="btn btn-warning"><?= lang('Admin.groupsLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<?= $this->endSection() ?>
<?= $this->section('footer') ?>
<script type="text/javascript">
$(document).on('change', '.perm', function() {
var name = $(this).attr('name');
if ($(this).prop('checked')) {
$('input[type="radio"][name="'+ name + '"]').prop('checked', false).prop('disabled', false);
$('input[type="radio"][name="'+ name + '"]:eq(0)').prop('checked', true);
} else {
$('input[type="radio"][name="'+ name + '"]').prop('checked', false).prop('disabled', true);
}
});
</script>
<?= $this->endSection() ?>

116
app/Views/Admin/Groups/Home.php

@ -1,60 +1,64 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.groupsBreadcrumbTitle') ?></li>
</ol>
<?php if (session('infos')): ?>
<div class="alert alert-info">
<?php foreach (session('infos') as $info) : ?>
<?= esc($info) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<a href="<?= site_url('admin/groups/new') ?>" class="btn btn-sm btn-success float-right"><?= lang('Admin.groupsLinkNew') ?></a>
<div class="pt-1"><?= lang('Admin.groupsIndexHeader') ?></div>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table mb-0">
<thead>
<tr>
<th scope="col" class="text-center"><?= lang('Admin.groupsLabelId') ?></th>
<th scope="col"><?= lang('Admin.groupsLabelName') ?></th>
<th scope="col"><?= lang('Admin.groupsLabelDefinition') ?></th>
<th scope="col" class="text-center"><?= lang('Admin.groupsLabelSubGroups') ?></th>
<th scope="col" class="text-center"><?= lang('Admin.groupsLabelPerms') ?></th>
<th scope="col"><?= lang('Admin.groupsLabelCreatedAt') ?></th>
<th scope="col"><?= lang('Admin.groupsLabelUpdatedAt') ?></th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
<?php foreach ($groups as $group): ?>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.groupsBreadcrumbTitle') ?></li>
</ol>
<?php if (session('infos')): ?>
<div class="alert alert-info">
<?php foreach (session('infos') as $info) : ?>
<?= esc($info) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<a href="<?= site_url('admin/groups/new') ?>" class="btn btn-sm btn-success float-right"><?= lang('Admin.groupsLinkNew') ?></a>
<div class="pt-1"><?= lang('Admin.groupsIndexHeader') ?></div>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table mb-0">
<thead>
<tr>
<th scope="row" class="text-center"><?= $group['id'] ?></th>
<td><?= $group['name'] ?></td>
<td><?= $group['definition'] ?></td>
<td class="text-center"><?= count(get_subgroups($group['id'])) ?></td>
<td class="text-center"><?= count(get_group_perms($group['id'], 1)) ?></td>
<td><?= $group['created_at'] ?></td>
<td><?= $group['updated_at'] ?></td>
<td class="text-right p-1">
<div class="btn-group">
<a href="<?= site_url('admin/groups/show/' . $group['id']) ?>" class="btn btn-info"><i class="fa fa-fw fa-info-circle"></i></a>
<a href="<?= site_url('admin/groups/edit/' . $group['id']) ?>" class="btn btn-warning"><i class="fa fa-fw fa-pencil-alt"></i></a>
<a href="<?= site_url('admin/groups/delete/' . $group['id']) ?>" class="btn btn-danger"><i class="fa fa-fw fa-times"></i></a>
</div>
</td>
<th scope="col" class="text-center"><?= lang('Admin.groupsLabelId') ?></th>
<th scope="col"><?= lang('Admin.groupsLabelName') ?></th>
<th scope="col"><?= lang('Admin.groupsLabelDefinition') ?></th>
<th scope="col" class="text-center"><?= lang('Admin.groupsLabelSubGroups') ?></th>
<th scope="col" class="text-center"><?= lang('Admin.groupsLabelPerms') ?></th>
<th scope="col"><?= lang('Admin.groupsLabelCreatedAt') ?></th>
<th scope="col"><?= lang('Admin.groupsLabelUpdatedAt') ?></th>
<th scope="col"></th>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</thead>
<tbody>
<?php foreach ($groups as $group): ?>
<tr>
<th scope="row" class="text-center"><?= $group['id'] ?></th>
<td><?= $group['name'] ?></td>
<td><?= $group['definition'] ?></td>
<td class="text-center"><?= count(get_subgroups($group['id'])) ?></td>
<td class="text-center"><?= count(get_group_perms($group['id'], 1)) ?></td>
<td><?= $group['created_at'] ?></td>
<td><?= $group['updated_at'] ?></td>
<td class="text-right p-1">
<div class="btn-group">
<a href="<?= site_url('admin/groups/show/' . $group['id']) ?>" class="btn btn-info"><i class="fa fa-fw fa-info-circle"></i></a>
<a href="<?= site_url('admin/groups/edit/' . $group['id']) ?>" class="btn btn-warning"><i class="fa fa-fw fa-pencil-alt"></i></a>
<a href="<?= site_url('admin/groups/delete/' . $group['id']) ?>" class="btn btn-danger"><i class="fa fa-fw fa-times"></i></a>
</div>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<div class="card-footer">
<?= $pagerLinks ?>
</div>
</div>
<div class="card-footer">
<?= $pager->links() ?>
</div>
</div>
<?= $this->endSection() ?>

151
app/Views/Admin/Groups/New.php

@ -1,67 +1,92 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/groups') ?>"><?= lang('Admin.groupsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonNew') ?></li>
</ol>
<?php if (session('errors')): ?>
<div class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<?= esc($error) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.groupsNewHeader') ?>
</div>
<?= form_open('admin/groups/create') ?>
<div class="card-body">
<div class="form-group">
<label for="inputName"><?= lang('Admin.groupsLabelName') ?></label>
<input type="text" class="form-control" name="name" id="inputName" placeholder="<?= lang('Admin.groupsLabelName') ?>" required>
</div>
<div class="form-group">
<label for="inputDefinition"><?= lang('Admin.groupsLabelDefinition') ?></label>
<input type="text" class="form-control" name="definition" id="inputDefinition" placeholder="<?= lang('Admin.groupsLabelDefinition') ?>">
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputSubGroups"><?= lang('Admin.groupsLabelSubGroups') ?></label>
<?php foreach ($groups as $group): ?>
<input type="hidden" name="sub_groups[<?= $group['id'] ?>]" value="0">
<div class="form-check">
<label>
<input type="checkbox" name="sub_groups[<?= $group['id'] ?>]" value="1" <?= ($group['id'] === 2 ? 'disabled' : ($group['id'] === 3 ? 'disabled' : '')) ?>>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/groups') ?>"><?= lang('Admin.groupsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonNew') ?></li>
</ol>
<?php if (session('errors')): ?>
<div class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<?= esc($error) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.groupsNewHeader') ?>
</div>
<?= form_open('admin/groups/create') ?>
<div class="card-body">
<div class="form-group">
<label for="inputName"><?= lang('Admin.groupsLabelName') ?></label>
<input type="text" class="form-control" name="name" id="inputName" placeholder="<?= lang('Admin.groupsLabelName') ?>" required>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.groupsLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<input type="hidden" name="perms[<?= $perm['id'] ?>]" value="0">
<div class="form-check">
<label>
<input type="checkbox" name="perms[<?= $perm['id'] ?>]" value="1">
<?= $perm['definition'] ?> (<?= $perm['name'] ?>)
</label>
</div>
<?php endforeach; ?>
<div class="form-group">
<label for="inputDefinition"><?= lang('Admin.groupsLabelDefinition') ?></label>
<input type="text" class="form-control" name="definition" id="inputDefinition" placeholder="<?= lang('Admin.groupsLabelDefinition') ?>">
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputSubGroups"><?= lang('Admin.groupsLabelSubGroups') ?></label>
<?php foreach ($groups as $subgroup): ?>
<?php $subgroup['id'] = (int) $subgroup['id']; ?>
<input type="hidden" name="sub_groups[<?= $subgroup['id'] ?>]" value="0">
<div class="form-check">
<label>
<input type="checkbox" name="sub_groups[<?= $subgroup['id'] ?>]" value="1" <?= ($subgroup['id'] === 2 ? 'disabled' : ($subgroup['id'] === 3 ? 'disabled' : '')) ?>>
<?= $subgroup['definition'] ?> (<?= $subgroup['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.groupsLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<input type="hidden" name="perms[<?= $perm['id'] ?>]" value="-1">
<div class="form-check">
<label>
<input type="checkbox" name="perms[<?= $perm['id'] ?>]" class="perm"> <?= $perm['definition']?> (<?= $perm['name'] ?>)
</label>
<label>
<input type="radio" name="perms[<?= $perm['id'] ?>]" value="1" <?= $perm['state'] === -1 ? 'disabled' : ''?>><?= lang('Admin.usersLabelAllow')?>
</label>
<label>
<input type="radio" name="perms[<?= $perm['id'] ?>]" value="0" <?= $perm['state'] === -1 ? 'disabled' : ''?>><?= lang('Admin.usersLabelDeny')?>
</label>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.groupsNewSubmit') ?></button>
<a href="<?= site_url('admin/groups') ?>" class="btn btn-warning"><?= lang('Admin.groupsLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.groupsNewSubmit') ?></button>
<a href="<?= site_url('admin/groups') ?>" class="btn btn-warning"><?= lang('Admin.groupsLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<?= $this->endSection() ?>
<?= $this->section('footer') ?>
<script type="text/javascript">
$(document).on('change', '.perm', function() {
var name = $(this).attr('name');
if ($(this).prop('checked')) {
$('input[type="radio"][name="'+ name + '"]').prop('checked', false).prop('disabled', false);
$('input[type="radio"][name="'+ name + '"]:eq(0)').prop('checked', true);
} else {
$('input[type="radio"][name="'+ name + '"]').prop('checked', false).prop('disabled', true);
}
});
</script>
<?= $this->endSection() ?>

118
app/Views/Admin/Groups/Show.php

@ -1,63 +1,67 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/groups') ?>"><?= lang('Admin.groupsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonShow') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.groupsShowHeader') ?>
</div>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.groupsLabelId') ?></label>
<p><?= $group['id'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.groupsLabelName') ?></label>
<p><?= $group['name'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.groupsLabelDefinition') ?></label>
<p><?= $group['definition'] ?></p>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/groups') ?>"><?= lang('Admin.groupsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonShow') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.groupsShowHeader') ?>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputSubGroups"><?= lang('Admin.groupsLabelSubGroups') ?></label>
<?php foreach ($groups as $group): ?>
<?php if (! in_array(['subgroup_id' => $group['id']], $activeGroups)): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.groupsLabelId') ?></label>
<p><?= $group['id'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.groupsLabelName') ?></label>
<p><?= $group['name'] ?></p>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.groupsLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<?php if (! in_array(['perm_id' => $perm['id'], 'state' => 1], $activePerms)): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $perm['definition'] ?> (<?= $perm['name'] ?>)
</label>
</div>
<?php endforeach; ?>
<div class="form-group">
<label><?= lang('Admin.groupsLabelDefinition') ?></label>
<p><?= $group['definition'] ?></p>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputSubGroups"><?= lang('Admin.groupsLabelSubGroups') ?></label>
<?php foreach ($groups as $group): ?>
<?php if ((int) $group['subgroup'] !== 1): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.groupsLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<?php if ((int) $perm['state'] !== -1): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $perm['definition'] ?> (<?= $perm['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
<div class="card-footer">
<a href="<?= site_url('admin/groups') ?>" class="btn btn-warning"><?= lang('Admin.groupsLinkBack') ?></a>
</div>
</div>
<div class="card-footer">
<a href="<?= site_url('admin/groups') ?>" class="btn btn-warning"><?= lang('Admin.groupsLinkBack') ?></a>
</div>
</div>
<?= $this->endSection() ?>

24
app/Views/Admin/Home.php

@ -1,11 +1,15 @@
<ol class="breadcrumb">
<li class="breadcrumb-item active"><?= lang('Admin.homeBreadcrumbTitle') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.homeHeader') ?>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item active"><?= lang('Admin.homeBreadcrumbTitle') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.homeHeader') ?>
</div>
<div class="card-body">
<p class="lead"><?= lang('Admin.homeText') ?></p>
</div>
</div>
<div class="card-body">
<p class="lead"><?= lang('Admin.homeText') ?></p>
</div>
</div>
<?= $this->endSection() ?>

12
app/Views/Admin/Migrate.php

@ -1,4 +1,8 @@
<div class="pt-5 px-5 mt-5 mx-auto w-50">
<h1 class="mb-5">CodeIgniter-Aauth v3 Migration</h1>
<p class="lead">Migration done.</p>
</div>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<div class="pt-5 px-5 mt-5 mx-auto w-50">
<h1 class="mb-5">CodeIgniter-Aauth v3 Migration</h1>
<p class="lead">Migration done.</p>
</div>
<?= $this->endSection() ?>

68
app/Views/Admin/Perms/Delete.php

@ -1,34 +1,38 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/perms') ?>"><?= lang('Admin.permsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonDelete') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.permsDeleteHeader') ?>
</div>
<?= form_open('admin/perms/delete/' . $perm['id'], [], ['id' => $perm['id']]) ?>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.permsLabelId') ?></label>
<p><?= $perm['id'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.permsLabelName') ?></label>
<p><?= $perm['name'] ?></p>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/perms') ?>"><?= lang('Admin.permsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonDelete') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.permsDeleteHeader') ?>
</div>
<?= form_open('admin/perms/delete/' . $perm['id'], [], ['id' => $perm['id']]) ?>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.permsLabelId') ?></label>
<p><?= $perm['id'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.permsLabelName') ?></label>
<p><?= $perm['name'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.permsLabelDefinition') ?></label>
<p><?= $perm['definition'] ?></p>
</div>
</div>
<div class="form-group">
<label><?= lang('Admin.permsLabelDefinition') ?></label>
<p><?= $perm['definition'] ?></p>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.permsDeleteSubmit') ?></button>
<a href="<?= site_url('admin/perms') ?>" class="btn btn-warning"><?= lang('Admin.permsLinkBack') ?></a>
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.permsDeleteSubmit') ?></button>
<a href="<?= site_url('admin/perms') ?>" class="btn btn-warning"><?= lang('Admin.permsLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<?= form_close() ?>
</div>
<?= $this->endSection() ?>

102
app/Views/Admin/Perms/Edit.php

@ -1,51 +1,55 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/perms') ?>"><?= lang('Admin.permsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonEdit') ?></li>
</ol>
<?php if (session('errors')): ?>
<div class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<?= esc($error) ?><br />
<?php endforeach ?>
</div>
<?php elseif (session('infos')): ?>
<div class="alert alert-info">
<?php foreach (session('infos') as $info) : ?>
<?= esc($info) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.permsEditHeader') ?>
</div>
<?= form_open('admin/perms/update/' . $perm['id']) ?>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.permsLabelNameCurrent') ?></label>
<p><?= $perm['name'] ?></p>
</div>
<div class="form-group">
<label for="inputName"><?= lang('Admin.permsLabelName') ?></label>
<input type="text" class="form-control" name="name" id="inputName" placeholder="<?= lang('Admin.permsLabelName') ?>">
</div>
<div class="form-group">
<label><?= lang('Admin.permsLabelDefinitionCurrent') ?></label>
<p><?= $perm['definition'] ?></p>
</div>
<div class="form-group">
<label for="inputDefinition"><?= lang('Admin.permsLabelDefinition') ?></label>
<input type="text" class="form-control" name="definition" id="inputDefinition" placeholder="<?= lang('Admin.permsLabelDefinition') ?>">
</div>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/perms') ?>"><?= lang('Admin.permsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonEdit') ?></li>
</ol>
<?php if (session('errors')): ?>
<div class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<?= esc($error) ?><br />
<?php endforeach ?>
</div>
<?php elseif (session('infos')): ?>
<div class="alert alert-info">
<?php foreach (session('infos') as $info) : ?>
<?= esc($info) ?><br />
<?php endforeach ?>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.permsEditSubmit') ?></button>
<a href="<?= site_url('admin/perms') ?>" class="btn btn-warning"><?= lang('Admin.permsLinkBack') ?></a>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.permsEditHeader') ?>
</div>
<?= form_close() ?>
</div>
<?= form_open('admin/perms/update/' . $perm['id']) ?>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.permsLabelNameCurrent') ?></label>
<p><?= $perm['name'] ?></p>
</div>
<div class="form-group">
<label for="inputName"><?= lang('Admin.permsLabelName') ?></label>
<input type="text" class="form-control" name="name" id="inputName" placeholder="<?= lang('Admin.permsLabelName') ?>">
</div>
<div class="form-group">
<label><?= lang('Admin.permsLabelDefinitionCurrent') ?></label>
<p><?= $perm['definition'] ?></p>
</div>
<div class="form-group">
<label for="inputDefinition"><?= lang('Admin.permsLabelDefinition') ?></label>
<input type="text" class="form-control" name="definition" id="inputDefinition" placeholder="<?= lang('Admin.permsLabelDefinition') ?>">
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.permsEditSubmit') ?></button>
<a href="<?= site_url('admin/perms') ?>" class="btn btn-warning"><?= lang('Admin.permsLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<?= $this->endSection() ?>

108
app/Views/Admin/Perms/Home.php

@ -1,56 +1,60 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.permsBreadcrumbTitle') ?></li>
</ol>
<?php if (session('infos')): ?>
<div class="alert alert-info">
<?php foreach (session('infos') as $info) : ?>
<?= esc($info) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<a href="<?= site_url('admin/perms/new') ?>" class="btn btn-sm btn-success float-right"><?= lang('Admin.permsLinkNew') ?></a>
<div class="pt-1"><?= lang('Admin.permsIndexHeader') ?></div>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table mb-0">
<thead>
<tr>
<th scope="col" class="text-center"><?= lang('Admin.permsLabelId') ?></th>
<th scope="col"><?= lang('Admin.permsLabelName') ?></th>
<th scope="col"><?= lang('Admin.permsLabelDefinition') ?></th>
<th scope="col"><?= lang('Admin.permsLabelCreatedAt') ?></th>
<th scope="col"><?= lang('Admin.permsLabelUpdatedAt') ?></th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
<?php foreach ($perms as $perm): ?>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.permsBreadcrumbTitle') ?></li>
</ol>
<?php if (session('infos')): ?>
<div class="alert alert-info">
<?php foreach (session('infos') as $info) : ?>
<?= esc($info) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<a href="<?= site_url('admin/perms/new') ?>" class="btn btn-sm btn-success float-right"><?= lang('Admin.permsLinkNew') ?></a>
<div class="pt-1"><?= lang('Admin.permsIndexHeader') ?></div>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table mb-0">
<thead>
<tr>
<th scope="row" class="text-center"><?= $perm['id'] ?></th>
<td><?= $perm['name'] ?></td>
<td><?= $perm['definition'] ?></td>
<td><?= $perm['created_at'] ?></td>
<td><?= $perm['updated_at'] ?></td>
<td class="text-right p-1">
<div class="btn-group">
<a href="<?= site_url('admin/perms/show/' . $perm['id']) ?>" class="btn btn-info"><i class="fa fa-fw fa-info-circle"></i></a>
<a href="<?= site_url('admin/perms/edit/' . $perm['id']) ?>" class="btn btn-warning"><i class="fa fa-fw fa-pencil-alt"></i></a>
<a href="<?= site_url('admin/perms/delete/' . $perm['id']) ?>" class="btn btn-danger"><i class="fa fa-fw fa-times"></i></a>
</div>
</td>
<th scope="col" class="text-center"><?= lang('Admin.permsLabelId') ?></th>
<th scope="col"><?= lang('Admin.permsLabelName') ?></th>
<th scope="col"><?= lang('Admin.permsLabelDefinition') ?></th>
<th scope="col"><?= lang('Admin.permsLabelCreatedAt') ?></th>
<th scope="col"><?= lang('Admin.permsLabelUpdatedAt') ?></th>
<th scope="col"></th>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</thead>
<tbody>
<?php foreach ($perms as $perm): ?>
<tr>
<th scope="row" class="text-center"><?= $perm['id'] ?></th>
<td><?= $perm['name'] ?></td>
<td><?= $perm['definition'] ?></td>
<td><?= $perm['created_at'] ?></td>
<td><?= $perm['updated_at'] ?></td>
<td class="text-right p-1">
<div class="btn-group">
<a href="<?= site_url('admin/perms/show/' . $perm['id']) ?>" class="btn btn-info"><i class="fa fa-fw fa-info-circle"></i></a>
<a href="<?= site_url('admin/perms/edit/' . $perm['id']) ?>" class="btn btn-warning"><i class="fa fa-fw fa-pencil-alt"></i></a>
<a href="<?= site_url('admin/perms/delete/' . $perm['id']) ?>" class="btn btn-danger"><i class="fa fa-fw fa-times"></i></a>
</div>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<div class="card-footer">
<?= $pagerLinks ?>
</div>
</div>
<div class="card-footer">
<?= $pager->links() ?>
</div>
</div>
<?= $this->endSection() ?>

74
app/Views/Admin/Perms/New.php

@ -1,37 +1,41 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/perms') ?>"><?= lang('Admin.permsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonNew') ?></li>
</ol>
<?php if (session('errors')): ?>
<div class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<?= esc($error) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.permsNewHeader') ?>
</div>
<?= form_open('admin/perms/create') ?>
<div class="card-body">
<div class="form-group">
<label for="inputName"><?= lang('Admin.permsLabelName') ?></label>
<input type="text" class="form-control" name="name" id="inputName" placeholder="<?= lang('Admin.permsLabelName') ?>" required>
</div>
<div class="form-group">
<label for="inputDefinition"><?= lang('Admin.permsLabelDefinition') ?></label>
<input type="text" class="form-control" name="definition" id="inputDefinition" placeholder="<?= lang('Admin.permsLabelDefinition') ?>">
</div>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/perms') ?>"><?= lang('Admin.permsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonNew') ?></li>
</ol>
<?php if (session('errors')): ?>
<div class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<?= esc($error) ?><br />
<?php endforeach ?>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.permsNewSubmit') ?></button>
<a href="<?= site_url('admin/perms') ?>" class="btn btn-warning"><?= lang('Admin.permsLinkBack') ?></a>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.permsNewHeader') ?>
</div>
<?= form_close() ?>
</div>
<?= form_open('admin/perms/create') ?>
<div class="card-body">
<div class="form-group">
<label for="inputName"><?= lang('Admin.permsLabelName') ?></label>
<input type="text" class="form-control" name="name" id="inputName" placeholder="<?= lang('Admin.permsLabelName') ?>" required>
</div>
<div class="form-group">
<label for="inputDefinition"><?= lang('Admin.permsLabelDefinition') ?></label>
<input type="text" class="form-control" name="definition" id="inputDefinition" placeholder="<?= lang('Admin.permsLabelDefinition') ?>">
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.permsNewSubmit') ?></button>
<a href="<?= site_url('admin/perms') ?>" class="btn btn-warning"><?= lang('Admin.permsLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<?= $this->endSection() ?>

58
app/Views/Admin/Perms/Show.php

@ -1,31 +1,35 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/perms') ?>"><?= lang('Admin.permsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonShow') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.permsShowHeader') ?>
</div>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.permsLabelId') ?></label>
<p><?= $perm['id'] ?></p>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/perms') ?>"><?= lang('Admin.permsBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonShow') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.permsShowHeader') ?>
</div>
<div class="form-group">
<label><?= lang('Admin.permsLabelName') ?></label>
<p><?= $perm['name'] ?></p>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.permsLabelId') ?></label>
<p><?= $perm['id'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.permsLabelName') ?></label>
<p><?= $perm['name'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.permsLabelDefinition') ?></label>
<p><?= $perm['definition'] ?></p>
</div>
</div>
<div class="form-group">
<label><?= lang('Admin.permsLabelDefinition') ?></label>
<p><?= $perm['definition'] ?></p>
<div class="card-footer">
<a href="<?= site_url('admin/perms') ?>" class="btn btn-warning"><?= lang('Admin.permsLinkBack') ?></a>
</div>
</div>
<div class="card-footer">
<a href="<?= site_url('admin/perms') ?>" class="btn btn-warning"><?= lang('Admin.permsLinkBack') ?></a>
</div>
</div>
<?= $this->endSection() ?>

128
app/Views/Admin/Users/Delete.php

@ -1,66 +1,70 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/users') ?>"><?= lang('Admin.usersBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonDelete') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.usersDeleteHeader') ?>
</div>
<?= form_open('admin/users/delete/' . $user['id'], [], ['id' => $user['id']]) ?>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.usersLabelId') ?></label>
<p><?= $user['id'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.usersLabelEmail') ?></label>
<p><?= $user['email'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.usersLabelUsername') ?></label>
<p><?= $user['username'] ?></p>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputSubGroups"><?= lang('Admin.usersLabelGroups') ?></label>
<?php foreach ($groups as $group): ?>
<?php if (! is_member($group['id'], $user['id'])): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/users') ?>"><?= lang('Admin.usersBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonDelete') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.usersDeleteHeader') ?>
</div>
<?= form_open('admin/users/delete/' . $user['id'], [], ['id' => $user['id']]) ?>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.usersLabelId') ?></label>
<p><?= $user['id'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.usersLabelEmail') ?></label>
<p><?= $user['email'] ?></p>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.usersLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<?php if (! is_allowed($perm['id'], $user['id'])): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $perm['definition'] ?> (<?= $perm['name'] ?>)
</label>
</div>
<?php endforeach; ?>
<div class="form-group">
<label><?= lang('Admin.usersLabelUsername') ?></label>
<p><?= $user['username'] ?></p>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputSubGroups"><?= lang('Admin.usersLabelGroups') ?></label>
<?php foreach ($groups as $group): ?>
<?php if ((int) $group['member'] !== 1): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.usersLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<?php if ((int) $perm['state'] !== -1): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $perm['definition'] ?> (<?= $perm['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.usersDeleteSubmit') ?></button>
<a href="<?= site_url('admin/users') ?>" class="btn btn-warning"><?= lang('Admin.usersLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.usersDeleteSubmit') ?></button>
<a href="<?= site_url('admin/users') ?>" class="btn btn-warning"><?= lang('Admin.usersLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<?= $this->endSection() ?>

188
app/Views/Admin/Users/Edit.php

@ -1,85 +1,111 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/users') ?>"><?= lang('Admin.usersBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonEdit') ?></li>
</ol>
<?php if (session('errors')): ?>
<div class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<?= esc($error) ?><br />
<?php endforeach ?>
</div>
<?php elseif (session('infos')): ?>
<div class="alert alert-info">
<?php foreach (session('infos') as $info) : ?>
<?= esc($info) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.usersEditHeader') ?>
</div>
<?= form_open('admin/users/update/' . $user['id']) ?>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.usersLabelEmailCurrent') ?></label>
<p><?= $user['email'] ?></p>
</div>
<div class="form-group">
<label for="inputEmail"><?= lang('Admin.usersLabelEmail') ?></label>
<input type="email" class="form-control" name="email" id="inputEmail" placeholder="<?= lang('Admin.usersLabelEmail') ?>">
</div>
<div class="form-group">
<label><?= lang('Admin.usersLabelUsernameCurrent') ?></label>
<p><?= $user['username'] ?></p>
</div>
<div class="form-group">
<label for="inputUsername"><?= lang('Admin.usersLabelUsername') ?></label>
<input type="text" class="form-control" name="username" id="inputUsername" placeholder="<?= lang('Admin.usersLabelUsername') ?>">
</div>
<div class="form-group">
<label for="inputPassword"><?= lang('Admin.usersLabelPassword') ?></label>
<input type="password" class="form-control" name="password" id="inputPassword" placeholder="<?= lang('Admin.usersLabelPassword') ?>">
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputGroups"><?= lang('Admin.usersLabelGroups') ?></label>
<?php foreach ($groups as $group): ?>
<input type="hidden" name="groups[<?= $group['id'] ?>]" value="0">
<div class="form-check">
<label>
<input type="checkbox" name="groups[<?= $group['id'] ?>]" value="1" <?= ($group['id'] === 2 ? 'checked disabled' : ($group['id'] === 3 ? 'disabled' : (is_member($group['id'], $user['id']) ? 'checked' : ''))) ?>>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/users') ?>"><?= lang('Admin.usersBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonEdit') ?></li>
</ol>
<?php if (session('errors')): ?>
<div class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<?= esc($error) ?><br />
<?php endforeach ?>
</div>
<?php elseif (session('infos')): ?>
<div class="alert alert-info">
<?php foreach (session('infos') as $info) : ?>
<?= esc($info) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.usersEditHeader') ?>
</div>
<?= form_open('admin/users/update/' . $user['id']) ?>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.usersLabelEmailCurrent') ?></label>
<p><?= $user['email'] ?></p>
</div>
<div class="form-group">
<label for="inputEmail"><?= lang('Admin.usersLabelEmail') ?></label>
<input type="email" class="form-control" name="email" id="inputEmail" placeholder="<?= lang('Admin.usersLabelEmail') ?>">
</div>
<div class="form-group">
<label><?= lang('Admin.usersLabelUsernameCurrent') ?></label>
<p><?= $user['username'] ?></p>
</div>
<div class="form-group">
<label for="inputUsername"><?= lang('Admin.usersLabelUsername') ?></label>
<input type="text" class="form-control" name="username" id="inputUsername" placeholder="<?= lang('Admin.usersLabelUsername') ?>">
</div>
<div class="form-group">
<label for="inputPassword"><?= lang('Admin.usersLabelPassword') ?></label>
<input type="password" class="form-control" name="password" id="inputPassword" placeholder="<?= lang('Admin.usersLabelPassword') ?>">
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.usersLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<input type="hidden" name="perms[<?= $perm['id'] ?>]" value="0">
<div class="form-check">
<label>
<input type="checkbox" name="perms[<?= $perm['id'] ?>]" value="1" <?= (is_allowed($perm['id'], $user['id']) ? 'checked' : '') ?>>
<?= $perm['definition'] ?> (<?= $perm['name'] ?>)
</label>
</div>
<?php endforeach; ?>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputGroups"><?= lang('Admin.usersLabelGroups') ?></label>
<?php foreach ($groups as $group): ?>
<?php $group['id'] = (int) $group['id']; ?>
<input type="hidden" name="groups[<?= $group['id'] ?>]" value="0">
<div class="form-check">
<label>
<input type="checkbox" name="groups[<?= $group['id'] ?>]" value="1" <?= ($group['id'] === 2 ? 'checked disabled' : ($group['id'] === 3 ? 'disabled' : (is_member($group['id'], $user['id']) ? 'checked' : ''))) ?>>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.usersLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<?php $perm['state'] = (int) $perm['state']; ?>
<input type="hidden" name="perms[<?= $perm['id'] ?>]" value="-1">
<div class="form-check">
<label>
<input type="checkbox" name="perms[<?= $perm['id'] ?>]" class="perm" <?= $perm['state'] !== -1 ? 'checked' : ''?>> <?= $perm['definition']?> (<?= $perm['name'] ?>)
</label>
<label>
<input type="radio" name="perms[<?= $perm['id'] ?>]" value="1" <?= $perm['state'] === 1 ? 'checked' : ''?> <?= $perm['state'] === -1 ? 'disabled' : ''?>><?= lang('Admin.usersLabelAllow')?>
</label>
<label>
<input type="radio" name="perms[<?= $perm['id'] ?>]" value="0" <?= $perm['state'] === 0 ? 'checked' : ''?> <?= $perm['state'] === -1 ? 'disabled' : ''?>><?= lang('Admin.usersLabelDeny')?>
</label>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.usersEditSubmit') ?></button>
<a href="<?= site_url('admin/users') ?>" class="btn btn-warning"><?= lang('Admin.usersLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.usersEditSubmit') ?></button>
<a href="<?= site_url('admin/users') ?>" class="btn btn-warning"><?= lang('Admin.usersLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<?= $this->endSection() ?>
<?= $this->section('footer') ?>
<script type="text/javascript">
$(document).on('change', '.perm', function() {
var name = $(this).attr('name');
if ($(this).prop('checked')) {
$('input[type="radio"][name="'+ name + '"]').prop('checked', false).prop('disabled', false);
$('input[type="radio"][name="'+ name + '"]:eq(0)').prop('checked', true);
} else {
$('input[type="radio"][name="'+ name + '"]').prop('checked', false).prop('disabled', true);
}
});
</script>
<?= $this->endSection() ?>

132
app/Views/Admin/Users/Home.php

@ -1,68 +1,72 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.usersBreadcrumbTitle') ?></li>
</ol>
<?php if (session('infos')): ?>
<div class="alert alert-info">
<?php foreach (session('infos') as $info) : ?>
<?= esc($info) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<a href="<?= site_url('admin/users/new') ?>" class="btn btn-sm btn-success float-right"><?= lang('Admin.usersLinkNew') ?></a>
<div class="pt-1"><?= lang('Admin.usersIndexHeader') ?></div>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table mb-0">
<thead>
<tr>
<th scope="col" class="text-center"><?= lang('Admin.usersLabelId') ?></th>
<th scope="col"><?= lang('Admin.usersLabelEmail') ?></th>
<th scope="col"><?= lang('Admin.usersLabelUsername') ?></th>
<th scope="col" class="text-center"><?= lang('Admin.usersLabelGroups') ?></th>
<th scope="col" class="text-center"><?= lang('Admin.usersLabelPerms') ?></th>
<th scope="col" class="text-center"><?= lang('Admin.usersLabelBanned') ?></th>
<th scope="col"><?= lang('Admin.usersLabelCreatedAt') ?></th>
<th scope="col"><?= lang('Admin.usersLabelUpdatedAt') ?></th>
<th scope="col"><?= lang('Admin.usersLabelLastIPAddress') ?></th>
<th scope="col"><?= lang('Admin.usersLabelLastActivity') ?></th>
<th scope="col"><?= lang('Admin.usersLabelLastLogin') ?></th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
<?php foreach ($users as $user): ?>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.usersBreadcrumbTitle') ?></li>
</ol>
<?php if (session('infos')): ?>
<div class="alert alert-info">
<?php foreach (session('infos') as $info) : ?>
<?= esc($info) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<a href="<?= site_url('admin/users/new') ?>" class="btn btn-sm btn-success float-right"><?= lang('Admin.usersLinkNew') ?></a>
<div class="pt-1"><?= lang('Admin.usersIndexHeader') ?></div>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table mb-0">
<thead>
<tr>
<th scope="row" class="text-center"><?= $user['id'] ?></th>
<td><?= $user['email'] ?></td>
<td><?= $user['username'] ?></td>
<td class="text-center"><?= count(get_user_groups($user['id'])) ?></td>
<td class="text-center"><?= count(get_user_perms($user['id'], 1)) ?></td>
<td class="text-center"><?= $user['banned'] === 1 ? 'Yes' : 'No' ?></td>
<td><?= $user['created_at'] ?></td>
<td><?= $user['updated_at'] ?></td>
<td><?= $user['last_ip_address'] ?></td>
<td><?= $user['last_activity'] ?></td>
<td><?= $user['last_login'] ?></td>
<td class="text-right p-1">
<div class="btn-group">
<a href="<?= site_url('admin/users/show/' . $user['id']) ?>" class="btn btn-info"><i class="fa fa-fw fa-info-circle"></i></a>
<a href="<?= site_url('admin/users/edit/' . $user['id']) ?>" class="btn btn-warning"><i class="fa fa-fw fa-pencil-alt"></i></a>
<a href="<?= site_url('admin/users/delete/' . $user['id']) ?>" class="btn btn-danger"><i class="fa fa-fw fa-times"></i></a>
</div>
</td>
<th scope="col" class="text-center"><?= lang('Admin.usersLabelId') ?></th>
<th scope="col"><?= lang('Admin.usersLabelEmail') ?></th>
<th scope="col"><?= lang('Admin.usersLabelUsername') ?></th>
<th scope="col" class="text-center"><?= lang('Admin.usersLabelGroups') ?></th>
<th scope="col" class="text-center"><?= lang('Admin.usersLabelPerms') ?></th>
<th scope="col" class="text-center"><?= lang('Admin.usersLabelBanned') ?></th>
<th scope="col"><?= lang('Admin.usersLabelCreatedAt') ?></th>
<th scope="col"><?= lang('Admin.usersLabelUpdatedAt') ?></th>
<th scope="col"><?= lang('Admin.usersLabelLastIPAddress') ?></th>
<th scope="col"><?= lang('Admin.usersLabelLastActivity') ?></th>
<th scope="col"><?= lang('Admin.usersLabelLastLogin') ?></th>
<th scope="col"></th>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</thead>
<tbody>
<?php foreach ($users as $user): ?>
<tr>
<th scope="row" class="text-center"><?= $user['id'] ?></th>
<td><?= $user['email'] ?></td>
<td><?= $user['username'] ?></td>
<td class="text-center"><?= count(get_user_groups($user['id'])) ?></td>
<td class="text-center"><?= count(get_user_perms($user['id'], 1)) ?></td>
<td class="text-center"><?= $user['banned'] === 1 ? 'Yes' : 'No' ?></td>
<td><?= $user['created_at'] ?></td>
<td><?= $user['updated_at'] ?></td>
<td><?= $user['last_ip_address'] ?></td>
<td><?= $user['last_activity'] ?></td>
<td><?= $user['last_login'] ?></td>
<td class="text-right p-1">
<div class="btn-group">
<a href="<?= site_url('admin/users/show/' . $user['id']) ?>" class="btn btn-info"><i class="fa fa-fw fa-info-circle"></i></a>
<a href="<?= site_url('admin/users/edit/' . $user['id']) ?>" class="btn btn-warning"><i class="fa fa-fw fa-pencil-alt"></i></a>
<a href="<?= site_url('admin/users/delete/' . $user['id']) ?>" class="btn btn-danger"><i class="fa fa-fw fa-times"></i></a>
</div>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<div class="card-footer">
<?= $pagerLinks ?>
</div>
</div>
<div class="card-footer">
<?= $pager->links() ?>
</div>
</div>
<?= $this->endSection() ?>

159
app/Views/Admin/Users/New.php

@ -1,71 +1,96 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/users') ?>"><?= lang('Admin.usersBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonNew') ?></li>
</ol>
<?php if (session('errors')): ?>
<div class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<?= esc($error) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.usersNewHeader') ?>
</div>
<?= form_open('admin/users/create') ?>
<div class="card-body">
<div class="form-group">
<label for="inputEmail"><?= lang('Admin.usersLabelEmail') ?></label>
<input type="email" class="form-control" name="email" id="inputEmail" placeholder="<?= lang('Admin.usersLabelEmail') ?>" required>
</div>
<div class="form-group">
<label for="inputUsername"><?= lang('Admin.usersLabelUsername') ?></label>
<input type="text" class="form-control" name="username" id="inputUsername" placeholder="<?= lang('Admin.usersLabelUsername') ?>" <?= $useUsername ? 'required' : '' ?>>
</div>
<div class="form-group">
<label for="inputPassword"><?= lang('Admin.usersLabelPassword') ?></label>
<input type="password" class="form-control" name="password" id="inputPassword" placeholder="<?= lang('Admin.usersLabelPassword') ?>" required>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputGroups"><?= lang('Admin.usersLabelGroups') ?></label>
<?php foreach ($groups as $group): ?>
<input type="hidden" name="groups[<?= $group['id'] ?>]" value="0">
<div class="form-check">
<label>
<input type="checkbox" name="groups[<?= $group['id'] ?>]" value="1" <?= ($group['id'] === 2 ? 'checked disabled' : ($group['id'] === 3 ? 'disabled' : '')) ?>>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/users') ?>"><?= lang('Admin.usersBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonNew') ?></li>
</ol>
<?php if (session('errors')): ?>
<div class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<?= esc($error) ?><br />
<?php endforeach ?>
</div>
<?php endif; ?>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.usersNewHeader') ?>
</div>
<?= form_open('admin/users/create') ?>
<div class="card-body">
<div class="form-group">
<label for="inputEmail"><?= lang('Admin.usersLabelEmail') ?></label>
<input type="email" class="form-control" name="email" id="inputEmail" placeholder="<?= lang('Admin.usersLabelEmail') ?>" required>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.usersLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<input type="hidden" name="perms[<?= $perm['id'] ?>]" value="0">
<div class="form-check">
<label>
<input type="checkbox" name="perms[<?= $perm['id'] ?>]" value="1">
<?= $perm['definition'] ?> (<?= $perm['name'] ?>)
</label>
</div>
<?php endforeach; ?>
<div class="form-group">
<label for="inputUsername"><?= lang('Admin.usersLabelUsername') ?></label>
<input type="text" class="form-control" name="username" id="inputUsername" placeholder="<?= lang('Admin.usersLabelUsername') ?>" <?= $useUsername ? 'required' : '' ?>>
</div>
<div class="form-group">
<label for="inputPassword"><?= lang('Admin.usersLabelPassword') ?></label>
<input type="password" class="form-control" name="password" id="inputPassword" placeholder="<?= lang('Admin.usersLabelPassword') ?>" required>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputGroups"><?= lang('Admin.usersLabelGroups') ?></label>
<?php foreach ($groups as $group): ?>
<?php $group['id'] = (int) $group['id']; ?>
<input type="hidden" name="groups[<?= $group['id'] ?>]" value="0">
<div class="form-check">
<label>
<input type="checkbox" name="groups[<?= $group['id'] ?>]" value="1" <?= ($group['id'] === 2 ? 'checked disabled' : ($group['id'] === 3 ? 'disabled' : '')) ?>>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.usersLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<input type="hidden" name="perms[<?= $perm['id'] ?>]" value="-1">
<div class="form-check">
<label>
<input type="checkbox" name="perms[<?= $perm['id'] ?>]" class="perm"> <?= $perm['definition']?> (<?= $perm['name'] ?>)
</label>
<label>
<input type="radio" name="perms[<?= $perm['id'] ?>]" value="1" <?= $perm['state'] === -1 ? 'disabled' : ''?>><?= lang('Admin.usersLabelAllow')?>
</label>
<label>
<input type="radio" name="perms[<?= $perm['id'] ?>]" value="0" <?= $perm['state'] === -1 ? 'disabled' : ''?>><?= lang('Admin.usersLabelDeny')?>
</label>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.usersNewSubmit') ?></button>
<a href="<?= site_url('admin/users') ?>" class="btn btn-warning"><?= lang('Admin.usersLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary float-right"><?= lang('Admin.usersNewSubmit') ?></button>
<a href="<?= site_url('admin/users') ?>" class="btn btn-warning"><?= lang('Admin.usersLinkBack') ?></a>
</div>
<?= form_close() ?>
</div>
<?= $this->endSection() ?>
<?= $this->section('footer') ?>
<script type="text/javascript">
$(document).on('change', '.perm', function() {
var name = $(this).attr('name');
if ($(this).prop('checked')) {
$('input[type="radio"][name="'+ name + '"]').prop('checked', false).prop('disabled', false);
$('input[type="radio"][name="'+ name + '"]:eq(0)').prop('checked', true);
} else {
$('input[type="radio"][name="'+ name + '"]').prop('checked', false).prop('disabled', true);
}
});
</script>
<?= $this->endSection() ?>

118
app/Views/Admin/Users/Show.php

@ -1,63 +1,67 @@
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/users') ?>"><?= lang('Admin.usersBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonShow') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.usersShowHeader') ?>
</div>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.usersLabelId') ?></label>
<p><?= $user['id'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.usersLabelEmail') ?></label>
<p><?= $user['email'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.usersLabelUsername') ?></label>
<p><?= $user['username'] ?></p>
<?= $this->extend('Templates/Admin') ?>
<?= $this->section('content') ?>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="<?= site_url('admin') ?>"><?= lang('Admin.homeBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item">
<a href="<?= site_url('admin/users') ?>"><?= lang('Admin.usersBreadcrumbTitle') ?></a>
</li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonShow') ?></li>
</ol>
<div class="card mb-3">
<div class="card-header">
<?= lang('Admin.usersShowHeader') ?>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputSubGroups"><?= lang('Admin.usersLabelGroups') ?></label>
<?php foreach ($groups as $group): ?>
<?php if (! is_member($group['id'], $user['id'])): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
<div class="card-body">
<div class="form-group">
<label><?= lang('Admin.usersLabelId') ?></label>
<p><?= $user['id'] ?></p>
</div>
<div class="form-group">
<label><?= lang('Admin.usersLabelEmail') ?></label>
<p><?= $user['email'] ?></p>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.usersLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<?php if (! is_allowed($perm['id'], $user['id'])): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $perm['definition'] ?> (<?= $perm['name'] ?>)
</label>
</div>
<?php endforeach; ?>
<div class="form-group">
<label><?= lang('Admin.usersLabelUsername') ?></label>
<p><?= $user['username'] ?></p>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputSubGroups"><?= lang('Admin.usersLabelGroups') ?></label>
<?php foreach ($groups as $group): ?>
<?php if ((int) $group['member'] !== 1): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $group['definition'] ?> (<?= $group['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputPerms"><?= lang('Admin.usersLabelPerms') ?></label>
<?php foreach ($perms as $perm): ?>
<?php if ((int) $perm['state'] !== -1): ?>
<?php continue; ?>
<?php endif; ?>
<div class="form-check">
<label>
<?= $perm['definition'] ?> (<?= $perm['name'] ?>)
</label>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
<div class="card-footer">
<a href="<?= site_url('admin/users') ?>" class="btn btn-warning"><?= lang('Admin.usersLinkBack') ?></a>
</div>
</div>
<div class="card-footer">
<a href="<?= site_url('admin/users') ?>" class="btn btn-warning"><?= lang('Admin.usersLinkBack') ?></a>
</div>
</div>
<?= $this->endSection() ?>

22
app/Views/Home.php

@ -1,9 +1,13 @@
<h1 class="mb-5">Welcome To CodeIgniter-Aauth v3 for CodeIgniter 4.x</h1>
<p class="lead">Aauth is a User Authorization Library for CodeIgniter 4.x, which aims to make easy some essential jobs such as login, permissions and access operations. Despite ease of use, it has also very advanced features like groupping, access management, public access etc..</p>
<? if(is_loggedin()): ?>
<p>You are logged in.</p>
<a href="<?= site_url('account') ?>" class="btn btn-primary px-5">Account Details</a>
<? else: ?>
<p>You can Login now and test it.</p>
<a href="<?= site_url('account/login') ?>" class="btn btn-primary px-5">Login</a>
<? endif; ?>
<?= $this->extend('Templates/Base') ?>
<?= $this->section('content') ?>
<h1 class="mb-5">Welcome To CodeIgniter-Aauth v3 for CodeIgniter 4.x</h1>
<p class="lead">Aauth is a User Authorization Library for CodeIgniter 4.x, which aims to make easy some essential jobs such as login, permissions and access operations. Despite ease of use, it has also very advanced features like groupping, access management, public access etc..</p>
<?php if(is_loggedin()): ?>
<p>You are logged in.</p>
<a href="<?= site_url('account') ?>" class="btn btn-primary px-5">Account Details</a>
<?php else: ?>
<p>You can Login now and test it.</p>
<a href="<?= site_url('account/login') ?>" class="btn btn-primary px-5">Login</a>
<?php endif; ?>
<?= $this->endSection() ?>

41
app/Views/Templates/HeaderAdmin.php → app/Views/Templates/Admin.php

@ -13,8 +13,9 @@
<?php if (isset($cssFiles)): ?>
<?php foreach ($cssFiles as $cssFile): ?>
<link href="<?= $cssFile; ?>" rel="stylesheet">
<?php endforeach; ?>
<?php endif; ?>
<?php endforeach; ?>
<?php endif; ?>
<?= $this->renderSection('header') ?>
</head>
<body id="page-top">
<nav class="navbar navbar-expand navbar-dark bg-dark static-top">
@ -34,7 +35,12 @@
<i class="fas fa-user-circle fa-fw"></i>
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="userDropdown">
<a class="dropdown-item" href="<?= site_url('account/edit') ?>">Edit Profile</a>
<?php if (is_admin()): ?>
<a class="dropdown-item" href="<?= site_url('admin') ?>">Admin Area</a>
<div class="dropdown-divider"></div>
<?php endif; ?>
<a class="dropdown-item <?= uri_string() === 'account' ? 'active' : '' ?>" href="<?= site_url('account') ?>">Profile</a>
<a class="dropdown-item <?= uri_string() === 'account/edit' ? 'active' : '' ?>" href="<?= site_url('account/edit') ?>">Edit Profile</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="<?= site_url('account/logout') ?>">Logout</a>
</div>
@ -73,3 +79,32 @@
<div id="content-wrapper">
<div class="container-fluid">
<?= $this->renderSection('content') ?>
</div>
<footer class="sticky-footer">
<div class="container my-auto">
<div class="copyright text-center my-auto">
<span>Copyright © Aauth 2018</span>
</div>
</div>
</footer>
</div>
</div>
<a class="scroll-to-top rounded" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<script src="/assets/vendor/jquery/jquery.min.js"></script>
<script src="/assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="/assets/vendor/jquery-easing/jquery.easing.min.js"></script>
<script src="/assets/js/sb-admin.min.js"></script>
<?php if (isset($jsFiles)): ?>
<?php foreach ($jsFiles as $jsFiles): ?>
<script type="text/javascript" src="<?= $jsFile; ?>"></script>
<?php endforeach; ?>
<?php endif; ?>
<?= $this->renderSection('footer') ?>
</body>
</html>

36
app/Views/Templates/Header.php → app/Views/Templates/Base.php

@ -6,15 +6,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title><? (isset($title) ? $title : '') ?></title>
<title><?= (isset($title) ? $title : '') ?></title>
<link href="/assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="/assets/vendor/fontawesome-free/css/all.min.css" rel="stylesheet">
<link href="/assets/css/sb-admin.min.css" rel="stylesheet">
<? if (isset($cssFiles)): ?>
<? foreach ($cssFiles as $cssFile): ?>
<?php if (isset($cssFiles)): ?>
<?php foreach ($cssFiles as $cssFile): ?>
<link href="<?= $cssFile; ?>" rel="stylesheet">
<? endforeach; ?>
<? endif; ?>
<?php endforeach; ?>
<?php endif; ?>
</head>
<body id="page-top">
<nav class="navbar navbar-expand navbar-dark bg-dark static-top">
@ -25,13 +25,18 @@
</li>
</ul>
<ul class="navbar-nav ml-auto">
<? if (is_loggedin()): ?>
<?php if (is_loggedin()): ?>
<li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-user-circle fa-fw"></i>
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="userDropdown">
<a class="dropdown-item" href="<?= site_url('account/edit') ?>">Edit Profile</a>
<?php if (is_admin()): ?>
<a class="dropdown-item" href="<?= site_url('admin') ?>">Admin Area</a>
<div class="dropdown-divider"></div>
<?php endif; ?>
<a class="dropdown-item <?= uri_string() === 'account' ? 'active' : '' ?>" href="<?= site_url('account') ?>">Profile</a>
<a class="dropdown-item <?= uri_string() === 'account/edit' ? 'active' : '' ?>" href="<?= site_url('account/edit') ?>">Edit Profile</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="<?= site_url('account/logout') ?>">Logout</a>
</div>
@ -40,3 +45,20 @@
</ul>
</nav>
<div class="m-5">
<?= $this->renderSection('content') ?>
</div>
<a class="scroll-to-top rounded" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<script src="/assets/vendor/jquery/jquery.min.js"></script>
<script src="/assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="/assets/vendor/jquery-easing/jquery.easing.min.js"></script>
<script src="/assets/js/sb-admin.min.js"></script>
<?php if (isset($jsFiles)): ?>
<?php foreach ($jsFiles as $jsFiles): ?>
<script type="text/javascript" src="<?= $jsFile; ?>"></script>
<?php endforeach; ?>
<?php endif; ?>
</body>
</html>

32
app/Views/Templates/Blank.php

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title><?= (isset($title) ? $title : '') ?></title>
<link href="/assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="/assets/vendor/fontawesome-free/css/all.min.css" rel="stylesheet">
<link href="/assets/css/sb-admin.min.css" rel="stylesheet">
<?php if (isset($cssFiles)): ?>
<?php foreach ($cssFiles as $cssFile): ?>
<link href="<?= $cssFile; ?>" rel="stylesheet">
<?php endforeach; ?>
<?php endif; ?>
</head>
<body>
<?= $this->renderSection('content') ?>
<script src="/assets/vendor/jquery/jquery.min.js"></script>
<script src="/assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="/assets/vendor/jquery-easing/jquery.easing.min.js"></script>
<script src="/assets/js/sb-admin.min.js"></script>
<?php if (isset($jsFiles)): ?>
<?php foreach ($jsFiles as $jsFiles): ?>
<script type="text/javascript" src="<?= $jsFile; ?>"></script>
<?php endforeach; ?>
<?php endif; ?>
</body>
</html>

18
app/Views/Templates/Footer.php

@ -1,18 +0,0 @@
</div>
<a class="scroll-to-top rounded" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<script src="/assets/vendor/jquery/jquery.min.js"></script>
<script src="/assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="/assets/vendor/jquery-easing/jquery.easing.min.js"></script>
<script src="/assets/js/sb-admin.min.js"></script>
<? if (isset($jsFiles)): ?>
<? foreach ($jsFiles as $jsFiles): ?>
<script type="text/javascript" src="<?= $jsFile; ?>"></script>
<? endforeach; ?>
<? endif; ?>
</body>
</html>

27
app/Views/Templates/FooterAdmin.php

@ -1,27 +0,0 @@
</div>
<footer class="sticky-footer">
<div class="container my-auto">
<div class="copyright text-center my-auto">
<span>Copyright © Aauth 2018</span>
</div>
</div>
</footer>
</div>
</div>
<a class="scroll-to-top rounded" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<script src="/assets/vendor/jquery/jquery.min.js"></script>
<script src="/assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="/assets/vendor/jquery-easing/jquery.easing.min.js"></script>
<script src="/assets/js/sb-admin.min.js"></script>
<? if (isset($jsFiles)): ?>
<? foreach ($jsFiles as $jsFiles): ?>
<script type="text/javascript" src="<?= $jsFile; ?>"></script>
<? endforeach; ?>
<? endif; ?>
</body>
</html>

12
app/Views/Templates/FooterBlank.php

@ -1,12 +0,0 @@
<script src="/assets/vendor/jquery/jquery.min.js"></script>
<script src="/assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="/assets/vendor/jquery-easing/jquery.easing.min.js"></script>
<script src="/assets/js/sb-admin.min.js"></script>
<? if (isset($jsFiles)): ?>
<? foreach ($jsFiles as $jsFiles): ?>
<script type="text/javascript" src="<?= $jsFile; ?>"></script>
<? endforeach; ?>
<? endif; ?>
</body>
</html>

19
app/Views/Templates/HeaderBlank.php

@ -1,19 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title><? (isset($title) ? $title : '') ?></title>
<link href="/assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="/assets/vendor/fontawesome-free/css/all.min.css" rel="stylesheet">
<link href="/assets/css/sb-admin.min.css" rel="stylesheet">
<? if (isset($cssFiles)): ?>
<? foreach ($cssFiles as $cssFile): ?>
<link href="<?= $cssFile; ?>" rel="stylesheet">
<? endforeach; ?>
<? endif; ?>
</head>
<body>
Loading…
Cancel
Save