PluginProbe
User Access Manager / 1.2.6.4
User Access Manager v1.2.6.4
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 / tpl / adminGroup.php

adminGroup.php in User Access Manager 1.2.6.4, at tpl/adminGroup.php

456 lines 13.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * adminGroup.php
4 *
5 * Shows the group management page at the admin panel.
6 *
7 * PHP versions 5
8 *
9 * @category UserAccessManager
10 * @package UserAccessManager
11 * @author Alexander Schneider <alexanderschneider85@googlemail.com>
12 * @copyright 2008-2013 Alexander Schneider
13 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2
14 * @version SVN: $Id$
15 * @link http://wordpress.org/extend/plugins/user-access-manager/
16 */
17
18 /**
19 * Inserts or update a user group.
20 *
21 * @param integer $iUserGroupId The _iId of the user group.
22 *
23 * @return null
24 */
25 function insertUpdateGroup($iUserGroupId)
26 {
27 global $oUserAccessManager;
28
29 if (empty($_POST) || !wp_verify_nonce($_POST['uamInsertUpdateGroupNonce'], 'uamInsertUpdateGroup')) {
30 wp_die(TXT_UAM_NONCE_FAILURE);
31 }
32
33 if ($iUserGroupId != null) {
34 $oUamUserGroup = $oUserAccessManager->getAccessHandler()->getUserGroups($iUserGroupId);
35 } else {
36 $oUamUserGroup = new UamUserGroup($oUserAccessManager->getAccessHandler(), null);
37 }
38
39 $oUamUserGroup->setGroupName($_POST['userGroupName']);
40 $oUamUserGroup->setGroupDesc($_POST['userGroupDescription']);
41 $oUamUserGroup->setReadAccess($_POST['readAccess']);
42 $oUamUserGroup->setWriteAccess($_POST['writeAccess']);
43 $oUamUserGroup->setIpRange($_POST['ipRange']);
44
45 if (isset($_POST['roles'])) {
46 $aRoles = $_POST['roles'];
47 } else {
48 $aRoles = null;
49 }
50
51 $oUamUserGroup->unsetObjects('role', true);
52
53 if ($aRoles) {
54 foreach ($aRoles as $sRole) {
55 $oUamUserGroup->addObject('role', $sRole);
56 }
57 }
58
59 $oUamUserGroup->save();
60
61 $oUserAccessManager->getAccessHandler()->addUserGroup($oUamUserGroup);
62 }
63
64 /**
65 * Prints the group form.
66 *
67 * @param integer $sGroupId The given group _iId.
68 *
69 * @return null
70 */
71 function getPrintEditGroup($sGroupId = null)
72 {
73 global $oUserAccessManager;
74 $oUamUserGroup = $oUserAccessManager->getAccessHandler()->getUserGroups($sGroupId);
75 ?>
76 <form method="post" action="<?php
77 $aUri = explode("?", $_SERVER["REQUEST_URI"]);
78 echo reset($aUri) . "?page=" . $_GET['page'];
79 ?>">
80 <?php
81 wp_nonce_field('uamInsertUpdateGroup', 'uamInsertUpdateGroupNonce');
82
83 if (isset($sGroupId)) {
84 ?>
85 <input type="hidden" value="updateGroup" name="action" />
86 <input type="hidden" value="<?php echo $sGroupId; ?>" name="userGroupId" />
87 <?php
88 } else {
89 ?>
90 <input type="hidden" value="addGroup" name="action" />
91 <?php
92 }
93 ?>
94 <table class="form-table">
95 <tbody>
96 <tr class="form-field form-required">
97 <th valign="top" scope="row"><?php echo TXT_UAM_GROUP_NAME; ?></th>
98 <td>
99 <input type="text" size="40" value="<?php
100 if (isset($sGroupId)) {
101 echo $oUamUserGroup->getGroupName();
102 }
103 ?>" id="userGroupName" name="userGroupName" /><br />
104 <?php echo TXT_UAM_GROUP_NAME_DESC; ?>
105 </td>
106 </tr>
107 <tr class="form-field form-required">
108 <th valign="top" scope="row"><?php echo TXT_UAM_GROUP_DESC; ?></th>
109 <td>
110 <input type="text" size="40" value="<?php
111 if (isset($sGroupId)) {
112 echo $oUamUserGroup->getGroupDesc();
113 }
114 ?>" id="userGroupDescription" name="userGroupDescription" /><br />
115 <?php echo TXT_UAM_GROUP_DESC_DESC; ?>
116 </td>
117 </tr>
118 <tr class="form-field form-required">
119 <th valign="top" scope="row"><?php echo TXT_UAM_GROUP_IP_RANGE; ?></th>
120 <td><input type="text" size="40" value="<?php
121 if (isset($sGroupId)) {
122 echo $oUamUserGroup->getIpRange('string');
123 }
124 ?>" id="ipRange" name="ipRange" /><br />
125 <?php echo TXT_UAM_GROUP_IP_RANGE_DESC; ?>
126 </td>
127 </tr>
128 <tr class="form-field form-required">
129 <th valign="top" scope="row"><?php echo TXT_UAM_GROUP_READ_ACCESS; ?></th>
130 <td>
131 <select name="readAccess">
132 <option value="group"
133 <?php
134 if (isset($sGroupId)) {
135 if ($oUamUserGroup->getReadAccess() == "group") {
136 echo 'selected="selected"';
137 }
138 }
139 ?>
140 >
141 <?php echo TXT_UAM_ONLY_GROUP_USERS ?>
142 </option>
143 <option value="all"
144 <?php
145 if (isset($sGroupId)) {
146 if ($oUamUserGroup->getReadAccess() == "all") {
147 echo 'selected="selected"';
148 }
149 }
150 ?>
151 >
152 <?php echo TXT_UAM_ALL ?>
153 </option>
154 </select><br />
155 <?php echo TXT_UAM_GROUP_READ_ACCESS_DESC; ?>
156 </td>
157 </tr>
158 <tr class="form-field form-required">
159 <th valign="top" scope="row"><?php echo TXT_UAM_GROUP_WRITE_ACCESS; ?></th>
160 <td>
161 <select name="writeAccess">
162 <option value="group"
163 <?php
164 if (isset($sGroupId)) {
165 if ($oUamUserGroup->getWriteAccess() == "group") {
166 echo 'selected="selected"';
167 }
168 }
169 ?>
170 >
171 <?php echo TXT_UAM_ONLY_GROUP_USERS ?>
172 </option>
173 <option value="all"
174 <?php
175 if (isset($sGroupId)) {
176 if ($oUamUserGroup->getWriteAccess() == "all") {
177 echo 'selected="selected"';
178 }
179 }
180 ?>
181 >
182 <?php echo TXT_UAM_ALL ?>
183 </option>
184 </select><br />
185 <?php echo TXT_UAM_GROUP_WRITE_ACCESS_DESC; ?>
186 </td>
187 </tr>
188 <tr>
189 <th valign="top" scope="row"><?php echo TXT_UAM_GROUP_ROLE; ?></th>
190 <td>
191 <ul class='uam_role'>
192 <?php
193 global $wp_roles;
194
195 if (isset($sGroupId)) {
196 $aGroupRoles = $oUamUserGroup->getObjectsFromType('role');
197 }
198
199 foreach ($wp_roles->role_names as $role => $name) {
200 if ($role != "administrator") {
201 ?>
202 <li class="selectit">
203 <input id="role-<?php echo $role; ?>" type="checkbox"
204 <?php
205
206 if (isset($aGroupRoles[$role])) {
207 echo 'checked="checked"';
208 }
209 ?>
210
211 value="<?php echo $role; ?> " name="roles[]" />
212 <label for="role-<?php echo $role; ?>">
213 <?php echo $role; ?>
214 </label>
215 </li>
216 <?php
217 }
218 }
219 ?>
220 </ul>
221 </td>
222 </tr>
223 </tbody>
224 </table>
225 <p class="submit">
226 <input type="submit" value="<?php
227 if (isset($sGroupId)) {
228 echo TXT_UAM_UPDATE_GROUP;
229 } else {
230 echo TXT_UAM_ADD_GROUP;
231 }
232 ?>" name="submit" class="button" />
233 </p>
234 </form>
235 <?php
236 }
237
238 if (isset($_GET['action'])) {
239 $action = $_GET['action'];
240 } else {
241 $action = null;
242 }
243
244 if ($action == 'editGroup' && isset($_GET['id'])) {
245 $editGroup = true;
246 } else {
247 $editGroup = false;
248 }
249
250 if (isset($_POST['action'])) {
251 $postAction = $_POST['action'];
252 } else {
253 $postAction = null;
254 }
255
256 if ($postAction == 'delgroup') {
257 if (empty($_POST)
258 || !wp_verify_nonce($_POST['uamDeleteGroupNonce'], 'uamDeleteGroup')
259 ) {
260 wp_die(TXT_UAM_NONCE_FAILURE);
261 }
262
263 if (isset($_POST['delete'])) {
264 $delIds = $_POST['delete'];
265 }
266
267 if (isset($delIds)) {
268 global $oUserAccessManager;
269
270 foreach ($delIds as $delId) {
271 $oUserAccessManager->getAccessHandler()->deleteUserGroup($delId);
272 }
273 ?>
274 <div class="updated">
275 <p><strong><?php echo TXT_UAM_DEL_GROUP; ?></strong></p>
276 </div>
277 <?php
278 }
279 }
280
281 if (($postAction == 'updateGroup' || $postAction == 'addGroup')
282 && !empty($_POST['userGroupName'])
283 ) {
284 if (!isset($_POST['userGroupId'])) {
285 $_POST['userGroupId'] = null;
286 }
287
288 insertUpdateGroup($_POST['userGroupId']);
289
290 if ($postAction == 'addGroup') {
291 ?>
292 <div class="updated">
293 <p><strong><?php echo TXT_UAM_GROUP_ADDED; ?></strong></p>
294 </div>
295 <?php
296 } elseif ($postAction == 'updateGroup') {
297 ?>
298 <div class="updated">
299 <p><strong><?php echo TXT_UAM_ACCESS_GROUP_EDIT_SUC; ?></strong></p>
300 </div>
301 <?php
302 }
303 } elseif (($postAction == 'updateGroup' || $postAction == 'addGroup')
304 && empty($_POST['userGroupName'])) {
305 ?>
306 <div class="error">
307 <p><strong><?php echo TXT_UAM_GROUP_NAME_ERROR; ?></strong></p>
308 </div>
309 <?php
310 }
311
312 if (!$editGroup) {
313 ?>
314 <div class="wrap">
315 <form method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?>">
316 <?php wp_nonce_field('uamDeleteGroup', 'uamDeleteGroupNonce'); ?>
317 <input type="hidden" value="delgroup" name="action" />
318 <h2><?php echo TXT_UAM_MANAGE_GROUP; ?></h2>
319 <div class="tablenav">
320 <div class="alignleft">
321 <input type="submit" class="button-secondary delete" name="deleteit" value="<?php echo TXT_UAM_DELETE; ?>" />
322 </div>
323 <br class="clear" />
324 </div>
325 <br class="clear" />
326 <table class="widefat">
327 <thead>
328 <tr class="thead">
329 <th scope="col"></th>
330 <th scope="col"><?php echo TXT_UAM_NAME; ?></th>
331 <th scope="col"><?php echo TXT_UAM_DESCRIPTION; ?></th>
332 <th scope="col"><?php echo TXT_UAM_READ_ACCESS; ?></th>
333 <th scope="col"><?php echo TXT_UAM_WRITE_ACCESS; ?></th>
334 <th scope="col"><?php echo TXT_UAM_GROUP_ROLE; ?></th>
335 <th scope="col"><?php echo TXT_UAM_IP_RANGE; ?></th>
336 </tr>
337 </thead>
338 <tbody>
339 <?php
340 $sCurAdminPage = isset($_GET['page']) ? $_GET['page'] : '';
341
342 global $oUserAccessManager;
343 $aUamUserGroups = $oUserAccessManager->getAccessHandler()->getUserGroups();
344
345 if (isset($aUamUserGroups)) {
346 foreach ($aUamUserGroups as $oUamUserGroup) {
347 ?>
348 <tr class="alternate" id="group-<?php echo $oUamUserGroup->getId(); ?>">
349 <th class="check-column" scope="row">
350 <input type="checkbox" value="<?php echo $oUamUserGroup->getId(); ?>" name="delete[]" />
351 </th>
352 <td>
353 <strong>
354 <a href="?page=<?php echo $sCurAdminPage; ?>&amp;action=editGroup&amp;id=<?php echo $oUamUserGroup->getId(); ?>">
355 <?php echo $oUamUserGroup->getGroupName(); ?>
356 </a>
357 </strong>
358 </td>
359 <td><?php echo $oUamUserGroup->getGroupDesc() ?></td>
360 <td>
361 <?php
362 if ($oUamUserGroup->getReadAccess() == "all") {
363 echo TXT_UAM_ALL;
364 } elseif ($oUamUserGroup->getReadAccess() == "group") {
365 echo TXT_UAM_ONLY_GROUP_USERS;
366 }
367 ?>
368 </td>
369 <td>
370 <?php
371 if ($oUamUserGroup->getWriteAccess() == "all") {
372 echo TXT_UAM_ALL;
373 } elseif ($oUamUserGroup->getWriteAccess() == "group") {
374 echo TXT_UAM_ONLY_GROUP_USERS;
375 }
376 ?>
377 </td>
378 <td>
379 <?php
380 if ($oUamUserGroup->getObjectsFromType('role')) {
381 ?>
382 <ul>
383 <?php
384 foreach ($oUamUserGroup->getObjectsFromType('role') as $sKey => $sRole) {
385 ?>
386 <li>
387 <?php
388 echo $sKey;
389 ?>
390 </li>
391 <?php
392 }
393 ?>
394 </ul>
395 <?php
396 } else {
397 echo TXT_UAM_NONE;
398 }
399 ?>
400 </td>
401 <td>
402 <?php
403 if ($oUamUserGroup->getIpRange()) {
404 ?>
405 <ul>
406 <?php
407 foreach ($oUamUserGroup->getIpRange() as $sIpRange) {
408 ?>
409 <li>
410 <?php
411 echo $sIpRange;
412 ?>
413 </li>
414 <?php
415 }
416 ?>
417 </ul>
418 <?php
419 } else {
420 echo TXT_UAM_NONE;
421 }
422 ?>
423 </td>
424 </tr>
425 <?php
426 }
427 }
428 ?>
429 </tbody>
430 </table>
431 </form>
432 </div>
433 <?php
434 }
435 ?>
436 <div class="wrap">
437 <h2>
438 <?php
439
440
441 if ($editGroup) {
442 echo TXT_UAM_EDIT_GROUP;
443 } else {
444 echo TXT_UAM_ADD_GROUP;
445 }
446 ?>
447 </h2>
448 <?php
449 if ($editGroup) {
450 $groupId = $_GET['id'];
451 getPrintEditGroup($groupId);
452 } else {
453 getPrintEditGroup();
454 }
455 ?>
456 </div>