includes/clientside/static/acl.js
changeset 1056 f21d6e75b469
parent 907 44851d7e9bda
child 1058 c4b057708436
equal deleted inserted replaced
1055:15ef8d2147c2 1056:f21d6e75b469
   132       if ( ajax.readyState == 4 && ajax.status == 200 )
   132       if ( ajax.readyState == 4 && ajax.status == 200 )
   133       {
   133       {
   134         document.getElementById(aclManagerID+'_main').innerHTML = '';
   134         document.getElementById(aclManagerID+'_main').innerHTML = '';
   135         document.getElementById(aclManagerID + '_back').style.display = 'none';
   135         document.getElementById(aclManagerID + '_back').style.display = 'none';
   136         document.getElementById(aclManagerID + '_next').value = $lang.get('etc_wizard_next');
   136         document.getElementById(aclManagerID + '_next').value = $lang.get('etc_wizard_next');
   137         groups = parseJSON(ajax.responseText);
   137         var groups = parseJSON(ajax.responseText);
   138         if ( groups.mode == 'error' )
   138         if ( groups.mode == 'error' )
   139         {
   139         {
   140           alert(groups.error);
   140           alert(groups.error);
   141           killACLManager();
   141           killACLManager();
   142           return false;
   142           return false;
   194     return false;
   194     return false;
   195   }
   195   }
   196   
   196   
   197   selector = document.createElement('div');
   197   selector = document.createElement('div');
   198   
   198   
   199   grpsel = __aclBuildGroupsHTML(groups);
   199   var grpsel = __aclBuildGroupsHTML(groups);
   200   grpsel.name = 'group_id';
   200   grpsel.name = 'group_id';
   201   
   201   
   202   span = document.createElement('div');
   202   span = document.createElement('div');
   203   span.id = "enACL_grpbox_"+seed+"";
   203   span.id = "enACL_grpbox_"+seed+"";
   204   
   204   
   501               if ( ajax.readyState == 4 && ajax.status == 200 )
   501               if ( ajax.readyState == 4 && ajax.status == 200 )
   502               {
   502               {
   503                 document.getElementById(aclManagerID+'_main').innerHTML = '';
   503                 document.getElementById(aclManagerID+'_main').innerHTML = '';
   504                 document.getElementById(aclManagerID + '_back').style.display = 'none';
   504                 document.getElementById(aclManagerID + '_back').style.display = 'none';
   505                 document.getElementById(aclManagerID + '_next').value = $lang.get('etc_wizard_next');
   505                 document.getElementById(aclManagerID + '_next').value = $lang.get('etc_wizard_next');
   506                 var thispage = strToPageID(title);
   506                 ajaxACLSwitchToSelector();
   507                 groups.page_id = thispage[0];
       
   508                 groups.namespace = thispage[1];
       
   509                 __aclBuildSelector(groups);
       
   510                 
   507                 
   511                 note = document.createElement('div');
   508                 // note
   512                 note.className = 'info-box';
   509                 var note = document.createElement('div');
   513                 note.style.marginLeft = '0';
   510                 note.className = 'info-box-mini';
       
   511                 note.appendChild(document.createTextNode($lang.get('acl_lbl_delete_success')));
       
   512                 
       
   513                 // button: dismiss note
       
   514                 var a_dismiss = document.createElement('a');
       
   515                 a_dismiss.href = '#';
       
   516                 a_dismiss.onclick = function()
       
   517                 {
       
   518                   var p = this.parentNode;
       
   519                   domOpacity(p, 100, 0, 500);
       
   520                   window.setTimeout(function()
       
   521                     {
       
   522                       p.parentNode.removeChild(p);
       
   523                     }, 600);
       
   524                   return false;
       
   525                 }
       
   526                 a_dismiss.appendChild(document.createTextNode($lang.get('acl_btn_success_dismiss')));
       
   527                 note.appendChild(a_dismiss);
       
   528                 // add a space
       
   529                 note.appendChild(document.createTextNode(' / '));
       
   530                 
       
   531                 // button: dismiss note
       
   532                 var a_close = document.createElement('a');
       
   533                 a_close.href = '#';
       
   534                 a_close.onclick = function()
       
   535                 {
       
   536                   killACLManager();
       
   537                   return false;
       
   538                 }
       
   539                 a_close.appendChild(document.createTextNode($lang.get('acl_btn_success_close')));
       
   540                 note.appendChild(a_close);
       
   541                 
       
   542                 // style note
       
   543                 domObjChangeOpac(note, 0);
   514                 note.style.position = 'absolute';
   544                 note.style.position = 'absolute';
   515                 note.style.width = '558px';
   545                 // icon padding L + icon padding R + icon width + right padding + border width L + border width R
   516                 note.id = 'aclSuccessNotice_' + Math.floor(Math.random() * 100000);
   546                 note.style.width = ($dynano(aclManagerID + '_main').Width() - ( 5 + 5 + 16 + 4 + 1 + 1 )) + 'px';
   517                 b = document.createElement('b');
       
   518                 b.appendChild(document.createTextNode($lang.get('acl_lbl_delete_success_title')));
       
   519                 note.appendChild(b);
       
   520                 note.appendChild(document.createElement('br'));
       
   521                 note.appendChild(document.createTextNode($lang.get('acl_lbl_delete_success_body', { target_name: aclDataCache.target_name })));
       
   522                 note.appendChild(document.createElement('br'));
       
   523                 a = document.createElement('a');
       
   524                 a.href = '#';
       
   525                 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; };
       
   526                 a.appendChild(document.createTextNode('[ ' + $lang.get('acl_btn_success_dismiss') + ' :'));
       
   527                 note.appendChild(a);
       
   528                 a = document.createElement('a');
       
   529                 a.href = '#';
       
   530                 a.onclick = function() { killACLManager(); return false; };
       
   531                 a.appendChild(document.createTextNode(': ' + $lang.get('acl_btn_success_close') + ' ]'));
       
   532                 note.appendChild(a);
       
   533                 document.getElementById(aclManagerID + '_main').insertBefore(note, document.getElementById(aclManagerID + '_main').firstChild);
       
   534                 //fadeInfoBoxes();
       
   535                 
   547                 
       
   548                 // make tangible, then calculate height and position right above button panel
       
   549                 var panel = document.getElementById(aclManagerID + '_panel');
       
   550                 panel.parentNode.parentNode.appendChild(note);
       
   551                 note.style.top = '401px';
       
   552                 note.style.left = '0px';
       
   553                 
       
   554                 opacity(note, 0, 100, 500);
   536               }
   555               }
   537             }, true);
   556             }, true);
   538             
   557             
   539             break;
   558             break;
   540           case 'error':
   559           case 'error':
   662   document.getElementById(aclManagerID + '_next').value = $lang.get('etc_save_changes');
   681   document.getElementById(aclManagerID + '_next').value = $lang.get('etc_save_changes');
   663 }
   682 }
   664 
   683 
   665 function __aclBuildGroupsHTML(groups)
   684 function __aclBuildGroupsHTML(groups)
   666 {
   685 {
   667   groups = groups.groups;
   686   var groups = groups.groups;
   668   select = document.createElement('select');
   687   select = document.createElement('select');
   669   for(var i in groups)
   688   for(var i in groups)
   670   {
   689   {
   671     if(typeof(groups[i]['name']) == 'string' && i != 'toJSONString')
   690     if(typeof(groups[i]['name']) == 'string' && i != 'toJSONString')
   672     {
   691     {
   792     changeOpac(100, aclManagerID);
   811     changeOpac(100, aclManagerID);
   793     changeOpac(100, aclManagerID + '_panel');
   812     changeOpac(100, aclManagerID + '_panel');
   794   }
   813   }
   795   else
   814   else
   796   {
   815   {
   797     setTimeout("document.getElementById('"+aclManagerID+"').style.display = 'block'; opacity('"+aclManagerID+"', 0, 100, 500); opacity('"+aclManagerID + '_panel'+"', 0, 100, 500);", 1000);
   816     setTimeout("document.getElementById('"+aclManagerID+"').style.display = 'block'; opacity('"+aclManagerID+"', 0, 100, 250); opacity('"+aclManagerID + '_panel'+"', 0, 100, 250);", 500);
   798   }
   817   }
   799 }
   818 }
   800 
   819 
   801 function killACLManager()
   820 function killACLManager()
   802 {
   821 {