addUserUI.inc
10.2 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
186
187
188
189
190
191
192
193
<?php
/**
* $Id$
*
* Add user UI functions.
*
* Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* @version $Revision$
* @author Mukhtar Dharsey, Jam Warehouse (Pty) Ltd, South Africa
* @package administration.usermanagement
*/
// 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=\"" . KTHtml::getSelectButton() . "\" 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 =\"" . KTHtml::getSelectButton() . "\" 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 Address") . ": </td><td><input size = \"40\" type=\"text\" name=\"fEmail\" value = \"" . $aUserAttributes["email"] ."\"> </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\" " . (isset($aUserAttributes["email_notification"]) ? "value=\"" . $aUserAttributes["email_notification"] . "\" " : "") . ($aUserAttributes["email_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("listUsers") . "</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 Address") . ": </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>" . _("Initial Group") . "</b></td><td>" . getGroupListBox() . "</td></tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td colspan=\"2\" align=\"right\">" . getAddButton() . getCancelButton("listUsers") . "</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 =\"" . KTHtml::getAddButton() . "\" value=\"submit\" border=\"0\"/>\n";
}
function getGroupListBox() {
global $default;
if (Permission::userIsSystemAdministrator()) {
// if this is the system administrator, prepend group names with unit name
$oPatternListBox = & new PatternListBox($default->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->groups_table, "name", "id", "fGroupID");
$oPatternListBox->setFromClause("INNER JOIN $default->groups_units_table GUL on ST.id=GUL.group_id");
$oPatternListBox->setWhereClause("GUL.unit_id=" . User::getUnitID($_SESSION["userID"]));
}
return $oPatternListBox->render();
}
?>