PluginProbe
User Access Manager / trunk
User Access Manager vtrunk
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
user-access-manager / src / View / UserGroups / UserGroupList.php

UserGroupList.php in User Access Manager trunk, at src/View/UserGroups/UserGroupList.php

158 lines 5.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @var UserGroupController $controller
4 */
5
6 /**
7 * @param string $name
8 * @param string $sortingParameter
9 *
10 * @return string
11 */
12
13 use UserAccessManager\Controller\Backend\Administration\UserGroupController;
14 use UserAccessManager\Object\ObjectHandler;
15
16 $createHeaderColumn = function ($name, $sortingParameter) use ($controller) {
17 $isSorted = $controller->getRequestParameter('orderby') === $sortingParameter;
18 $class = $isSorted === true ? 'sorted' : 'sortable';
19 $sortOrder = ($isSorted === true && $controller->getRequestParameter('order') === 'desc') ? 'desc' : 'asc';
20
21 $inner = "<span>$name</span><span class=\"sorting-indicator\"></span>";
22 $link = "<a href=\"{$controller->getSortUrl($sortingParameter)}\" >$inner</a>";
23 return "<th scope=\"col\" class=\"$class $sortOrder\">$link</th>";
24 }
25
26 ?>
27 <form method="post" action="<?php echo $controller->getRequestUrl(); ?>">
28 <?php $controller->createNonceField('uamDeleteGroup'); ?>
29 <input type="hidden" value="delete_user_group" name="uam_action"/>
30 <div class="tablenav">
31 <div class="alignleft">
32 <input type="submit" class="button-secondary delete" name="deleteit"
33 value="<?php echo TXT_UAM_DELETE; ?>"/>
34 </div>
35 <br class="clear"/>
36 </div>
37 <table class="wp-list-table widefat fixed striped">
38 <thead>
39 <tr class="thead">
40 <th scope="col"></th>
41 <?php echo $createHeaderColumn(TXT_UAM_NAME, 'name'); ?>
42 <?php echo $createHeaderColumn(TXT_UAM_DESCRIPTION, 'description'); ?>
43 <?php echo $createHeaderColumn(TXT_UAM_READ_ACCESS, 'readAccess'); ?>
44 <?php echo $createHeaderColumn(TXT_UAM_WRITE_ACCESS, 'writeAccess'); ?>
45 <th scope="col"><?php echo TXT_UAM_GROUP_ROLE; ?></th>
46 <?php echo $createHeaderColumn(TXT_UAM_IP_RANGE, 'ipRange'); ?>
47 </tr>
48 </thead>
49 <tbody>
50 <?php
51 $currentAdminPage = urlencode((string) $controller->getRequestParameter('page'));
52 $userGroups = $controller->getUserGroups();
53 foreach ($userGroups as $userGroup) {
54 ?>
55 <tr id="group-<?php echo $userGroup->getId(); ?>">
56 <th class="check-column">
57 <input id="uam-bulk-select"
58 type="checkbox"
59 value="<?php echo $userGroup->getId(); ?>"
60 name="delete[]"/>
61 <label for="uam-bulk-select">
62 <span class="screen-reader-text"><?php echo TXT_UAM_DELETE; ?></span>
63 </label>
64 </th>
65 <td>
66 <strong>
67 <?php
68 $link = "?page=$currentAdminPage&amp;uam_action=edit_user_group"
69 . "&amp;userGroupId={$userGroup->getId()}";
70 ?>
71 <a href="<?php echo $link; ?>">
72 <?php echo htmlentities($userGroup->getName()); ?>
73 </a>
74 </strong>
75 </td>
76 <td><?php echo htmlentities($userGroup->getDescription()) ?></td>
77 <td>
78 <?php
79 if ($userGroup->getReadAccess() === 'all') {
80 echo TXT_UAM_ALL;
81 } elseif ($userGroup->getReadAccess() === 'group') {
82 echo TXT_UAM_ONLY_GROUP_USERS;
83 }
84 ?>
85 </td>
86 <td>
87 <?php
88 if ($userGroup->getWriteAccess() === 'all') {
89 echo TXT_UAM_ALL;
90 } elseif ($userGroup->getWriteAccess() === 'group') {
91 echo TXT_UAM_ONLY_GROUP_USERS;
92 } elseif ($userGroup->getWriteAccess() === 'none') {
93 echo TXT_UAM_NONE;
94 }
95 ?>
96 </td>
97 <td>
98 <?php
99 $roleNames = $controller->getRoleNames();
100 $groupRoles = $userGroup->getAssignedObjectsByType(
101 ObjectHandler::GENERAL_ROLE_OBJECT_TYPE
102 );
103
104 if (count($groupRoles) > 0) {
105 ?>
106 <ul style="margin: 0;">
107 <?php
108 foreach ($groupRoles as $key => $role) {
109 ?>
110 <li><?php echo $roleNames[$key] ?? $key; ?></li>
111 <?php
112 }
113 ?>
114 </ul>
115 <?php
116 } else {
117 echo TXT_UAM_NONE;
118 }
119 ?>
120 </td>
121 <td>
122 <?php
123 $ipRanges = $userGroup->getIpRangeArray();
124
125 if (count($ipRanges) > 0) {
126 ?>
127 <ul>
128 <?php
129 foreach ($ipRanges as $ipRange) {
130 ?>
131 <li><?php echo htmlentities($ipRange); ?></li>
132 <?php
133 }
134 ?>
135 </ul>
136 <?php
137 } else {
138 echo TXT_UAM_NONE;
139 }
140 ?>
141 </td>
142 </tr>
143 <?php
144 }
145 ?>
146 </tbody>
147 </table>
148 <div class="tablenav">
149 <div class="alignleft">
150 <input type="submit"
151 class="button-secondary delete"
152 name="deleteit"
153 value="<?php echo TXT_UAM_DELETE; ?>"/>
154 </div>
155 <br class="clear"/>
156 </div>
157 </form>
158