Skip to content

Commit

Permalink
refactor: optimize permission handling
Browse files Browse the repository at this point in the history
  • Loading branch information
edmondas committed Dec 30, 2023
1 parent 314ac20 commit f049658
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 39 deletions.
23 changes: 14 additions & 9 deletions index.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@

use Poweradmin\BaseController;
use Poweradmin\LegacyUsers;
use Poweradmin\Permission;

require_once __DIR__ . '/vendor/autoload.php';

Expand All @@ -47,18 +48,22 @@ private function showIndex(): void

$userlogin = $_SESSION["userlogin"] ?? '';

$permissions = Permission::getPermissions($this->db, [
'perm_search',
'perm_view_zone_own',
'perm_view_zone_other',
'perm_supermaster_view',
'perm_zone_master_add',
'perm_zone_slave_add',
'perm_supermaster_add',
'perm_is_godlike',
'perm_templ_perm_edit',
]);

$this->render($template, [
'user_name' => empty($_SESSION["name"]) ? $userlogin : $_SESSION["name"],
'auth_used' => $_SESSION["auth_used"] ?? '',
'perm_search' => LegacyUsers::verify_permission($this->db, 'search'),
'perm_view_zone_own' => LegacyUsers::verify_permission($this->db,'zone_content_view_own'),
'perm_view_zone_other' => LegacyUsers::verify_permission($this->db,'zone_content_view_others'),
'perm_supermaster_view' => LegacyUsers::verify_permission($this->db,'supermaster_view'),
'perm_zone_master_add' => LegacyUsers::verify_permission($this->db,'zone_master_add'),
'perm_zone_slave_add' => LegacyUsers::verify_permission($this->db,'zone_slave_add'),
'perm_supermaster_add' => LegacyUsers::verify_permission($this->db,'supermaster_add'),
'perm_is_godlike' => LegacyUsers::verify_permission($this->db,'user_is_ueberuser'),
'perm_templ_perm_edit' => LegacyUsers::verify_permission($this->db,'templ_perm_edit'),
'permissions' => $permissions,
'dblog_use' => $this->config('dblog_use')
]);
}
Expand Down
20 changes: 10 additions & 10 deletions templates/index_cards.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<h5 class="mb-3">{% trans %}Welcome{% endtrans %} {{ user_name }}</h5>
<div class="row">
{% if perm_search %}
{% if permissions['perm_search'] %}
<div class="col-sm-3 mb-3">
<div class="card">
<div class="text-center"><i class="bi bi-search display-1"></i></div>
Expand All @@ -10,7 +10,7 @@ <h5 class="mb-3">{% trans %}Welcome{% endtrans %} {{ user_name }}</h5>
</div>
</div>
{% endif %}
{% if perm_view_zone_own or perm_view_zone_other %}
{% if permissions['perm_view_zone_own'] or permissions['perm_view_zone_other'] %}
<div class="col-sm-3 mb-3">
<div class="card">
<div class="text-center"><i class="bi bi-diagram-3 display-1"></i></div>
Expand All @@ -22,7 +22,7 @@ <h5 class="mb-3">{% trans %}Welcome{% endtrans %} {{ user_name }}</h5>
</div>
{% endif %}

{% if perm_zone_master_add %}
{% if permissions['perm_zone_master_add'] %}
<div class="col-sm-3 mb-3">
<div class="card">
<div class="text-center"><i class="bi bi-files display-1"></i></div>
Expand All @@ -32,7 +32,7 @@ <h5 class="mb-3">{% trans %}Welcome{% endtrans %} {{ user_name }}</h5>
</div>
</div>
{% endif %}
{% if perm_supermaster_view %}
{% if permissions['perm_supermaster_view'] %}
<div class="col-sm-3 mb-3">
<div class="card">
<div class="text-center"><i class="bi bi-hdd-rack display-1"></i></div>
Expand All @@ -42,7 +42,7 @@ <h5 class="mb-3">{% trans %}Welcome{% endtrans %} {{ user_name }}</h5>
</div>
</div>
{% endif %}
{% if perm_zone_master_add %}
{% if permissions['perm_zone_master_add'] %}
<div class="col-sm-3 mb-3">
<div class="card">
<div class="text-center"><i class="bi bi-plus-circle display-1"></i></div>
Expand All @@ -52,7 +52,7 @@ <h5 class="mb-3">{% trans %}Welcome{% endtrans %} {{ user_name }}</h5>
</div>
</div>
{% endif %}
{% if perm_zone_slave_add %}
{% if permissions['perm_zone_slave_add'] %}
<div class="col-sm-3 mb-3">
<div class="card">
<div class="text-center"><i class="bi bi-plus-circle-dotted display-1"></i></div>
Expand All @@ -62,7 +62,7 @@ <h5 class="mb-3">{% trans %}Welcome{% endtrans %} {{ user_name }}</h5>
</div>
</div>
{% endif %}
{% if perm_supermaster_add %}
{% if permissions['perm_supermaster_add'] %}
<div class="col-sm-3 mb-3">
<div class="card">
<div class="text-center"><i class="bi bi-hdd-network display-1"></i></div>
Expand All @@ -72,7 +72,7 @@ <h5 class="mb-3">{% trans %}Welcome{% endtrans %} {{ user_name }}</h5>
</div>
</div>
{% endif %}
{% if perm_zone_master_add %}
{% if permissions['perm_zone_master_add'] %}
<div class="col-sm-3 mb-3">
<div class="card">
<div class="text-center"><i class="bi bi-collection display-1"></i></div>
Expand All @@ -82,7 +82,7 @@ <h5 class="mb-3">{% trans %}Welcome{% endtrans %} {{ user_name }}</h5>
</div>
</div>
{% endif %}
{% if perm_is_godlike and dblog_use == true %}
{% if permissions['perm_is_godlike'] and dblog_use == true %}
<div class="col-sm-3 mb-3">
<div class="card">
<div class="text-center"><i class="bi bi-list-ul display-1"></i></div>
Expand Down Expand Up @@ -111,7 +111,7 @@ <h5 class="mb-3">{% trans %}Welcome{% endtrans %} {{ user_name }}</h5>
</div>
</div>
</div>
{% if perm_templ_perm_edit %}
{% if permissions['perm_templ_perm_edit'] %}
<div class="col-sm-3 mb-3">
<div class="card">
<div class="text-center"><i class="bi bi-person-lock display-1"></i></div>
Expand Down
20 changes: 10 additions & 10 deletions templates/index_list.html
Original file line number Diff line number Diff line change
@@ -1,46 +1,46 @@
<h5 class="mb-3">{% trans %}Welcome{% endtrans %} {{ user_name }}</h5>
<ul class="list-group">
{% if perm_search %}
{% if permissions['perm_search'] %}
<li class="list-group-item list-group-item-action">
<i class="bi bi-search"></i> <a href="search.php">{% trans %}Search zones and records{% endtrans %}</a>
</li>
{% endif %}
{% if perm_view_zone_own or perm_view_zone_other %}
{% if permissions['perm_view_zone_own'] or permissions['perm_view_zone_other'] %}
<li class="list-group-item list-group-item-action">
<i class="bi bi-diagram-3"></i> <a href="list_zones.php">{% trans %}List zones{% endtrans %}</a>
</li>
{% endif %}
{% if perm_zone_master_add %}
{% if permissions['perm_zone_master_add'] %}
<li class="list-group-item list-group-item-action">
<i class="bi bi-files"></i> <a href="list_zone_templ.php">{% trans %}List zone templates{% endtrans %}</a>
</li>
{% endif %}
{% if perm_supermaster_view %}
{% if permissions['perm_supermaster_view'] %}
<li class="list-group-item list-group-item-action">
<i class="bi bi-hdd-rack"></i> <a href="list_supermasters.php">{% trans %}List supermasters{% endtrans %}</a>
</li>
{% endif %}
{% if perm_zone_master_add %}
{% if permissions['perm_zone_master_add'] %}
<li class="list-group-item list-group-item-action">
<i class="bi bi-plus-circle"></i> <a href="add_zone_master.php">{% trans %}Add master zone{% endtrans %}</a>
</li>
{% endif %}
{% if perm_zone_slave_add %}
{% if permissions['perm_zone_slave_add'] %}
<li class="list-group-item list-group-item-action">
<i class="bi bi-plus-circle-dotted"></i> <a href="add_zone_slave.php">{% trans %}Add slave zone{% endtrans %}</a>
</li>
{% endif %}
{% if perm_supermaster_add %}
{% if permissions['perm_supermaster_add'] %}
<li class="list-group-item list-group-item-action">
<i class="bi bi-hdd-network"></i> <a href="add_supermaster.php">{% trans %}Add supermaster{% endtrans %}</a>
</li>
{% endif %}
{% if perm_zone_master_add %}
{% if permissions['perm_zone_master_add'] %}
<li class="list-group-item list-group-item-action">
<i class="bi bi-collection"></i> <a href="bulk_registration.php">{% trans %}Bulk registration{% endtrans %}</a>
</li>
{% endif %}
{% if perm_is_godlike and dblog_use == true %}
{% if permissions['perm_is_godlike'] and dblog_use == true %}
<li class="list-group-item list-group-item-action">
<i class="bi bi-list-ul"></i> <a href="list_log_zones.php">{% trans %}Zone logs{% endtrans %}</a>
</li>
Expand All @@ -53,7 +53,7 @@ <h5 class="mb-3">{% trans %}Welcome{% endtrans %} {{ user_name }}</h5>
<li class="list-group-item list-group-item-action">
<i class="bi bi-people"></i> <a href="users.php">{% trans %}User administration{% endtrans %}</a>
</li>
{% if perm_templ_perm_edit %}
{% if permissions['perm_templ_perm_edit'] %}
<li class="list-group-item list-group-item-action">
<i class="bi bi-person-lock"></i> <a href="users.php">{% trans %}List permission templates{% endtrans %}</a>
</li>
Expand Down
22 changes: 12 additions & 10 deletions users.php
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,19 @@ private function updateUsers(): void

private function showUsers(): void
{
$permissions = Permission::getPermissions(
$this->db,
[
'user_view_others',
'user_edit_own',
'user_edit_others',
'user_edit_templ_perm',
'user_is_ueberuser'
]
);

$this->render('users.html', [
'permissions' => Permission::getPermissions(
$this->db,
[
'user_view_others',
'user_edit_own',
'user_edit_others',
'user_edit_templ_perm',
'user_is_ueberuser'
]
),
'permissions' => $permissions,
'perm_templates' => LegacyUsers::list_permission_templates($this->db),
'users' => LegacyUsers::get_user_detail_list($this->db, $this->config('ldap_use')),
'ldap_use' => $this->config('ldap_use'),
Expand Down

0 comments on commit f049658

Please sign in to comment.