PluginProbe
User Access Manager / 1.2.3
User Access Manager v1.2.3
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.3, at tpl/adminGroup.php

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