addUserUI.inc
9.53 KB
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<?php
/**
* Presentation information for adding a unit
*
* @author Mukhtar Dharsey
* @date 5 February 2003
* @package presentation.lookAndFeel.knowledgeTree.
*
*/
// display multiple users
function getSelectUserPage($aResults) {
global $default;
$sToRender .= renderHeading("Add User To System");
$sToRender .= "<table>\n";
$sToRender .= "<tr><td>Select the User to add to the System:</td></tr>\n";
$sToRender .= "<tr><td><select name=\"fName\">\n";
foreach ($aResults as $sName => $aAttributes) {
$sToRender .= "<option value=\"$sName\">$sName</option>";
}
$sToRender .= "</select></td></tr>\n";
$sToRender .= "<tr><td></td><td align=\"right\"><input type=\"image\" src=\"$default->graphicsUrl/widgets/select.gif\" value=\"submit\" border=\"0\"/></td></tr>\n";
$sToRender .= "</table>\n";
return $sToRender;
}
// get add pages
function getSearchPage($unitID) {
global $default;
$sToRender .= renderHeading("Search For A User To Add");
$sToRender .= "<table>\n";
$sToRender .= "<tr><td colspan=\"2\">Please enter a VALID Username to search for in the text box below</td></tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Username: </td><td><input size = \"40\" type=\"text\" name=\"fName\"> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<td></td><td align = right><input type=\"image\" src =\"$default->graphicsUrl/widgets/select.gif\" value=\"Submit\" border=\"0\"/></td>\n";
$sToRender .= "</table>\n";
return $sToRender;
}
function getDetailsDBPage($sUserName, $aAttributes) {
global $default;
$sToRender .= renderHeading("Add User To System");
foreach ($aAttributes as $sUserName => $aUserAttributes) {
$sToRender .= "<table>\n";
$sToRender .= "<tr><td><b>User Details: </b></td></tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Username: </td><td><input size = \"40\" type=\"text\" name=\"fUsername\" value = \"". $aUserAttributes["username"]. "\"> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Password: </td><td><input size = \"40\" type=\"password\" name=\"fPassword\"></td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Name: </td><td><input size = \"40\" type=\"text\" name=\"fName\" value = \"" . $aUserAttributes["name"] ."\"> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Email: </td><td><input size = \"40\" type=\"text\" name=\"fEmail\" value = \"" . $aUserAttributes["email"] ."\"> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Mobile: </td><td><input size = \"40\" type=\"text\" name=\"fMobile\" value = \"" . $aUserAttributes["mobile"] ."\"> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Email Notification: </td><td><input type=\"checkbox\" name=\"fEmailNotification\" value=\"" . $aUserAttributes["email_notification"] . "\" " . ($aUserAttributes["email_notification"] == "1" ? "checked" : "") . "\"> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Sms Notification: </td><td><input type=\"checkbox\" name=\"fSmsNotification\" value=\"" . $aUserAttributes["sms_notification"] . "\" " . ($aUserAttributes["sms_notification"] == "1" ? "checked" : "") . "> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr><td><b>Initial Group</b></td><td>" . getGroupListBox() . "</td></tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td colspan=\"2\" align=\"right\">" . getAddButton() . getCancelButton() . "</td>";
$sToRender .= "</tr>\n";
$sToRender .= "</table>\n";
$sToRender .= getJavascriptValidation();
}
return $sToRender;
}
function getDetailsLDAPPage($sUserName, $aAttributes, $sUserIdentifier) {
global $default;
$sToRender .= renderHeading("Add User To System");
foreach ($aAttributes as $sUserName => $aUserAttributes) {
$sToRender .= "<table>\n";
$sToRender .= "<tr><td><b>User Details: </b></td></tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>LDAP DN: </td><td><input " . ($default->bNN4 ? "onblur=\"disable(document.MainForm.fLdap)" : "DISABLED") . " size = \"40\" type=\"text\" name=\"fLdap\" value = \"". $aUserAttributes["dn"]. "\"> </td>\n";
$sToRender .= "<input type=\"hidden\" name=\"fLdap\" value = \"". $aUserAttributes["dn"]. "\">\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Username: </td><td><input " . ($default->bNN4 ? "onblur=\"disable(document.MainForm.fUsername)" : "DISABLED") . " size = \"40\" type=\"text\" name=\"fUsername\" value = \"" . $aUserAttributes[$sUserIdentifier] ."\"> </td>\n";
$sToRender .= "<input type=\"hidden\" name=\"fUsername\" value = \"" . $aUserAttributes[$sUserIdentifier] ."\">\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Name: </td><td><input size = \"40\" type=\"text\" name=\"fName\" value = \"" . $aUserAttributes["givenname"] ." " . $aUserAttributes["sn"] ."\"> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Email: </td><td><input size = \"40\" type=\"text\" name=\"fEmail\" value = \"" . $aUserAttributes["userPrincipalName"] ."\"> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Mobile Number: </td><td><input size = \"40\" type=\"text\" name=\"fMobile\" value = \"" . $aUserAttributes["mobile"] ."\"> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Email Notification: </td><td><input type=\"checkbox\" name=\"fEmailNotification\"/ CHECKED> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>Sms Notification: </td><td><input type=\"checkbox\" name=\"fSmsNotification\"/> </td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr><td><b>Group</b></td><td>" . getGroupListBox() . "</td></tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td colspan=\"2\" align=\"right\">" . getAddButton() . getCancelButton() . "</td>";
$sToRender .= "</tr>\n";
$sToRender .= "</table>\n";
$sToRender .= getJavascriptValidation(true);
}
return $sToRender;
}
function getJavascriptValidation($bLdap = false) {
// validation starts
$sToRender .= "\n\n<script language=\"javascript\">\n<!--\n";
$sToRender .= "function validateForm(theForm) {\n";
// the username is disabled for adding users from a directory
if (!$bLdap) {
$sToRender .= "\tif (!(validRequired(theForm.fUsername, 'Username'))) {\n";
$sToRender .= "\t\treturn false;\n\t}\n";
}
$sToRender .= "\tif (!(validRequired(theForm.fName, 'User display name'))) {\n";
$sToRender .= "\t\treturn false;\n\t}\n";
$sToRender .= "\tif (!(validRequired(theForm.fPassword, 'Password'))) {\n";
$sToRender .= "\t\treturn false;\n\t}\n";
$sToRender .= "\tif (!(validRequired(theForm.fEmail, 'Email address'))) {\n";
$sToRender .= "\t\treturn false;\n\t}\n";
$sToRender .= "\tif (!(validRequired(theForm.fGroupID, 'Initial group'))) {\n";
$sToRender .= "\t\treturn false;\n\t}\n";
$sToRender .= "return true;\n}\n";
$sToRender .= "//-->\n</script>\n\n";
return $sToRender;
}
function getPageSuccess() {
return statusPage("Add User To System", "Addition Successful!", "The User was successfully added to the System.", "addUser");
}
function getPageGroupFail() {
return statusPage("Add User To System", "Group Addition Unsuccessful!", "The user was succesfully added, but could not be assigned to the selected group.", "addUser");
}
function getPageFail() {
return statusPage("Add User To System", "Addition Unsuccessful!", "The user was not added because the selected User Name already exists.", "addUser");
}
function getPageUsernameNotFound() {
return statusPage("Add User To System", "Username not found!", "Your user search string did not match any users in the user directory.", "addUser");
}
function getAddButton() {
global $default;
return "<input type=\"image\" src =\"$default->graphicsUrl/widgets/add.gif\" value=\"submit\" border=\"0\"/>\n";
}
function getCancelButton() {
global $default;
return "<a href=\"$default->rootUrl/control.php?action=addUser\"><img src =\"$default->graphicsUrl/widgets/cancel.gif\" border = \"0\" /></a>\n";
}
function getGroupListBox() {
global $default;
if (Permission::userIsSystemAdministrator()) {
// if this is the system administrator, prepend group names with unit name
$oPatternListBox = & new PatternListBox($default->owl_groups_table, "name", "id", "fGroupID");
$oPatternListBox->setFromClause("LEFT OUTER JOIN groups_units_link GUL on ST.id=GUL.group_id " .
"LEFT OUTER JOIN units_lookup UL on GUL.unit_id=UL.id");
$oPatternListBox->setCompositeDisplayName("DISTINCT COALESCE(CONCAT(CONCAT(UL.name, '-'),ST.name),ST.name)");
} else if (Permission::userIsUnitAdministrator()) {
// else if this is a unit administrator, only display the groups in your unit
$oPatternListBox = & new PatternListBox($default->owl_groups_table, "name", "id", "fGroupID");
$oPatternListBox->setFromClause("INNER JOIN $default->owl_groups_units_table GUL on ST.id=GUL.group_id");
$oPatternListBox->setWhereClause("GUL.unit_id=" . User::getUnitID($_SESSION["userID"]));
}
return $oPatternListBox->render();
}
?>