1 // Javascript routines for the ACL editor |
1 // Javascript routines for the ACL editor |
2 |
2 |
3 var aclManagerID = 'enano_aclmanager_' + Math.floor(Math.random() * 1000000); |
3 var aclManagerID = 'enano_aclmanager_' + Math.floor(Math.random() * 1000000); |
4 var aclPermList = false; |
4 var aclPermList = false; |
5 var aclDataCache = false; |
5 var aclDataCache = false; |
|
6 |
|
7 // Can be set to true by slow themes (St. Patty) |
|
8 var aclDisableTransitionFX = false; |
6 |
9 |
7 function ajaxOpenACLManager(page_id, namespace) |
10 function ajaxOpenACLManager(page_id, namespace) |
8 { |
11 { |
9 if(IE) |
12 if(IE) |
10 return true; |
13 return true; |
54 ajaxPost(stdAjaxPrefix+'&_mode=acljson', 'acl_params='+params, function() { |
57 ajaxPost(stdAjaxPrefix+'&_mode=acljson', 'acl_params='+params, function() { |
55 if(ajax.readyState == 4) |
58 if(ajax.readyState == 4) |
56 { |
59 { |
57 document.getElementById(aclManagerID+'_main').innerHTML = ''; |
60 document.getElementById(aclManagerID+'_main').innerHTML = ''; |
58 document.getElementById(aclManagerID + '_back').style.display = 'none'; |
61 document.getElementById(aclManagerID + '_back').style.display = 'none'; |
59 document.getElementById(aclManagerID + '_next').value = 'Next >'; |
62 document.getElementById(aclManagerID + '_next').value = $lang.get('etc_wizard_next'); |
60 groups = parseJSON(ajax.responseText); |
63 groups = parseJSON(ajax.responseText); |
61 if ( groups.mode == 'error' ) |
64 if ( groups.mode == 'error' ) |
62 { |
65 { |
63 alert(groups.error); |
66 alert(groups.error); |
64 killACLManager(); |
67 killACLManager(); |
99 grpb.checked = 'checked'; |
102 grpb.checked = 'checked'; |
100 grpb.className = seed; |
103 grpb.className = seed; |
101 grpb.onclick = function() { seed = this.className; document.getElementById('enACL_grpbox_'+seed).style.display = 'block'; document.getElementById('enACL_usrbox_'+seed).style.display = 'none'; }; |
104 grpb.onclick = function() { seed = this.className; document.getElementById('enACL_grpbox_'+seed).style.display = 'block'; document.getElementById('enACL_usrbox_'+seed).style.display = 'none'; }; |
102 lbl = document.createElement('label'); |
105 lbl = document.createElement('label'); |
103 lbl.appendChild(grpb); |
106 lbl.appendChild(grpb); |
104 lbl.appendChild(document.createTextNode('A usergroup')); |
107 lbl.appendChild(document.createTextNode($lang.get('acl_radio_usergroup'))); |
105 lbl.style.display = 'block'; |
108 lbl.style.display = 'block'; |
106 span.appendChild(grpsel); |
109 span.appendChild(grpsel); |
107 |
110 |
108 anoninfo = document.createElement('div'); |
111 anoninfo = document.createElement('div'); |
109 anoninfo.className = 'info-box-mini'; |
112 anoninfo.className = 'info-box-mini'; |
110 anoninfo.appendChild(document.createTextNode('To edit permissions for guests, select "a specific user", and enter Anonymous as the username.')); |
113 anoninfo.appendChild(document.createTextNode($lang.get('acl_msg_guest_howto'))); |
111 span.appendChild(document.createElement('br')); |
114 span.appendChild(document.createElement('br')); |
112 span.appendChild(anoninfo); |
115 span.appendChild(anoninfo); |
113 |
116 |
114 usrb = document.createElement('input'); |
117 usrb = document.createElement('input'); |
115 usrb.type = 'radio'; |
118 usrb.type = 'radio'; |
117 usrb.value = '2'; // ACL_TYPE_USER |
120 usrb.value = '2'; // ACL_TYPE_USER |
118 usrb.className = seed; |
121 usrb.className = seed; |
119 usrb.onclick = function() { seed = this.className; document.getElementById('enACL_grpbox_'+seed).style.display = 'none'; document.getElementById('enACL_usrbox_'+seed).style.display = 'block'; }; |
122 usrb.onclick = function() { seed = this.className; document.getElementById('enACL_grpbox_'+seed).style.display = 'none'; document.getElementById('enACL_usrbox_'+seed).style.display = 'block'; }; |
120 lbl2 = document.createElement('label'); |
123 lbl2 = document.createElement('label'); |
121 lbl2.appendChild(usrb); |
124 lbl2.appendChild(usrb); |
122 lbl2.appendChild(document.createTextNode('A specific user')); |
125 lbl2.appendChild(document.createTextNode($lang.get('acl_radio_user'))); |
123 lbl2.style.display = 'block'; |
126 lbl2.style.display = 'block'; |
124 |
127 |
125 usrsel = document.createElement('input'); |
128 usrsel = document.createElement('input'); |
126 usrsel.type = 'text'; |
129 usrsel.type = 'text'; |
127 usrsel.name = 'username'; |
130 usrsel.name = 'username'; |
128 usrsel.onkeyup = function() { ajaxUserNameComplete(this); }; |
131 usrsel.onkeyup = function() { new AutofillUsername(this, undefined, true); }; |
129 usrsel.id = 'userfield_' + aclManagerID; |
132 usrsel.id = 'userfield_' + aclManagerID; |
130 try { |
133 try { |
131 usrsel.setAttribute("autocomplete","off"); |
134 usrsel.setAttribute("autocomplete","off"); |
132 } catch(e) {}; |
135 } catch(e) {}; |
133 |
136 |
162 scopeRadioGroup.className = '1048576'; |
165 scopeRadioGroup.className = '1048576'; |
163 if ( groups.page_groups.length > 0 ) scopeRadioGroup.onclick = function() { var id = 'enACL_pgsel_' + this.className; document.getElementById(id).style.display = 'block'; }; |
166 if ( groups.page_groups.length > 0 ) scopeRadioGroup.onclick = function() { var id = 'enACL_pgsel_' + this.className; document.getElementById(id).style.display = 'block'; }; |
164 lblPage = document.createElement('label'); |
167 lblPage = document.createElement('label'); |
165 lblPage.style.display = 'block'; |
168 lblPage.style.display = 'block'; |
166 lblPage.appendChild(scopeRadioPage); |
169 lblPage.appendChild(scopeRadioPage); |
167 lblPage.appendChild(document.createTextNode('Only this page')); |
170 lblPage.appendChild(document.createTextNode($lang.get('acl_radio_scope_thispage'))); |
168 lblGlobal = document.createElement('label'); |
171 lblGlobal = document.createElement('label'); |
169 lblGlobal.style.display = 'block'; |
172 lblGlobal.style.display = 'block'; |
170 lblGlobal.appendChild(scopeRadioGlobal); |
173 lblGlobal.appendChild(scopeRadioGlobal); |
171 lblGlobal.appendChild(document.createTextNode('The entire website')); |
174 lblGlobal.appendChild(document.createTextNode($lang.get('acl_radio_scope_wholesite'))); |
172 lblGroup = document.createElement('label'); |
175 lblGroup = document.createElement('label'); |
173 lblGroup.style.display = 'block'; |
176 lblGroup.style.display = 'block'; |
174 lblGroup.appendChild(scopeRadioGroup); |
177 lblGroup.appendChild(scopeRadioGroup); |
175 lblGroup.appendChild(document.createTextNode('A group of pages')); |
178 lblGroup.appendChild(document.createTextNode($lang.get('acl_radio_scope_pagegroup'))); |
176 scopediv1.appendChild(lblPage); |
179 scopediv1.appendChild(lblPage); |
177 scopediv2.appendChild(lblGroup); |
180 scopediv2.appendChild(lblGroup); |
178 scopediv3.appendChild(lblGlobal); |
181 scopediv3.appendChild(lblGlobal); |
179 |
182 |
180 scopedesc = document.createElement('p'); |
183 scopedesc = document.createElement('p'); |
181 scopedesc.appendChild(document.createTextNode('What should this access rule control?')); |
184 scopedesc.appendChild(document.createTextNode($lang.get('acl_lbl_scope'))); |
182 |
185 |
183 scopePGrp = document.createElement('select'); |
186 scopePGrp = document.createElement('select'); |
184 scopePGrp.style.marginLeft = '13px'; |
187 scopePGrp.style.marginLeft = '13px'; |
185 scopePGrp.style.display = 'none'; |
188 scopePGrp.style.display = 'none'; |
186 scopePGrp.id = "enACL_pgsel_1048576"; |
189 scopePGrp.id = "enACL_pgsel_1048576"; |
214 container.style.margin = 'auto'; |
217 container.style.margin = 'auto'; |
215 container.style.width = '360px'; |
218 container.style.width = '360px'; |
216 container.style.paddingTop = '50px'; |
219 container.style.paddingTop = '50px'; |
217 |
220 |
218 head = document.createElement('h2'); |
221 head = document.createElement('h2'); |
219 head.appendChild(document.createTextNode('Manage page access')); |
222 head.appendChild(document.createTextNode($lang.get('acl_lbl_welcome_title'))); |
220 |
223 |
221 desc = document.createElement('p'); |
224 desc = document.createElement('p'); |
222 desc.appendChild(document.createTextNode('Please select who should be affected by this access rule.')); |
225 desc.appendChild(document.createTextNode($lang.get('acl_lbl_welcome_body'))); |
223 |
226 |
224 container.appendChild(head); |
227 container.appendChild(head); |
225 container.appendChild(desc); |
228 container.appendChild(desc); |
226 container.appendChild(selector); |
229 container.appendChild(selector); |
227 |
230 |
314 { |
317 { |
315 case 'seltarget': |
318 case 'seltarget': |
316 |
319 |
317 // Build the ACL edit form |
320 // Build the ACL edit form |
318 // try { |
321 // try { |
319 act_desc = ( data.type == 'new' ) ? 'Create access rule' : 'Editing permissions'; |
322 |
320 target_type_t = ( data.target_type == 1 ) ? 'group' : 'user'; |
323 var act_desc = ( data.type == 'new' ) ? $lang.get('acl_lbl_editwin_title_create') : $lang.get('acl_lbl_editwin_title_edit'); |
321 target_name_t = data.target_name; |
324 var target_type_t = ( data.target_type == 1 ) ? $lang.get('acl_target_type_group') : $lang.get('acl_target_type_user'); |
322 var scope_type = ( data.page_id == false && data.namespace == false ) ? 'this entire site' : ( data.namespace == '__PageGroup' ) ? 'this group of pages' : 'this page'; |
325 var target_name_t = data.target_name; |
323 html = '<h2>'+act_desc+'</h2><p>This panel allows you to edit what the '+target_type_t+' "<b>'+target_name_t+'</b>" can do on <b>' + scope_type + '</b>. Unless you set a permission to "Deny", these permissions may be overridden by other rules.</p>'; |
326 var scope_type = ( data.page_id == false && data.namespace == false ) ? $lang.get('acl_scope_type_wholesite') : ( data.namespace == '__PageGroup' ) ? $lang.get('acl_scope_type_pagegroup') : $lang.get('acl_scope_type_thispage'); |
|
327 |
|
328 html = '<h2>'+act_desc+'</h2>'; |
|
329 html += '<p>' + $lang.get('acl_lbl_editwin_body', { target_type: target_type_t, target: target_name_t, scope_type: scope_type }) + '</p>'; |
324 parser = new templateParser(data.template.acl_field_begin); |
330 parser = new templateParser(data.template.acl_field_begin); |
325 html += parser.run(); |
331 html += parser.run(); |
326 |
332 |
327 cls = 'row2'; |
333 cls = 'row2'; |
328 for(var i in data.acl_types) |
334 for(var i in data.acl_types) |
330 if(typeof(data.acl_types[i]) == 'number') |
336 if(typeof(data.acl_types[i]) == 'number') |
331 { |
337 { |
332 cls = ( cls == 'row1' ) ? 'row2' : 'row1'; |
338 cls = ( cls == 'row1' ) ? 'row2' : 'row1'; |
333 p = new templateParser(data.template.acl_field_item); |
339 p = new templateParser(data.template.acl_field_item); |
334 vars = new Object(); |
340 vars = new Object(); |
335 vars['FIELD_DESC'] = data.acl_descs[i]; |
341 if ( data.acl_descs[i].match(/^([a-z0-9_]+)$/) ) |
|
342 { |
|
343 vars['FIELD_DESC'] = $lang.get(data.acl_descs[i]); |
|
344 } |
|
345 else |
|
346 { |
|
347 vars['FIELD_DESC'] = data.acl_descs[i]; |
|
348 } |
336 vars['FIELD_DENY_CHECKED'] = ''; |
349 vars['FIELD_DENY_CHECKED'] = ''; |
337 vars['FIELD_DISALLOW_CHECKED'] = ''; |
350 vars['FIELD_DISALLOW_CHECKED'] = ''; |
338 vars['FIELD_WIKIMODE_CHECKED'] = ''; |
351 vars['FIELD_WIKIMODE_CHECKED'] = ''; |
339 vars['FIELD_ALLOW_CHECKED'] = ''; |
352 vars['FIELD_ALLOW_CHECKED'] = ''; |
340 vars['FIELD_NAME'] = i; |
353 vars['FIELD_NAME'] = i; |
362 |
375 |
363 var parser = new templateParser(data.template.acl_field_end); |
376 var parser = new templateParser(data.template.acl_field_end); |
364 html += parser.run(); |
377 html += parser.run(); |
365 |
378 |
366 if(data.type == 'edit') |
379 if(data.type == 'edit') |
367 html += '<p id="'+aclManagerID+'_deletelnk" style="text-align: right;"><a href="#delete_acl_rule" onclick="if(confirm(\'Do you really want to delete this rule?\')) __aclDeleteRule(); return false;" style="color: red;">Delete this rule</a></p>'; |
380 html += '<p id="'+aclManagerID+'_deletelnk" style="text-align: right;"><a href="#delete_acl_rule" onclick="if(confirm(\'' + $lang.get('acl_msg_deleterule_confirm') + '\')) __aclDeleteRule(); return false;" style="color: red;">' + $lang.get('acl_lbl_deleterule') + '</a></p>'; |
368 |
381 |
369 var main = document.getElementById(aclManagerID + '_main'); |
382 var main = document.getElementById(aclManagerID + '_main'); |
370 main.innerHTML = html; |
383 main.innerHTML = html; |
371 |
384 |
372 var form = document.getElementById(aclManagerID + '_formobj_id'); |
385 var form = document.getElementById(aclManagerID + '_formobj_id'); |
378 alert('modeobj is invalid: '+modeobj); |
391 alert('modeobj is invalid: '+modeobj); |
379 |
392 |
380 aclPermList = array_keys(data.acl_types); |
393 aclPermList = array_keys(data.acl_types); |
381 |
394 |
382 document.getElementById(aclManagerID + '_back').style.display = 'inline'; |
395 document.getElementById(aclManagerID + '_back').style.display = 'inline'; |
383 document.getElementById(aclManagerID + '_next').value = 'Save Changes'; |
396 document.getElementById(aclManagerID + '_next').value = $lang.get('etc_save_changes'); |
384 |
397 |
385 // } catch(e) { alert(e); aclDebug(ajax.responseText); } |
398 // } catch(e) { alert(e); aclDebug(ajax.responseText); } |
386 |
399 |
387 break; |
400 break; |
388 case 'success': |
401 case 'success': |
389 var note = document.createElement('div'); |
402 var note = document.createElement('div'); |
390 note.className = 'info-box'; |
403 note.className = 'info-box'; |
391 note.style.marginLeft = '0'; |
404 note.style.marginLeft = '0'; |
392 var b = document.createElement('b'); |
405 var b = document.createElement('b'); |
393 b.appendChild(document.createTextNode('Permissions updated')); |
406 b.appendChild(document.createTextNode($lang.get('acl_lbl_save_success_title'))); |
394 note.appendChild(b); |
407 note.appendChild(b); |
395 note.appendChild(document.createElement('br')); |
408 note.appendChild(document.createElement('br')); |
396 note.appendChild(document.createTextNode('The permissions for '+data.target_name+' on this page have been updated successfully. If you changed permissions that affect your user account, you may not see changes until you reload the page.')); |
409 note.appendChild(document.createTextNode($lang.get('acl_lbl_save_success_body', { target_name: data.target_name }))); |
397 note.appendChild(document.createElement('br')); |
410 note.appendChild(document.createElement('br')); |
398 var a = document.createElement('a'); |
411 var a = document.createElement('a'); |
399 a.href = 'javascript:void(0);'; |
412 a.href = 'javascript:void(0);'; |
400 a.onclick = function() { this.parentNode.parentNode.removeChild(this.parentNode); return false; }; |
413 a.onclick = function() { this.parentNode.parentNode.removeChild(this.parentNode); return false; }; |
401 a.appendChild(document.createTextNode('[ dismiss :')); |
414 a.appendChild(document.createTextNode('[ ' + $lang.get('acl_btn_success_dismiss') + ' :')); |
402 note.appendChild(a); |
415 note.appendChild(a); |
403 var a2 = document.createElement('a'); |
416 var a2 = document.createElement('a'); |
404 a2.href = 'javascript:void(0);'; |
417 a2.href = 'javascript:void(0);'; |
405 a2.onclick = function() { killACLManager(); return false; }; |
418 a2.onclick = function() { killACLManager(); return false; }; |
406 a2.appendChild(document.createTextNode(': close manager ]')); |
419 a2.appendChild(document.createTextNode(': ' + $lang.get('acl_btn_success_close') + ' ]')); |
407 note.appendChild(a2); |
420 note.appendChild(a2); |
408 document.getElementById(aclManagerID + '_main').insertBefore(note, document.getElementById(aclManagerID + '_main').firstChild); |
421 document.getElementById(aclManagerID + '_main').insertBefore(note, document.getElementById(aclManagerID + '_main').firstChild); |
409 if(!document.getElementById(aclManagerID+'_deletelnk')) |
422 if(!document.getElementById(aclManagerID+'_deletelnk')) |
410 document.getElementById(aclManagerID + '_main').innerHTML += '<p id="'+aclManagerID+'_deletelnk" style="text-align: right;"><a href="#delete_acl_rule" onclick="if(confirm(\'Do you really want to delete this rule?\')) __aclDeleteRule(); return false;" style="color: red;">Delete this rule</a></p>'; |
423 document.getElementById(aclManagerID + '_main').innerHTML += '<p id="'+aclManagerID+'_deletelnk" style="text-align: right;"><a href="#delete_acl_rule" onclick="if(confirm(\'' + $lang.get('acl_msg_deleterule_confirm') + '\')) __aclDeleteRule(); return false;" style="color: red;">' + $lang.get('acl_lbl_deleterule') + '</a></p>'; |
411 //fadeInfoBoxes(); |
424 //fadeInfoBoxes(); |
412 document.getElementById(aclManagerID+'_main').scrollTop = 0; |
425 document.getElementById(aclManagerID+'_main').scrollTop = 0; |
413 |
426 |
414 aclDataCache.mode = 'save_edit'; |
427 aclDataCache.mode = 'save_edit'; |
415 break; |
428 break; |
423 ajaxPost(stdAjaxPrefix+'&_mode=acljson', 'acl_params='+params, function() { |
436 ajaxPost(stdAjaxPrefix+'&_mode=acljson', 'acl_params='+params, function() { |
424 if(ajax.readyState == 4) |
437 if(ajax.readyState == 4) |
425 { |
438 { |
426 document.getElementById(aclManagerID+'_main').innerHTML = ''; |
439 document.getElementById(aclManagerID+'_main').innerHTML = ''; |
427 document.getElementById(aclManagerID + '_back').style.display = 'none'; |
440 document.getElementById(aclManagerID + '_back').style.display = 'none'; |
428 document.getElementById(aclManagerID + '_next').value = 'Next >'; |
441 document.getElementById(aclManagerID + '_next').value = $lang.get('etc_wizard_next'); |
429 var thispage = strToPageID(title); |
442 var thispage = strToPageID(title); |
430 groups.page_id = thispage[0]; |
443 groups.page_id = thispage[0]; |
431 groups.namespace = thispage[1]; |
444 groups.namespace = thispage[1]; |
432 __aclBuildSelector(groups); |
445 __aclBuildSelector(groups); |
433 |
446 |
436 note.style.marginLeft = '0'; |
449 note.style.marginLeft = '0'; |
437 note.style.position = 'absolute'; |
450 note.style.position = 'absolute'; |
438 note.style.width = '558px'; |
451 note.style.width = '558px'; |
439 note.id = 'aclSuccessNotice_' + Math.floor(Math.random() * 100000); |
452 note.id = 'aclSuccessNotice_' + Math.floor(Math.random() * 100000); |
440 b = document.createElement('b'); |
453 b = document.createElement('b'); |
441 b.appendChild(document.createTextNode('Entry deleted')); |
454 b.appendChild(document.createTextNode($lang.get('acl_lbl_delete_success_title'))); |
442 note.appendChild(b); |
455 note.appendChild(b); |
443 note.appendChild(document.createElement('br')); |
456 note.appendChild(document.createElement('br')); |
444 note.appendChild(document.createTextNode('The access rules for '+aclDataCache.target_name+' on this page have been deleted.')); |
457 note.appendChild(document.createTextNode($lang.get('acl_lbl_delete_success_title', { target_name: aclDataCache.target_name }))); |
445 note.appendChild(document.createElement('br')); |
458 note.appendChild(document.createElement('br')); |
446 a = document.createElement('a'); |
459 a = document.createElement('a'); |
447 a.href = '#'; |
460 a.href = '#'; |
448 a.onclick = function() { opacity(this.parentNode.id, 100, 0, 1000); setTimeout('var div = document.getElementById("' + this.parentNode.id + '"); div.parentNode.removeChild(div);', 1100); return false; }; |
461 a.onclick = function() { opacity(this.parentNode.id, 100, 0, 1000); setTimeout('var div = document.getElementById("' + this.parentNode.id + '"); div.parentNode.removeChild(div);', 1100); return false; }; |
449 a.appendChild(document.createTextNode('[ dismiss :')); |
462 a.appendChild(document.createTextNode('[ ' + $lang.get('acl_btn_success_dismiss') + ' :')); |
450 note.appendChild(a); |
463 note.appendChild(a); |
451 a = document.createElement('a'); |
464 a = document.createElement('a'); |
452 a.href = '#'; |
465 a.href = '#'; |
453 a.onclick = function() { killACLManager(); return false; }; |
466 a.onclick = function() { killACLManager(); return false; }; |
454 a.appendChild(document.createTextNode(': close manager ]')); |
467 a.appendChild(document.createTextNode(': ' + $lang.get('acl_btn_success_close') + ' ]')); |
455 note.appendChild(a); |
468 note.appendChild(a); |
456 document.getElementById(aclManagerID + '_main').insertBefore(note, document.getElementById(aclManagerID + '_main').firstChild); |
469 document.getElementById(aclManagerID + '_main').insertBefore(note, document.getElementById(aclManagerID + '_main').firstChild); |
457 //fadeInfoBoxes(); |
470 //fadeInfoBoxes(); |
458 |
471 |
459 } |
472 } |
537 form.name = aclManagerID + '_formobj'; |
550 form.name = aclManagerID + '_formobj'; |
538 form.id = aclManagerID + '_formobj_id'; |
551 form.id = aclManagerID + '_formobj_id'; |
539 |
552 |
540 back = document.createElement('input'); |
553 back = document.createElement('input'); |
541 back.type = 'button'; |
554 back.type = 'button'; |
542 back.value = '< Back'; |
555 back.value = $lang.get('etc_wizard_back'); |
543 back.style.fontWeight = 'normal'; |
556 back.style.fontWeight = 'normal'; |
544 back.onclick = function() { ajaxACLSwitchToSelector(); return false; }; |
557 back.onclick = function() { ajaxACLSwitchToSelector(); return false; }; |
545 back.style.display = 'none'; |
558 back.style.display = 'none'; |
546 back.id = aclManagerID + '_back'; |
559 back.id = aclManagerID + '_back'; |
547 |
560 |
548 saver = document.createElement('input'); |
561 saver = document.createElement('input'); |
549 saver.type = 'submit'; |
562 saver.type = 'submit'; |
550 saver.value = 'Next >'; |
563 saver.value = $lang.get('etc_wizard_next'); |
551 saver.style.fontWeight = 'bold'; |
564 saver.style.fontWeight = 'bold'; |
552 saver.id = aclManagerID + '_next'; |
565 saver.id = aclManagerID + '_next'; |
553 |
566 |
554 closer = document.createElement('input'); |
567 closer = document.createElement('input'); |
555 closer.type = 'button'; |
568 closer.type = 'button'; |
556 closer.value = 'Cancel Changes'; |
569 closer.value = $lang.get('etc_cancel_changes'); |
557 closer.onclick = function() { if(!confirm('Do you really want to close the ACL manager?')) return false; killACLManager(); return false; } |
570 closer.onclick = function() { if(!confirm($lang.get('acl_msg_closeacl_confirm'))) return false; killACLManager(); return false; } |
558 |
571 |
559 spacer1 = document.createTextNode(' '); |
572 spacer1 = document.createTextNode(' '); |
560 spacer2 = document.createTextNode(' '); |
573 spacer2 = document.createTextNode(' '); |
561 |
574 |
562 panel.appendChild(back); |
575 panel.appendChild(back); |
568 form.appendChild(panel); |
581 form.appendChild(panel); |
569 box.appendChild(form); |
582 box.appendChild(form); |
570 |
583 |
571 body = document.getElementsByTagName('body')[0]; |
584 body = document.getElementsByTagName('body')[0]; |
572 body.appendChild(box); |
585 body.appendChild(box); |
573 setTimeout("document.getElementById('"+aclManagerID+"').style.display = 'block'; opacity('"+aclManagerID+"', 0, 100, 500); opacity('"+aclManagerID + '_panel'+"', 0, 100, 500);", 1000); |
586 if ( aclDisableTransitionFX ) |
|
587 { |
|
588 document.getElementById(aclManagerID).style.display = 'block'; |
|
589 changeOpac(100, aclManagerID); |
|
590 changeOpac(100, aclManagerID + '_panel'); |
|
591 } |
|
592 else |
|
593 { |
|
594 setTimeout("document.getElementById('"+aclManagerID+"').style.display = 'block'; opacity('"+aclManagerID+"', 0, 100, 500); opacity('"+aclManagerID + '_panel'+"', 0, 100, 500);", 1000); |
|
595 } |
574 } |
596 } |
575 |
597 |
576 function killACLManager() |
598 function killACLManager() |
577 { |
599 { |
578 el = document.getElementById(aclManagerID); |
600 el = document.getElementById(aclManagerID); |
579 if(el) |
601 if(el) |
580 { |
602 { |
581 opacity(aclManagerID, 100, 0, 500); |
603 if ( aclDisableTransitionFX ) |
582 setTimeout('var el = document.getElementById(aclManagerID); el.parentNode.removeChild(el); enlighten();', 750); |
604 { |
|
605 enlighten(true); |
|
606 el.parentNode.removeChild(el); |
|
607 } |
|
608 else |
|
609 { |
|
610 opacity(aclManagerID, 100, 0, 500); |
|
611 setTimeout('var el = document.getElementById(aclManagerID); el.parentNode.removeChild(el); enlighten();', 750); |
|
612 } |
583 } |
613 } |
584 } |
614 } |
585 |
615 |
586 function __aclSubmitManager(form) |
616 function __aclSubmitManager(form) |
587 { |
617 { |
602 break; |
632 break; |
603 case 'seltarget': |
633 case 'seltarget': |
604 var target_type = parseInt(getRadioState(thefrm, 'target_type', ['1', '2'])); |
634 var target_type = parseInt(getRadioState(thefrm, 'target_type', ['1', '2'])); |
605 if(isNaN(target_type)) |
635 if(isNaN(target_type)) |
606 { |
636 { |
607 alert('Please select a target type.'); |
637 alert($lang.get('acl_err_pleaseselect_targettype')); |
608 return false; |
638 return false; |
609 } |
639 } |
610 target_id = ( target_type == 1 ) ? parseInt(thefrm.group_id.value) : thefrm.username.value; |
640 target_id = ( target_type == 1 ) ? parseInt(thefrm.group_id.value) : thefrm.username.value; |
611 |
641 |
612 obj = { 'mode' : mode, 'target_type' : target_type, 'target_id' : target_id }; |
642 obj = { 'mode' : mode, 'target_type' : target_type, 'target_id' : target_id }; |