PluginProbe
User Access Manager / 2.1.9
User Access Manager v2.1.9
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 / GroupSelectionForm.php

GroupSelectionForm.php in User Access Manager 2.1.9, at src/View/GroupSelectionForm.php

158 lines 6.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * GroupSelectionFrom.php
4 *
5 * Shows the group selection form at the admin panel.
6 *
7 * PHP versions 5
8 *
9 * @author Alexander Schneider <alexanderschneider85@gmail.com>
10 * @copyright 2008-2017 Alexander Schneider
11 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2
12 * @version SVN: $id$
13 * @link http://wordpress.org/extend/plugins/user-access-manager/
14 */
15 ?>
16 <input type="hidden" name="uam_update_groups" value="1"/>
17 <ul class="uam_group_selection">
18 <?php
19 /**
20 * @var \UserAccessManager\Controller\Backend\ObjectController $controller
21 */
22
23 $groupsFormName = $controller->getGroupsFormName();
24 $objectType = $controller->getObjectType();
25 $objectId = $controller->getObjectId();
26 $userGroups = $controller->getFilteredUserGroups();
27 uasort(
28 $userGroups,
29 function (
30 \UserAccessManager\UserGroup\AbstractUserGroup $userGroupOne,
31 \UserAccessManager\UserGroup\AbstractUserGroup $userGroupTwo
32 ) {
33 $notLoggedInUserGroupId = \UserAccessManager\UserGroup\DynamicUserGroup::USER_TYPE
34 .'|'.\UserAccessManager\UserGroup\DynamicUserGroup::NOT_LOGGED_IN_USER_ID;
35
36 if ($userGroupOne->getId() === $notLoggedInUserGroupId) {
37 return 1;
38 } elseif ($userGroupTwo->getId() === $notLoggedInUserGroupId) {
39 return 0;
40 }
41
42 return strnatcasecmp($userGroupOne->getName(), $userGroupTwo->getName());
43 }
44 );
45 $dateUtil = $controller->getDateUtil();
46
47 /**
48 * @var \UserAccessManager\UserGroup\UserGroup[] $userGroups
49 */
50 foreach ($userGroups as $userGroup) {
51 $userGroup->setIgnoreDates(true);
52 $fromDate = null;
53 $toDate = null;
54 $isLockedRecursive = false;
55 $attributes = '';
56
57 /**
58 * @var \UserAccessManager\UserGroup\AssignmentInformation $assignmentInformation
59 */
60 if ($userGroup->isObjectMember($objectType, $objectId, $assignmentInformation) === true) {
61 $attributes .= 'checked="checked" ';
62 $fromDate = $assignmentInformation->getFromDate();
63 $toDate = $assignmentInformation->getToDate();
64 $isLockedRecursive = $userGroup->isLockedRecursive($objectType, $objectId);
65 $attributes .= ($isLockedRecursive === true) ? ' disabled="disabled"' : '';
66 } elseif ($controller->isNewObject()
67 && $userGroup->isDefaultGroupForObjectType($objectType, $fromTime, $toTime) === true
68 ) {
69 $attributes .= 'checked="checked" ';
70 $fromDate = $dateUtil->getDateFromTime($fromTime);
71 $toDate = $dateUtil->getDateFromTime($toTime);
72 } elseif ($userGroup instanceof \UserAccessManager\UserGroup\DynamicUserGroup
73 && $userGroup->getId() !== \UserAccessManager\UserGroup\DynamicUserGroup::USER_TYPE.'|0'
74 ) {
75 continue;
76 }
77
78 ?>
79 <li>
80 <input type="checkbox"
81 id="<?php echo $groupsFormName; ?>-<?php echo $userGroup->getId(); ?>" <?php echo $attributes; ?>
82 value="<?php echo $userGroup->getId(); ?>"
83 name="<?php echo $groupsFormName; ?>[<?php echo $userGroup->getId(); ?>][id]" />
84 <label for="<?php echo $groupsFormName; ?>-<?php echo $userGroup->getId(); ?>" class="selectit"
85 style="display:inline;">
86 <?php echo htmlentities($userGroup->getName()).($isLockedRecursive === true ? ' [LR]' : ''); ?>
87 <span class="uam_group_info_link">(<?php echo TXT_UAM_INFO; ?>)</span>
88 <?php include 'GroupInfo.php'; ?>
89 </label>
90 <?php
91 $dateText = TXT_UAM_GROUP_ASSIGNMENT_TIME;
92
93 if ($fromDate !== null) {
94 $dateText = TXT_UAM_GROUP_FROM_DATE.' '.$dateUtil->formatDate($fromDate);
95 }
96
97 if ($toDate !== null) {
98 $dateText = ($dateText !== TXT_UAM_GROUP_ASSIGNMENT_TIME) ? $dateText.'<br>' : '';
99 $dateText .= TXT_UAM_GROUP_TO_DATE.' '.$dateUtil->formatDate($toDate);
100 }
101
102 if ($isLockedRecursive === false) {
103 $formPrefix = $groupsFormName.'-'.$userGroup->getId();
104 ?>
105 <span class="uam_group_date"><?php echo $dateText; ?></span>
106 <div class="uam_group_date_form">
107 <div>
108 <label class="uam_date_label" for="<?php echo $formPrefix; ?>-fromDate-date">
109 <?php echo TXT_UAM_GROUP_FROM_DATE; ?>
110 </label>
111 <input type="date"
112 id="<?php echo $formPrefix ?>-fromDate-date"
113 name="<?php echo "{$groupsFormName}[{$userGroup->getId()}][fromDate][date]"; ?>"
114 value="<?php echo $dateUtil->formatDateForDateInput($fromDate); ?>"/>
115 <label for="<?php echo $formPrefix; ?>-fromDate-time">@</label>
116 <input type="time"
117 id="<?php echo $formPrefix; ?>-fromDate-time"
118 name="<?php echo "{$groupsFormName}[{$userGroup->getId()}][fromDate][time]"; ?>"
119 value="<?php echo $dateUtil->formatDateForTimeInput($fromDate); ?>" />
120 </div>
121 <div>
122 <label class="uam_date_label" for="<?php echo $formPrefix; ?>-toDate-date">
123 <?php echo TXT_UAM_GROUP_TO_DATE; ?>
124 </label>
125 <input type="date"
126 id="<?php echo $formPrefix ?>-toDate-date"
127 name="<?php echo "{$groupsFormName}[{$userGroup->getId()}][toDate][date]"; ?>"
128 value="<?php echo $dateUtil->formatDateForDateInput($toDate); ?>"/>
129 <label for="<?php echo $formPrefix; ?>-toDate-time">@</label>
130 <input type="time"
131 id="<?php echo $formPrefix; ?>-toDate-time"
132 name="<?php echo "{$groupsFormName}[{$userGroup->getId()}][toDate][time]"; ?>"
133 value="<?php echo $dateUtil->formatDateForTimeInput($toDate); ?>" />
134 </div>
135 </div>
136 <?php
137 }
138 ?>
139 </li>
140 <?php
141 }
142 ?>
143 </ul>
144 <?php
145 if ($controller->getObjectType() !== \UserAccessManager\Object\ObjectHandler::GENERAL_USER_OBJECT_TYPE
146 && $controller->checkUserAccess() === true
147 ) {
148 ?>
149 <p>
150 <span><label for="uam_dynamic_groups"><?php echo TXT_UAM_ADD_DYNAMIC_GROUP; ?></label></span>
151 <input id="uam_dynamic_groups"
152 class="form-input-tip ui-autocomplete-input"
153 autocomplete="off"
154 value=""
155 role="combobox">
156 </p>
157 <?php
158 }