summaryrefslogtreecommitdiff
path: root/core/views/permissions_form.html.php
blob: 8c72bc94651f48ac946c6b65ab2289bb976c309c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php defined("SYSPATH") or die("No direct script access.") ?>
<form method="post" action="<?= url::site("permissions/edit/$item->id") ?>">
  <?= access::csrf_form_field() ?>

  <table border=1>
    <tr>
      <th> </th>
      <? foreach ($groups as $group): ?>
      <th> <?= $group->name ?> </th>
      <? endforeach ?>
    </tr>

    <? foreach ($permissions as $permission): ?>
    <tr>
      <td> <?= _($permission->display_name) ?> </td>
      <? foreach ($groups as $group): ?>
      <td>
        <? $intent = access::group_intent($group, $permission->name, $item) ?>
        <? $allowed = access::group_can($group, $permission->name, $item) ?>
        <? $lock = access::locked_by($group, $permission->name, $item) ?>

        <? if ($lock): ?>
          denied and locked by <a href="javascript:show(<?= $lock->id ?>)">parent</a>
        <? else: ?>
          <? if ($intent === null): ?>
            <? if ($allowed): ?>
              <a href="javascript:set('deny',<?= $group->id ?>,<?= $permission->id ?>,<?= $item->id ?>)">allowed by parent</a>
            <? else: ?>
              <a href="javascript:set('deny',<?= $group->id ?>,<?= $permission->id ?>,<?= $item->id ?>)">denied by parent</a>
            <? endif ?>
          </a>
          <? elseif ($intent === access::DENY): ?>
            <a href="javascript:set('allow',<?= $group->id ?>,<?= $permission->id ?>,<?= $item->id ?>)">denied</a>
          <? elseif ($intent === access::ALLOW): ?>
            <? if ($item->id == 1): ?>
            <a href="javascript:set('deny',<?= $group->id ?>,<?= $permission->id ?>,<?= $item->id ?>)">allowed</a>
            <? else: ?>
            <a href="javascript:set('reset',<?= $group->id ?>,<?= $permission->id ?>,<?= $item->id ?>)">allowed</a>
            <? endif ?>
          <? endif ?>
        <? endif ?>
      </td>
      <? endforeach ?>
    </tr>
    <? endforeach ?>
  </table>
</form>