These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | /** |
||
3 | * |
||
4 | * @file users.php |
||
5 | * @author Nils Laumaillé |
||
6 | * @version 2.1.27 |
||
7 | * @copyright (c) 2009-2017 Nils Laumaillé |
||
8 | * @licensing GNU AFFERO GPL 3.0 |
||
9 | * @link http://www.teampass.net |
||
10 | * |
||
11 | * This library is distributed in the hope that it will be useful, |
||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
||
14 | */ |
||
15 | |||
16 | View Code Duplication | if ( |
|
17 | !isset($_SESSION['CPM']) || $_SESSION['CPM'] != 1 || |
||
18 | !isset($_SESSION['user_id']) || empty($_SESSION['user_id']) || |
||
19 | !isset($_SESSION['key']) || empty($_SESSION['key'])) |
||
20 | { |
||
21 | die('Hacking attempt...'); |
||
22 | } |
||
23 | |||
24 | /* do checks */ |
||
25 | require_once $_SESSION['settings']['cpassman_dir'].'/sources/checks.php'; |
||
26 | if (!checkUser($_SESSION['user_id'], $_SESSION['key'], curPage())) { |
||
27 | $_SESSION['error']['code'] = ERR_NOT_ALLOWED; //not allowed page |
||
28 | include $_SESSION['settings']['cpassman_dir'].'/error.php'; |
||
29 | exit(); |
||
30 | } |
||
31 | |||
32 | require_once $_SESSION['settings']['cpassman_dir'].'/sources/SplClassLoader.php'; |
||
33 | require_once $_SESSION['settings']['cpassman_dir'].'/sources/main.functions.php'; |
||
34 | |||
35 | // Load file |
||
36 | require_once 'users.load.php'; |
||
37 | // load help |
||
38 | require_once $_SESSION['settings']['cpassman_dir'].'/includes/language/'.$_SESSION['user_language'].'_admin_help.php'; |
||
39 | |||
40 | //Build tree |
||
41 | $tree = new SplClassLoader('Tree\NestedTree', $_SESSION['settings']['cpassman_dir'].'/includes/libraries'); |
||
42 | $tree->register(); |
||
43 | $tree = new Tree\NestedTree\NestedTree(prefix_table("nested_tree"), 'id', 'parent_id', 'title'); |
||
0 ignored issues
–
show
Security
Bug
introduced
by
![]() |
|||
44 | |||
45 | $treeDesc = $tree->getDescendants(); |
||
46 | $foldersList = ""; |
||
47 | foreach ($treeDesc as $t) { |
||
48 | if (in_array($t->id, $_SESSION['groupes_visibles']) && !in_array($t->id, $_SESSION['personal_visible_groups'])) { |
||
49 | $ident = ""; |
||
50 | for ($y = 1; $y < $t->nlevel; $y++) { |
||
51 | $ident .= " "; |
||
52 | } |
||
53 | $foldersList .= '<option value="'.$t->id.'">'.$ident.@htmlspecialchars($t->title, ENT_COMPAT, "UTF-8").'</option>'; |
||
54 | $prev_level = $t->nlevel; |
||
55 | } |
||
56 | } |
||
57 | |||
58 | // Build ROLESTITLES list |
||
59 | $rolesList = array(); |
||
60 | $rows = DB::query("SELECT id, title FROM ".prefix_table("roles_title")." ORDER BY title ASC"); |
||
61 | View Code Duplication | foreach ($rows as $reccord) { |
|
62 | $rolesList[$reccord['id']] = array('id' => $reccord['id'], 'title' => $reccord['title']); |
||
63 | } |
||
64 | |||
65 | |||
66 | // Display list of USERS |
||
67 | echo ' |
||
68 | <div class="title ui-widget-content ui-corner-all"> |
||
69 | '.$LANG['admin_users'].' |
||
70 | <button title="'.htmlentities(strip_tags($LANG['new_user_title']), ENT_QUOTES).'" onclick="OpenDialog(\'add_new_user\')" class="button" style="font-size:16px;"> |
||
71 | <i class="fa fa-plus"></i> |
||
72 | </button> |
||
73 | <button title="'.htmlentities(strip_tags($LANG['share_user_rights']), ENT_QUOTES).'" onclick="OpenDialog(\'share_rights_dialog\')" class="button" style="font-size:16px;"> |
||
74 | <i class="fa fa-share-alt"></i> |
||
75 | </button> |
||
76 | </div>'; |
||
77 | |||
78 | |||
79 | //Show the KB in a table view |
||
80 | echo ' |
||
81 | <div style="margin:10px auto 25px auto;min-height:250px;" id="users_page"> |
||
82 | <div id="t_users_alphabet" style="margin-top:25px;"></div> |
||
83 | <table id="t_users" class="hover" width="100%"> |
||
84 | <thead><tr> |
||
85 | <th>'.$LANG['action'].'</th> |
||
86 | <th>'.$LANG['user_login'].'</th> |
||
87 | <th>'.$LANG['name'].'</th> |
||
88 | <th>'.$LANG['lastname'].'</th> |
||
89 | <th>'.$LANG['managed_by'].'</th> |
||
90 | <th>'.$LANG['functions'].'</th> |
||
91 | <th style="width:20px;" title="'.htmlentities(strip_tags($LANG['god']), ENT_QUOTES).'"><i class="fa fa-user-secret" style="font-size:14px;"></i></th> |
||
92 | <th style="width:20px;" title="'.htmlentities(strip_tags($LANG['gestionnaire']), ENT_QUOTES).'"><i class="fa fa-child" style="font-size:14px;"></i></th> |
||
93 | <th style="width:20px;" title="'.htmlentities(strip_tags($LANG['read_only_account']), ENT_QUOTES).'"><i class="fa fa-eye" style="font-size:14px;"></i></th> |
||
94 | <th style="width:20px;" title="'.htmlentities(strip_tags($LANG['can_manage_all_users']), ENT_QUOTES).'"><i class="fa fa-group" style="font-size:14px;"></i></th> |
||
95 | <th style="width:20px;" title="'.htmlentities(strip_tags($LANG['can_create_root_folder']), ENT_QUOTES).'"><i class="fa fa-code-fork" style="font-size:14px;"></i></th> |
||
96 | <th style="width:20px;" title="'.htmlentities(strip_tags($LANG['enable_personal_folder']), ENT_QUOTES).'"><i class="fa fa-book" style="font-size:14px;"></i></th> |
||
97 | </tr></thead> |
||
98 | <tbody> |
||
99 | <tr><td></td></tr> |
||
100 | </tbody> |
||
101 | </table> |
||
102 | </div>'; |
||
103 | |||
104 | |||
105 | echo ' |
||
106 | <input type="hidden" id="selected_user" /> |
||
107 | <input type="hidden" id="log_page" value="1" />'; |
||
108 | // DIV FOR CHANGING FUNCTIONS |
||
109 | echo ' |
||
110 | <div id="change_user_functions" style="display:none;">' . |
||
111 | $LANG['change_user_functions_info'].' |
||
112 | <form name="tmp_functions" action=""> |
||
113 | <div id="change_user_functions_list" style="margin-left:15px;"></div> |
||
114 | </form> |
||
115 | </div>'; |
||
116 | // DIV FOR CHANGING AUTHORIZED GROUPS |
||
117 | echo ' |
||
118 | <div id="change_user_autgroups" style="display:none;">' . |
||
119 | $LANG['change_user_autgroups_info'].' |
||
120 | <form name="tmp_autgroups" action=""> |
||
121 | <div id="change_user_autgroups_list" style="margin-left:15px;"></div> |
||
122 | </form> |
||
123 | </div>'; |
||
124 | // DIV FOR CHANGING FUNCTIONS |
||
125 | echo ' |
||
126 | <div id="change_user_forgroups" style="display:none;">' . |
||
127 | $LANG['change_user_forgroups_info'].' |
||
128 | <form name="tmp_forgroups" action=""> |
||
129 | <div id="change_user_forgroups_list" style="margin-left:15px;"></div> |
||
130 | </form> |
||
131 | </div>'; |
||
132 | // DIV FOR CHANGING ADMINISTRATED BY |
||
133 | echo ' |
||
134 | <div id="change_user_adminby" style="display:none;"> |
||
135 | <div id="change_user_adminby_list" style="margin:20px 0 0 15px;"> |
||
136 | <select id="user_admin_by" class="input_text text ui-widget-content ui-corner-all"> |
||
137 | <option value="0">'.$LANG['administrators_only'].'</option>'; |
||
138 | View Code Duplication | foreach ($rolesList as $fonction) { |
|
139 | if ($_SESSION['is_admin'] || in_array($fonction['id'], $_SESSION['user_roles'])) { |
||
140 | echo ' |
||
141 | <option value="'.$fonction['id'].'">'.$LANG['managers_of'].' "'.htmlentities($fonction['title'], ENT_QUOTES, "UTF-8").'"</option>'; |
||
142 | } |
||
143 | } |
||
144 | echo ' |
||
145 | </select> |
||
146 | </div> |
||
147 | </div>'; |
||
148 | |||
149 | /* DIV FOR ADDING A USER */ |
||
150 | echo ' |
||
151 | <div id="add_new_user" style="display:none;"> |
||
152 | <div id="add_new_user_error" style="text-align:center;margin:2px;display:none; position:absolute; padding:3px; width:94%;" class="ui-state-error ui-corner-all"></div> |
||
153 | <label for="new_name" class="label_cpm">'.$LANG['name'].'</label> |
||
154 | <input type="text" id="new_name" class="input_text text ui-widget-content ui-corner-all" onchange="loginCreation()" style="margin-bottom:3px;" /> |
||
155 | |||
156 | <label for="new_lastname" class="label_cpm">'.$LANG['lastname'].'</label> |
||
157 | <input type="text" id="new_lastname" class="input_text text ui-widget-content ui-corner-all" onchange="loginCreation()" style="margin-bottom:3px;" /> |
||
158 | |||
159 | <label for="new_login" class="label_cpm">'.$LANG['login'].' <span id="new_login_status"></span></label> |
||
160 | <input type="text" id="new_login" class="input_text text ui-widget-content ui-corner-all" style="margin-bottom:3px;" /> |
||
161 | |||
162 | ', isset($_SESSION['settings']['ldap_mode']) && $_SESSION['settings']['ldap_mode'] == 1 ? '' : '<label for="new_pwd" class="label_cpm">'.$LANG['pw'].' <span class="fa fa-refresh" onclick="pwGenerate(\'new_pwd\')" style="cursor:pointer;"></span></label> |
||
163 | <input type="text" id="new_pwd" class="input_text text ui-widget-content ui-corner-all" style="margin-bottom:3px;" />', ' |
||
164 | |||
165 | <label for="new_email" class="label_cpm">'.$LANG['email'].'</label> |
||
166 | <input type="text" id="new_email" class="input_text text ui-widget-content ui-corner-all" onchange="check_domain(this.value)" style="margin-bottom:3px;" /> |
||
167 | |||
168 | <label for="new_is_admin_by" class="label_cpm">'.$LANG['is_administrated_by_role'].'</label> |
||
169 | <select id="new_is_admin_by" class="input_text text ui-widget-content ui-corner-all" style="margin-bottom:3px;">'; |
||
170 | // If administrator then all roles are shown |
||
171 | // else only the Roles the users is associated to. |
||
172 | if ($_SESSION['is_admin']) { |
||
173 | echo ' |
||
174 | <option value="0">'.$LANG['administrators_only'].'</option>'; |
||
175 | } |
||
176 | View Code Duplication | foreach ($rolesList as $fonction) { |
|
177 | if ($_SESSION['is_admin'] || in_array($fonction['id'], $_SESSION['user_roles'])) { |
||
178 | echo ' |
||
179 | <option value="'.$fonction['id'].'">'.$LANG['managers_of'].' '.htmlentities($fonction['title'], ENT_QUOTES, "UTF-8").'</option>'; |
||
180 | } |
||
181 | } |
||
182 | echo ' |
||
183 | </select> |
||
184 | <br /> |
||
185 | |||
186 | <label for="new_user_groups" class="form_label">'.$LANG['functions'].'</label> |
||
187 | <select name="new_user_groups" id="new_user_groups" multiple="multiple">'; |
||
188 | |||
189 | $functionsList = ""; |
||
190 | // array of roles for actual user |
||
191 | $my_functions = explode(';', $_SESSION['fonction_id']); |
||
192 | |||
193 | $rows = DB::query("SELECT id,title,creator_id FROM ".prefix_table("roles_title")); |
||
194 | foreach ($rows as $record) { |
||
195 | if ($_SESSION['is_admin'] == 1 || ($_SESSION['user_manager'] == 1 && (in_array($record['id'], $my_functions) || $record['creator_id'] == $_SESSION['user_id']))) { |
||
196 | $functionsList .= '<option value="'.$record['id'].'" class="folder_rights_role">'.$record['title'].'</option>'; |
||
197 | } |
||
198 | } |
||
199 | |||
200 | echo $functionsList.' |
||
201 | </select> |
||
202 | |||
203 | <label for="new_user_auth_folders" class="form_label" style="margin-top:3px;">'.$LANG['authorized_groups'].'</label> |
||
204 | <select name="new_user_auth_folders" id="new_user_auth_folders" multiple="multiple"> |
||
205 | '.$foldersList.' |
||
206 | </select> |
||
207 | |||
208 | <label for="new_user_forbid_folders" class="form_label" style="margin-top:3px;">'.$LANG['forbidden_groups'].'</label> |
||
209 | <select name="new_user_forbid_folders" id="new_user_forbid_folders" multiple="multiple"> |
||
210 | '.$foldersList.' |
||
211 | </select> |
||
212 | |||
213 | <div style="text-align:left;margin-top:5px;"> |
||
214 | <label style="">'.$LANG['admin_misc_title'].'</label> |
||
215 | <div style="margin-top:5px;"> |
||
216 | <table border="0"> |
||
217 | <tr> |
||
218 | <td>', $_SESSION['user_admin'] === "1" ? ' |
||
219 | <input type="checkbox" id="new_admin" style="margin-bottom:3px;" /> |
||
220 | <label for="new_admin">'.$LANG['is_admin'].'</label> |
||
221 | |||
222 | <input type="checkbox" id="new_super_manager" style="margin-bottom:3px;" /> |
||
223 | <label for="new_super_manager">'.$LANG['is_super_manager'].'</label> |
||
224 | |||
225 | <input type="checkbox" id="new_manager" style="margin-bottom:3px;" /> |
||
226 | <label for="new_manager">'.$LANG['is_manager'].'</label> |
||
227 | ' : '', ' |
||
228 | |||
229 | <input type="checkbox" id="new_read_only" style="margin-bottom:3px;" /> |
||
230 | <label for="new_read_only">'.$LANG['is_read_only'].'</label> |
||
231 | </td> |
||
232 | </tr> |
||
233 | <tr> |
||
234 | <td> |
||
235 | <input type="checkbox" id="new_personal_folder"', isset($_SESSION['settings']['enable_pf_feature']) && $_SESSION['settings']['enable_pf_feature'] == 1 ? ' checked="checked"' : '', ' /> |
||
236 | <label for="new_personal_folder">'.$LANG['personal_folder'].'</label> |
||
237 | </td> |
||
238 | </tr> |
||
239 | <tr> |
||
240 | <td> |
||
241 | <div id="auto_create_folder_role" style="visibility:hidden;"> |
||
242 | <input type="checkbox" id="new_folder_role_domain" disabled="disabled" /> |
||
243 | <label for="new_folder_role_domain">'.$LANG['auto_create_folder_role'].' "<span id="auto_create_folder_role_span"></span>"</label> |
||
244 | <span id="ajax_loader_new_mail" style="display:none;margin-left:10px;"><span class="fa fa-cog fa-spin fa-1x"></span></span> |
||
245 | <input type="hidden" id="new_domain" /> |
||
246 | </div> |
||
247 | </td> |
||
248 | </tr> |
||
249 | </table> |
||
250 | </div> |
||
251 | </div> |
||
252 | |||
253 | <div style="display:none; padding:4px; margin-top:5px;" id="add_new_user_info" class="ui-state-default ui-corner-all"></div> |
||
254 | </div>'; |
||
255 | // DIV FOR DELETING A USER |
||
256 | echo ' |
||
257 | <div id="delete_user" style="display:none;"> |
||
258 | <div id="user_action_html"></div> |
||
259 | <div style="font-weight:bold;text-align:center;color:#FF8000;text-align:center;font-size:13pt;" id="delete_user_show_login"></div> |
||
260 | <input type="hidden" id="delete_user_login" /> |
||
261 | <input type="hidden" id="delete_user_id" /> |
||
262 | <input type="hidden" id="delete_user_action" /> |
||
263 | </div>'; |
||
264 | // DIV FOR CHANGING PASWWORD |
||
265 | echo ' |
||
266 | <div id="change_user_pw" style="display:none;"> |
||
267 | <div style="text-align:center; padding:2px; display:none; position:absolute; width:340px;" class="ui-state-error ui-corner-all" id="change_user_pw_error"></div>' . |
||
268 | $LANG['give_new_pw'].' |
||
269 | <div style="font-weight:bold;text-align:center;color:#FF8000;display:inline;" id="change_user_pw_show_login"></div> |
||
270 | <div style="margin-top:20px;"> |
||
271 | <table> |
||
272 | <tr> |
||
273 | <td style="width:120px;"><label for="change_user_pw_newpw">'.$LANG['index_new_pw'].'</label> </td> |
||
274 | <td><input type="password" size="30" id="change_user_pw_newpw" /></td> |
||
275 | </tr> |
||
276 | <tr> |
||
277 | <td><label for="change_user_pw_newpw_confirm">'.$LANG['index_change_pw_confirmation'].'</label> </td> |
||
278 | <td><input type="password" size="30" id="change_user_pw_newpw_confirm" /></td> |
||
279 | </tr> |
||
280 | <tr> |
||
281 | <td> </td> |
||
282 | <td> |
||
283 | <div id="pw_strength" style="margin-top:5px;"></div> |
||
284 | </td> |
||
285 | </tr> |
||
286 | <tr> |
||
287 | <td><label for="generated_user_pw" id="generated_user_pw_title" style="display:none;">'.$LANG['generated_pw'].'</label> |
||
288 | </td> |
||
289 | <td> |
||
290 | <span style="text-align:center;margin-top:8px; display:none;" id="change_user_pw_wait"><span class="fa fa-cog fa-spin fa-1x"></span></span> |
||
291 | <span id="generated_user_pw" style="display:none;"></span> |
||
292 | </td> |
||
293 | </tr> |
||
294 | </table> |
||
295 | </div> |
||
296 | |||
297 | <input type="hidden" id="change_user_pw_id" /> |
||
298 | </div>'; |
||
299 | // DIV FOR CHANGING EMAIL |
||
300 | echo ' |
||
301 | <div id="change_user_email" style="display:none;"> |
||
302 | <div style="text-align:center;padding:2px;display:none;" class="ui-state-error ui-corner-all" id="change_user_email_error"></div>' . |
||
303 | $LANG['give_new_email'].' |
||
304 | <div style="font-weight:bold;text-align:center;color:#FF8000;display:inline;" id="change_user_email_show_login"></div> |
||
305 | <div style="margin-top:10px;text-align:center;"> |
||
306 | <input type="text" size="50" id="change_user_email_newemail" /> |
||
307 | </div> |
||
308 | <input type="hidden" id="change_user_email_id" /> |
||
309 | </div>'; |
||
310 | // USER MANAGER |
||
311 | echo ' |
||
312 | <div id="manager_dialog" style="display:none;"> |
||
313 | <div style="text-align:center;padding:2px;" class="ui-state-error ui-corner-all" id="manager_dialog_error"></div> |
||
314 | </div>'; |
||
315 | |||
316 | /*// MIGRATE PERSONAL ITEMS FROM ADMIN TO A USER |
||
317 | echo ' |
||
318 | <div id="migrate_pf_dialog" style="display:none;"> |
||
319 | <div style="text-align:center;padding:2px;display:none;margin-bottom:10px;" class="ui-state-error ui-corner-all" id="migrate_pf_dialog_error"></div> |
||
320 | <div> |
||
321 | <label>'.$LANG['migrate_pf_select_to'].'</label>: |
||
322 | <select id="migrate_pf_to_user"> |
||
323 | <option value="">-- '.$LANG['select'].' --</option>'.$listAvailableUsers.' |
||
324 | </select> |
||
325 | <br /><br /> |
||
326 | <label>'.$LANG['migrate_pf_user_salt'].'</label>: <input type="text" id="migrate_pf_user_salt" size="30" /><br /> |
||
327 | </div> |
||
328 | </div>';*/ |
||
329 | // USER LOGS |
||
330 | echo ' |
||
331 | <div id="user_logs_dialog" style="display:none;"> |
||
332 | <div style="text-align:center;padding:2px;display:none;" class="ui-state-error ui-corner-all" id="user_logs"></div> |
||
333 | <div>' . |
||
334 | $LANG['nb_items_by_page'].': |
||
335 | <select id="nb_items_by_page" onchange="displayLogs(1,$(\'#activity\').val())"> |
||
336 | <option value="10">10</option> |
||
337 | <option value="25">25</option> |
||
338 | <option value="50">50</option> |
||
339 | <option value="100">100</option> |
||
340 | </select> |
||
341 | ' . |
||
342 | $LANG['select'].': |
||
343 | <select id="activity" onchange="show_user_log($(\'#activity\').val())"> |
||
344 | <option value="user_mngt">'.$LANG['user_mngt'].'</option> |
||
345 | <option value="user_activity">'.$LANG['user_activity'].'</option> |
||
346 | </select> |
||
347 | <span id="span_user_activity_option" style="display:none;"> ' . |
||
348 | $LANG['activity'].': |
||
349 | <select id="activity_filter" onchange="displayLogs(1,\'user_activity\')"> |
||
350 | <option value="all">'.$LANG['all'].'</option> |
||
351 | <option value="at_modification">'.$LANG['at_modification'].'</option> |
||
352 | <option value="at_creation">'.$LANG['at_creation'].'</option> |
||
353 | <option value="at_delete">'.$LANG['at_delete'].'</option> |
||
354 | <option value="at_import">'.$LANG['at_import'].'</option> |
||
355 | <option value="at_restored">'.$LANG['at_restored'].'</option> |
||
356 | <option value="at_pw">'.$LANG['at_pw'].'</option> |
||
357 | <option value="at_password_shown">'.$LANG['at_password_shown'].'</option> |
||
358 | <option value="at_shown">'.$LANG['at_shown'].'</option> |
||
359 | </select> |
||
360 | </span> |
||
361 | </div> |
||
362 | <table width="100%"> |
||
363 | <thead> |
||
364 | <tr> |
||
365 | <th width="20%">'.$LANG['date'].'</th> |
||
366 | <th id="th_url" width="40%">'.$LANG['label'].'</th> |
||
367 | <th width="20%">'.$LANG['user'].'</th> |
||
368 | <th width="20%">'.$LANG['activity'].'</th> |
||
369 | </tr> |
||
370 | </thead> |
||
371 | <tbody id="tbody_logs"><tr id="placeholder_tr" style="display: none;"><td></td></tr> |
||
372 | </tbody> |
||
373 | </table> |
||
374 | <div id="log_pages" style="margin-top:10px;"></div> |
||
375 | </div>'; |
||
376 | |||
377 | |||
378 | // USER EDIT DIALOG |
||
379 | echo ' |
||
380 | <div id="user_management_dialog" style="display:none;"> |
||
381 | <div style="padding:5px; z-index:9999999;" class="ui-widget-content ui-state-focus ui-corner-all" id="user_edit_wait"> |
||
382 | <i class="fa fa-cog fa-spin fa-2x"></i> '.$LANG['please_wait'].' |
||
383 | </div> |
||
384 | <div id="user_edit_div" style="display:none;"> |
||
385 | <div style="text-align:center;padding:2px;display:none; margin:0 0 15px 0;" class="ui-state-error ui-corner-all" id="user_edit_error"></div> |
||
386 | |||
387 | <div style="width:100%;"> |
||
388 | <div style="width:70%; float:left;"> |
||
389 | <label class="form_label_100" for="user_edit_login">'.$LANG['user_login'].'</label> <input type="text" size="45" id="user_edit_login" class="ui-widget-content ui-corner-all form_text" /><br /> |
||
390 | <label class="form_label_100" for="user_edit_name">'.$LANG['name'].'</label> <input type="text" size="45" id="user_edit_name" class="ui-widget-content ui-corner-all form_text" /><br /> |
||
391 | <label class="form_label_100" for="user_edit_lastname">'.$LANG['lastname'].'</label> <input type="text" size="45" id="user_edit_lastname" class="ui-widget-content ui-corner-all form_text" /> |
||
392 | <br /> |
||
393 | <label class="form_label_100" for="user_edit_email">'.$LANG['email'].'</label> <input type="text" size="45" id="user_edit_email" class="ui-widget-content ui-corner-all form_text" /> |
||
394 | </div> |
||
395 | <div style="width:30%; float:right;"> |
||
396 | <input type="hidden" id="confirm_deletion" value="" /> |
||
397 | <span id="user_edit_info" style="margin:20px 10px 0 0; text-align:center;"></span> |
||
398 | <span id="user_edit_delete" style="margin:20px 10px 0 0; text-align:center; display:none;" class="ui-widget ui-corner-all">'.$LANG['user_info_delete'].'</span> |
||
399 | </div> |
||
400 | </div> |
||
401 | <div style="width:100%; margin-top:10px;"> |
||
402 | <label for="user_edit_functions_list" class="form_label">'.$LANG['functions'].'</label> |
||
403 | <select name="user_edit_functions_list" id="user_edit_functions_list" multiple="multiple"><option label="" style="display: none;"></option></select> |
||
404 | <br /> |
||
405 | <label for="user_edit_managedby" class="form_label" style="margin-top:10px;">'.$LANG['managed_by'].'</label> |
||
406 | <select name="user_edit_managedby" id="user_edit_managedby"><option label="" style="display: none;"></option></select> |
||
407 | <br /> |
||
408 | <label for="user_edit_auth" class="form_label" style="margin-top:10px;">'.$LANG['authorized_groups'].'</label> |
||
409 | <select name="user_edit_auth" id="user_edit_auth" multiple="multiple"><option label="" style="display: none;"></option></select> |
||
410 | <br /> |
||
411 | <label for="user_edit_forbid" class="form_label" style="margin-top:10px;">'.$LANG['forbidden_groups'].'</label> |
||
412 | <select name="user_edit_forbid" id="user_edit_forbid" multiple="multiple"><option label="" style="display: none;"></option></select> |
||
413 | <br /> |
||
414 | </div> |
||
415 | |||
416 | <div style="text-align:center;padding:2px;display:none; margin:0 0 15px 0;position: absolute; bottom: 0;" class="ui-state-error ui-corner-all" id="user_edit_warning_bottom"></div> |
||
417 | <input type="hidden" id="user_edit_id" /> |
||
418 | </div> |
||
419 | </div>'; |
||
420 | |||
421 | // USER FOLDERS RIGHTS DIALOG |
||
422 | echo ' |
||
423 | <div id="user_folders_rights_dialog" style="display:none;"> |
||
424 | <div style="padding:5px; z-index:9999999;" class="ui-widget-content ui-state-focus ui-corner-all" id="user_folders_rights_dialog_wait"> |
||
425 | <i class="fa fa-cog fa-spin fa-2x"></i> '.$LANG['please_wait'].' |
||
426 | </div> |
||
427 | |||
428 | <div id="user_folders_rights_dialog_txt"></div> |
||
429 | |||
430 | <input type="hidden" id="user_folders_rights_dialog_id" /> |
||
431 | </div>'; |
||
432 | |||
433 | // PROPAGATE SETTINGS TO MULTIPLE USERS |
||
434 | echo ' |
||
435 | <div id="share_rights_dialog" style="display:none;"> |
||
436 | |||
437 | <div id="share_rights_info" class="ui-widget-content ui-state-highlight ui-corner-all" style="padding:5px;"><span class="fa fa-info-circle fa-2x"></span> '.$LANG['share_rights_info'].'</div> |
||
438 | |||
439 | <div id="" style="margin-top:10px;" class=""> |
||
440 | <label for="share_rights_from" class="form_label" style="font-size:14px; font-weight:bold;"><span class="fa fa-user"></span> '.$LANG['share_rights_source'].'</label> |
||
441 | <select id="share_rights_from" onchange="get_user_rights()"></select> |
||
442 | </div> |
||
443 | |||
444 | <div id="share_rights_details" style="margin-top:5px; margin-left:20px;display:none; padding:3px;"> |
||
445 | <label for="share_rights_details_1" class="form_label"><span class="fa fa-hand-o-right"></span> '.$LANG['functions'].'</label> |
||
446 | <span id="share_rights_details_1"></span> |
||
447 | <input type="hidden" id="share_rights_details_ids_1" /> |
||
448 | <br> |
||
449 | <label for="share_rights_details_2" class="form_label"><span class="fa fa-hand-o-right"></span> '.$LANG['managed_by'].'</label> |
||
450 | <span id="share_rights_details_2"></span> |
||
451 | <input type="hidden" id="share_rights_details_ids_2" /> |
||
452 | <br> |
||
453 | <label for="share_rights_details_3" class="form_label"><span class="fa fa-hand-o-right"></span> '.$LANG['authorized_groups'].'</label> |
||
454 | <span id="share_rights_details_3"></span> |
||
455 | <input type="hidden" id="share_rights_details_ids_3" /> |
||
456 | <br> |
||
457 | <label for="share_rights_details_4" class="form_label"><span class="fa fa-hand-o-right"></span> '.$LANG['forbidden_groups'].'</label> |
||
458 | <span id="share_rights_details_4"></span> |
||
459 | <input type="hidden" id="share_rights_details_ids_4" /> |
||
460 | <input type="hidden" id="share_rights_details_other" /> |
||
461 | </div> |
||
462 | |||
463 | <div id="" style="margin-top:5px;" class=""> |
||
464 | <label for="share_pres" class="form_label"> </label> |
||
465 | <span id="share_pres" style="text-align:center; margin-left:170px;"><span class="fa fa-long-arrow-down fa-2x"></span></span> |
||
466 | </div> |
||
467 | |||
468 | <div id="" style="margin-top:5px;" class=""> |
||
469 | <label for="share_rights_to" class="form_label" style="font-size:14px; font-weight:bold;"><span class="fa fa-users"></span> '.$LANG['share_rights_destination'].'</label> |
||
470 | <select id="share_rights_to" multiple="multiple"></select> |
||
471 | </div> |
||
472 | |||
473 | <div style="text-align:center;padding:2px;display:none; margin:20px 0 0 0;" class="ui-corner-all" id="share_rights_dialog_msg"></div> |
||
474 | |||
475 | <input type="hidden" id="share_rights_dialog_id" /> |
||
476 | </div>'; |