Browse Source

added first Groups & Perms Controller/Views

v3-dev
REJack 6 years ago
parent
commit
52d594628e
No known key found for this signature in database
GPG Key ID: 4A44B48700429F46
  1. 164
      app/Controllers/Admin/Groups.php
  2. 164
      app/Controllers/Admin/Perms.php
  3. 98
      app/Language/en/Admin.php
  4. 34
      app/Views/Admin/Groups/Delete.php
  5. 51
      app/Views/Admin/Groups/Edit.php
  6. 56
      app/Views/Admin/Groups/Home.php
  7. 37
      app/Views/Admin/Groups/New.php
  8. 31
      app/Views/Admin/Groups/Show.php
  9. 34
      app/Views/Admin/Perms/Delete.php
  10. 51
      app/Views/Admin/Perms/Edit.php
  11. 56
      app/Views/Admin/Perms/Home.php
  12. 37
      app/Views/Admin/Perms/New.php
  13. 31
      app/Views/Admin/Perms/Show.php
  14. 2
      app/Views/Admin/Users/Delete.php
  15. 28
      app/Views/Templates/HeaderAdmin.php

164
app/Controllers/Admin/Groups.php

@ -0,0 +1,164 @@
<?php
/**
* CodeIgniter-Aauth
*
* 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 grouping,
* access management, public access etc..
*
* @package CodeIgniter-Aauth
* @author Emre Akay
* @author Raphael "REJack" Jackstadt
* @copyright 2014-2019 Emre Akay
* @license https://opensource.org/licenses/MIT MIT License
* @link https://github.com/emreakay/CodeIgniter-Aauth
*/
namespace App\Controllers\Admin;
use CodeIgniter\Controller;
use App\Libraries\Aauth;
use Config\Services;
/**
* Aauth Admin/Groups Controller
*
* @package CodeIgniter-Aauth
*/
class Groups extends Controller
{
/**
* Constructor
*/
public function __construct()
{
$this->aauth = new Aauth();
$this->request = Services::request();
helper('form');
helper('aauth');
}
/**
* Index
*
* @return void
*/
public function index()
{
$data = $this->aauth->listGroupsPaginated();
$data['cssFiles'] = [
'/assets/css/admin/groups/index.css'
];
echo view('Templates/HeaderAdmin', $data);
echo view('Admin/Groups/Home', $data);
echo view('Templates/FooterAdmin');
}
/**
* New
*
* @return void
*/
public function new()
{
echo view('Templates/HeaderAdmin');
echo view('Admin/Groups/New');
echo view('Templates/FooterAdmin');
}
/**
* Create
*
* @return void
*/
public function create()
{
$name = $this->request->getPost('name');
$definition = $this->request->getPost('definition');
if (! $this->aauth->createGroup($name, $definition))
{
return redirect()->back()->with('errors', $this->aauth->getErrorsArray());
}
return redirect()->to('/admin/groups');
}
/**
* Edit
*
* @return void
*/
public function edit($groupId)
{
$data['group'] = $this->aauth->getGroup($groupId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Groups/Edit', $data);
echo view('Templates/FooterAdmin');
}
/**
* Update
*
* @return void
*/
public function update($groupId)
{
$name = $this->request->getPost('name');
$definition = $this->request->getPost('definition');
if (! $this->aauth->updateGroup($groupId, empty($name) ? null : $name, empty($definition) ? null : $definition))
{
return redirect()->back()->with('errors', $this->aauth->getErrorsArray());
}
return redirect()->to('/admin/groups/edit/' . $groupId);
}
/**
* Show
*
* @return void
*/
public function show($groupId)
{
$data['group'] = $this->aauth->getGroup($groupId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Groups/Show', $data);
echo view('Templates/FooterAdmin');
}
/**
* Delete
*
* @return void
*/
public function delete($groupId)
{
if (! $this->aauth->getGroup($groupId))
{
return redirect()->to('/admin/groups');
}
$id = $this->request->getPost('id');
if ($groupId === $id)
{
if ($this->aauth->deleteGroup($groupId))
{
return redirect()->to('/admin/groups');
}
}
$data['group'] = $this->aauth->getGroup($groupId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Groups/Delete', $data);
echo view('Templates/FooterAdmin');
}
}

164
app/Controllers/Admin/Perms.php

@ -0,0 +1,164 @@
<?php
/**
* CodeIgniter-Aauth
*
* 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 grouping,
* access management, public access etc..
*
* @package CodeIgniter-Aauth
* @author Emre Akay
* @author Raphael "REJack" Jackstadt
* @copyright 2014-2019 Emre Akay
* @license https://opensource.org/licenses/MIT MIT License
* @link https://github.com/emreakay/CodeIgniter-Aauth
*/
namespace App\Controllers\Admin;
use CodeIgniter\Controller;
use App\Libraries\Aauth;
use Config\Services;
/**
* Aauth Admin/Perms Controller
*
* @package CodeIgniter-Aauth
*/
class Perms extends Controller
{
/**
* Constructor
*/
public function __construct()
{
$this->aauth = new Aauth();
$this->request = Services::request();
helper('form');
helper('aauth');
}
/**
* Index
*
* @return void
*/
public function index()
{
$data = $this->aauth->listPermsPaginated();
$data['cssFiles'] = [
'/assets/css/admin/groups/index.css'
];
echo view('Templates/HeaderAdmin', $data);
echo view('Admin/Perms/Home', $data);
echo view('Templates/FooterAdmin');
}
/**
* New
*
* @return void
*/
public function new()
{
echo view('Templates/HeaderAdmin');
echo view('Admin/Perms/New');
echo view('Templates/FooterAdmin');
}
/**
* Create
*
* @return void
*/
public function create()
{
$name = $this->request->getPost('name');
$definition = $this->request->getPost('definition');
if (! $this->aauth->createPerm($name, $definition))
{
return redirect()->back()->with('errors', $this->aauth->getErrorsArray());
}
return redirect()->to('/admin/groups');
}
/**
* Edit
*
* @return void
*/
public function edit($permId)
{
$data['group'] = $this->aauth->getPerm($permId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Perms/Edit', $data);
echo view('Templates/FooterAdmin');
}
/**
* Update
*
* @return void
*/
public function update($permId)
{
$name = $this->request->getPost('name');
$definition = $this->request->getPost('definition');
if (! $this->aauth->updatePerm($permId, empty($name) ? null : $name, empty($definition) ? null : $definition))
{
return redirect()->back()->with('errors', $this->aauth->getErrorsArray());
}
return redirect()->to('/admin/groups/edit/' . $permId);
}
/**
* Show
*
* @return void
*/
public function show($permId)
{
$data['group'] = $this->aauth->getPerm($permId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Perms/Show', $data);
echo view('Templates/FooterAdmin');
}
/**
* Delete
*
* @return void
*/
public function delete($permId)
{
if (! $this->aauth->getPerm($permId))
{
return redirect()->to('/admin/groups');
}
$id = $this->request->getPost('id');
if ($permId === $id)
{
if ($this->aauth->deletePerm($permId))
{
return redirect()->to('/admin/groups');
}
}
$data['group'] = $this->aauth->getPerm($permId);
echo view('Templates/HeaderAdmin');
echo view('Admin/Perms/Delete', $data);
echo view('Templates/FooterAdmin');
}
}

98
app/Language/en/Admin.php

@ -25,36 +25,74 @@
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
return [ return [
'homeHeader' => 'Admin Area', 'homeHeader' => 'Admin Area',
'homeText' => 'Welcome to CodeIgniter-Aauth\'s Admin Area', 'homeText' => 'Welcome to CodeIgniter-Aauth\'s Admin Area',
'homeBreadcrumbTitle' => 'Home', 'homeBreadcrumbTitle' => 'Home',
'breadcrumbCommonNew' => 'New', 'breadcrumbCommonNew' => 'New',
'breadcrumbCommonEdit' => 'Edit', 'breadcrumbCommonEdit' => 'Edit',
'breadcrumbCommonShow' => 'Show', 'breadcrumbCommonShow' => 'Show',
'breadcrumbCommonDelete' => 'Delete', 'breadcrumbCommonDelete' => 'Delete',
'usersIndexHeader' => 'Users', 'usersIndexHeader' => 'Users',
'usersNewHeader' => 'New user', 'usersNewHeader' => 'New user',
'usersNewSubmit' => 'Create new user', 'usersNewSubmit' => 'Create new user',
'usersEditHeader' => 'Edit user', 'usersEditHeader' => 'Edit user',
'usersEditSubmit' => 'Update user', 'usersEditSubmit' => 'Update user',
'usersShowHeader' => 'Show user', 'usersShowHeader' => 'Show user',
'usersDeleteHeader' => 'Delete user', 'usersDeleteHeader' => 'Delete user',
'usersDeleteSubmit' => 'Delete user', 'usersDeleteSubmit' => 'Delete user',
'usersBreadcrumbTitle' => 'Users', 'usersBreadcrumbTitle' => 'Users',
'usersLabelId' => 'Id', 'usersLabelId' => 'Id',
'usersLabelEmail' => 'Email address', 'usersLabelEmail' => 'Email address',
'usersLabelUsername' => 'Username', 'usersLabelUsername' => 'Username',
'usersLabelEmailCurrent' => 'Current email address', 'usersLabelEmailCurrent' => 'Current email address',
'usersLabelUsernameCurrent' => 'Current username', 'usersLabelUsernameCurrent' => 'Current username',
'usersLabelPassword' => 'Password', 'usersLabelPassword' => 'Password',
'usersLabelBanned' => 'Banned', 'usersLabelBanned' => 'Banned',
'usersLabelCreatedAt' => 'Created at', 'usersLabelCreatedAt' => 'Created at',
'usersLabelUpdatedAt' => 'Updated at', 'usersLabelUpdatedAt' => 'Updated at',
'usersLabelLastIPAddress' => 'Last IP-Address', 'usersLabelLastIPAddress' => 'Last IP-Address',
'usersLabelLastActivity' => 'Last Activity', 'usersLabelLastActivity' => 'Last Activity',
'usersLabelLastLogin' => 'Last Login', 'usersLabelLastLogin' => 'Last Login',
'usersLinkNew' => 'Create new user', 'usersLinkNew' => 'Create new user',
'usersLinkBack' => 'Back', 'usersLinkBack' => 'Back',
'groupsIndexHeader' => 'Groups',
'groupsNewHeader' => 'New group',
'groupsNewSubmit' => 'Create new group',
'groupsEditHeader' => 'Edit group',
'groupsEditSubmit' => 'Update group',
'groupsShowHeader' => 'Show group',
'groupsDeleteHeader' => 'Delete group',
'groupsDeleteSubmit' => 'Delete group',
'groupsBreadcrumbTitle' => 'Groups',
'groupsLabelId' => 'Id',
'groupsLabelName' => 'Name',
'groupsLabelDefinition' => 'Definition',
'groupsLabelNameCurrent' => 'Current Name',
'groupsLabelDefinitionCurrent' => 'Current Definition',
'groupsLabelCreatedAt' => 'Created at',
'groupsLabelUpdatedAt' => 'Updated at',
'groupsLinkNew' => 'Create new group',
'groupsLinkBack' => 'Back',
'permsIndexHeader' => 'Perms',
'permsNewHeader' => 'New perm',
'permsNewSubmit' => 'Create new perm',
'permsEditHeader' => 'Edit perm',
'permsEditSubmit' => 'Update perm',
'permsShowHeader' => 'Show perm',
'permsDeleteHeader' => 'Delete perm',
'permsDeleteSubmit' => 'Delete perm',
'permsBreadcrumbTitle' => 'Perms',
'permsLabelId' => 'Id',
'permsLabelName' => 'Name',
'permsLabelDefinition' => 'Definition',
'permsLabelNameCurrent' => 'Current Name',
'permsLabelDefinitionCurrent' => 'Current Definition',
'permsLabelCreatedAt' => 'Created at',
'permsLabelUpdatedAt' => 'Updated at',
'permsLinkNew' => 'Create new perm',
'permsLinkBack' => 'Back',
]; ];

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

@ -0,0 +1,34 @@
<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>
<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>

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

@ -0,0 +1,51 @@
<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>
<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>

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

@ -0,0 +1,56 @@
<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"><?= lang('Admin.groupsLabelId') ?></th>
<th scope="col"><?= lang('Admin.groupsLabelName') ?></th>
<th scope="col"><?= lang('Admin.groupsLabelDefinition') ?></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): ?>
<tr>
<th scope="row"><?= $group['id'] ?></th>
<td><?= $group['name'] ?></td>
<td><?= $group['definition'] ?></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">
<?= $pager->links() ?>
</div>
</div>

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

@ -0,0 +1,37 @@
<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>
<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>

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

@ -0,0 +1,31 @@
<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>
</div>
</div>
<div class="card-footer">
<a href="<?= site_url('admin/groups') ?>" class="btn btn-warning"><?= lang('Admin.groupsLinkBack') ?></a>
</div>
</div>

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

@ -0,0 +1,34 @@
<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="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>

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

@ -0,0 +1,51 @@
<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>
</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>

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

@ -0,0 +1,56 @@
<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"><?= 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): ?>
<tr>
<th scope="row"><?= $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">
<?= $pager->links() ?>
</div>
</div>

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

@ -0,0 +1,37 @@
<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>
</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>

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

@ -0,0 +1,31 @@
<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>
</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="card-footer">
<a href="<?= site_url('admin/perms') ?>" class="btn btn-warning"><?= lang('Admin.permsLinkBack') ?></a>
</div>
</div>

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

@ -5,7 +5,7 @@
<li class="breadcrumb-item"> <li class="breadcrumb-item">
<a href="<?= site_url('admin/users') ?>"><?= lang('Admin.usersBreadcrumbTitle') ?></a> <a href="<?= site_url('admin/users') ?>"><?= lang('Admin.usersBreadcrumbTitle') ?></a>
</li> </li>
<li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonShow') ?></li> <li class="breadcrumb-item active"><?= lang('Admin.breadcrumbCommonDelete') ?></li>
</ol> </ol>
<div class="card mb-3"> <div class="card mb-3">
<div class="card-header"> <div class="card-header">

28
app/Views/Templates/HeaderAdmin.php

@ -6,15 +6,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<title><? (isset($title) ? $title : '') ?></title> <title><?php (isset($title) ? $title : '') ?></title>
<link href="/assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet"> <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/vendor/fontawesome-free/css/all.min.css" rel="stylesheet">
<link href="/assets/css/sb-admin.min.css" rel="stylesheet"> <link href="/assets/css/sb-admin.min.css" rel="stylesheet">
<? if (isset($cssFiles)): ?> <?php if (isset($cssFiles)): ?>
<? foreach ($cssFiles as $cssFile): ?> <?php foreach ($cssFiles as $cssFile): ?>
<link href="<?= $cssFile; ?>" rel="stylesheet"> <link href="<?= $cssFile; ?>" rel="stylesheet">
<? endforeach; ?> <?php endforeach; ?>
<? endif; ?> <?php endif; ?>
</head> </head>
<body id="page-top"> <body id="page-top">
<nav class="navbar navbar-expand navbar-dark bg-dark static-top"> <nav class="navbar navbar-expand navbar-dark bg-dark static-top">
@ -28,7 +28,7 @@
</li> </li>
</ul> </ul>
<ul class="navbar-nav ml-auto"> <ul class="navbar-nav ml-auto">
<? if (is_loggedin()): ?> <?php if (is_loggedin()): ?>
<li class="nav-item dropdown no-arrow"> <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"> <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> <i class="fas fa-user-circle fa-fw"></i>
@ -45,7 +45,7 @@
<div id="wrapper"> <div id="wrapper">
<ul class="sidebar navbar-nav"> <ul class="sidebar navbar-nav">
<li class="nav-item <?= (uri_string() == 'admin' ? 'active' : '') ?>"> <li class="nav-item <?= (uri_string() === 'admin' ? 'active' : '') ?>">
<a class="nav-link" href="<?= site_url('admin') ?>"> <a class="nav-link" href="<?= site_url('admin') ?>">
<i class="fas fa-fw fa-tachometer-alt"></i> <i class="fas fa-fw fa-tachometer-alt"></i>
<span>Dashboard</span> <span>Dashboard</span>
@ -53,10 +53,22 @@
</li> </li>
<li class="nav-item <?= (strpos(uri_string(), 'admin/users') !== false ? 'active' : '') ?>"> <li class="nav-item <?= (strpos(uri_string(), 'admin/users') !== false ? 'active' : '') ?>">
<a class="nav-link" href="<?= site_url('admin/users') ?>"> <a class="nav-link" href="<?= site_url('admin/users') ?>">
<i class="fas fa-fw fa-users"></i> <i class="fas fa-fw fa-user"></i>
<span>Users</span> <span>Users</span>
</a> </a>
</li> </li>
<li class="nav-item <?= (strpos(uri_string(), 'admin/groups') !== false ? 'active' : '') ?>">
<a class="nav-link" href="<?= site_url('admin/groups') ?>">
<i class="fas fa-fw fa-users"></i>
<span>Groups</span>
</a>
</li>
<li class="nav-item <?= (strpos(uri_string(), 'admin/perms') !== false ? 'active' : '') ?>">
<a class="nav-link" href="<?= site_url('admin/perms') ?>">
<i class="fas fa-fw fa-lock"></i>
<span>Perms</span>
</a>
</li>
</ul> </ul>
<div id="content-wrapper"> <div id="content-wrapper">

Loading…
Cancel
Save