diff options
author | Kate Arzamastseva <pshns@ukr.net> | 2011-06-24 11:32:51 +0300 |
---|---|---|
committer | Kate Arzamastseva <pshns@ukr.net> | 2011-06-24 11:32:51 +0300 |
commit | a2dc299eb0593f35454deb21a2cb5d51a235e80a (patch) | |
tree | 5b14bf906bbd13495826ebbe86d3af1c8fd88f71 /lib/plugins/acl | |
parent | 70c3cc9a17d47d8986cba0805d943c1a68af1740 (diff) | |
parent | c949174a2e8c324e3e463a9d10e9e6dc07b0ba9e (diff) | |
download | rpg-a2dc299eb0593f35454deb21a2cb5d51a235e80a.tar.gz rpg-a2dc299eb0593f35454deb21a2cb5d51a235e80a.tar.bz2 |
Merge branch 'master' of git://github.com/splitbrain/dokuwiki into media-revisions
Diffstat (limited to 'lib/plugins/acl')
-rw-r--r-- | lib/plugins/acl/lang/et/lang.php | 7 | ||||
-rw-r--r-- | lib/plugins/acl/lang/kk/lang.php | 6 | ||||
-rw-r--r-- | lib/plugins/acl/script.js | 147 |
3 files changed, 76 insertions, 84 deletions
diff --git a/lib/plugins/acl/lang/et/lang.php b/lib/plugins/acl/lang/et/lang.php index 04ce0c08a..bc4c73a16 100644 --- a/lib/plugins/acl/lang/et/lang.php +++ b/lib/plugins/acl/lang/et/lang.php @@ -7,6 +7,7 @@ * @author Aari Juhanson <aari@vmg.vil.ee> * @author Kaiko Kaur <kaiko@kultuur.edu.ee> * @author kristian.kankainen@kuu.la + * @author Rivo Zängov <eraser@eraser.ee> */ $lang['admin_acl'] = 'Ligipääsukontrolli nimekirja haldamine'; $lang['acl_group'] = 'Grupp'; @@ -14,8 +15,14 @@ $lang['acl_user'] = 'Kasutaja'; $lang['acl_perms'] = 'Lubatud'; $lang['page'] = 'leht'; $lang['namespace'] = 'alajaotus'; +$lang['btn_select'] = 'Vali'; +$lang['who'] = 'Kasutaja/Grupp'; +$lang['perm'] = 'Õigused'; +$lang['acl_perm0'] = 'Pole'; $lang['acl_perm1'] = 'Lugemine'; $lang['acl_perm2'] = 'Toimetamine'; $lang['acl_perm4'] = 'Tekitamine'; $lang['acl_perm8'] = 'Üles laadimine'; +$lang['acl_perm16'] = 'Kustuta'; $lang['acl_new'] = 'Uue kirje lisamine'; +$lang['acl_mod'] = 'Muuda sissekannet'; diff --git a/lib/plugins/acl/lang/kk/lang.php b/lib/plugins/acl/lang/kk/lang.php new file mode 100644 index 000000000..dde5b9577 --- /dev/null +++ b/lib/plugins/acl/lang/kk/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * kazakh language file + * + * @author Nurgozha Kaliaskarov astana08@gmail.com + */ diff --git a/lib/plugins/acl/script.js b/lib/plugins/acl/script.js index d5d0371a9..5b6c9ce1b 100644 --- a/lib/plugins/acl/script.js +++ b/lib/plugins/acl/script.js @@ -1,59 +1,53 @@ +/** + * ACL Manager AJAX enhancements + * + * @author Andreas Gohr <andi@splitbrain.org> + */ acl = { + /** + * Initialize the object and attach the event handlers + */ init: function(){ - this.ctl = $('acl_manager'); - if(!this.ctl) return; - - var sel = $('acl__user').getElementsByTagName('select')[0]; + if(!jQuery('#acl_manager').length) return; //FIXME only one underscore!! - addEvent(sel,'change',acl.userselhandler); - addEvent($('acl__tree'),'click',acl.treehandler); - addEvent($('acl__user').getElementsByTagName('input')[1],'click',acl.loadinfo); + jQuery('#acl__user select').change(acl.userselhandler); + jQuery('#acl__tree').click(acl.treehandler); + jQuery('#acl__user input[type=submit]').click(acl.loadinfo); }, - /** * Handle user dropdown + * + * Hides or shows the user/group entry box depending on what was selected in the + * dropdown element */ userselhandler: function(e){ // make entry field visible/invisible if(this.value == '__g__' || this.value == '__u__'){ - $('acl__user').getElementsByTagName('input')[0].style.display = ''; //acl_w - $('acl__user').getElementsByTagName('input')[1].style.display = ''; //submit + jQuery('#acl__user input').show(); }else{ - $('acl__user').getElementsByTagName('input')[0].style.display = 'none'; - $('acl__user').getElementsByTagName('input')[1].style.display = 'none'; + jQuery('#acl__user input').hide(); } - acl.loadinfo(); }, /** * Load the current permission info and edit form - * - * @param frm - Form element with needed data */ loadinfo: function(){ - // get form - var frm = $('acl__detail').getElementsByTagName('form')[0]; - - // prepare an AJAX call - var ajax = new sack(DOKU_BASE + 'lib/plugins/acl/ajax.php'); - ajax.AjaxFailedAlert = ''; - ajax.encodeURIString = false; - if(ajax.failed) return true; - - // prepare data - var data = Array(); - data[0] = ajax.encVar('ns',frm.elements['ns'].value); - data[1] = ajax.encVar('id',frm.elements['id'].value); - data[2] = ajax.encVar('acl_t',frm.elements['acl_t'].value); - data[3] = ajax.encVar('acl_w',frm.elements['acl_w'].value); - data[4] = ajax.encVar('sectok',frm.elements['sectok'].value); - data[5] = ajax.encVar('ajax','info'); - - ajax.elementObj = $('acl__info'); - - ajax.runAJAX(data.join('&')); + var frm = jQuery('#acl__detail form')[0]; + + jQuery('#acl__info').load( + DOKU_BASE + 'lib/plugins/acl/ajax.php', + { + 'ns': frm.elements['ns'].value, + 'id': frm.elements['id'].value, + 'acl_t': frm.elements['acl_t'].value, + 'acl_w': frm.elements['acl_w'].value, + 'sectok': frm.elements['sectok'].value, + 'ajax': 'info', + } + ); return false; }, @@ -74,55 +68,40 @@ acl = { }, /** - * htmlspecialchars equivalent - * - * @todo put in gloabl scripts lib? - */ - hsc: function(str) { - str = str.replace(/&/g,"&"); - str = str.replace(/\"/g,"""); - str = str.replace(/\'/g,"'"); - str = str.replace(/</g,"<"); - str = str.replace(/>/g,">"); - return str; - }, - - - /** * Open or close a subtree using AJAX * * @author Andreas Gohr <andi@splitbrain.org> + * @param DOMElement clicky - the plus/minus icon in front of a namespace */ treetoggle: function(clicky){ - var listitem = clicky.parentNode.parentNode; + var listitem = jQuery(clicky).parent().parent(); // if already open, close by removing the sublist - var sublists = listitem.getElementsByTagName('ul'); + var sublists = listitem.find('ul'); if(sublists.length){ - listitem.removeChild(sublists[0]); + listitem.remove('ul'); clicky.src = DOKU_BASE+'lib/images/plus.gif'; clicky.alt = '+'; return false; } - // get the enclosed link (is always the first one) - var link = listitem.getElementsByTagName('a')[0]; + // prepare new ul to load into it via ajax + var ul = document.createElement('ul'); + listitem[0].appendChild(ul); - // prepare an AJAX call to fetch the subtree - var ajax = new sack(DOKU_BASE + 'lib/plugins/acl/ajax.php'); - ajax.AjaxFailedAlert = ''; - ajax.encodeURIString = false; - if(ajax.failed) return true; + // get the enclosed link and the edit form + var link = listitem.find('a')[0]; + var frm = jQuery('#acl__detail form')[0]; + + // prepare ajax data + var data = acl.parseatt(link.search); + data['ajax'] = 'tree'; + data['current_ns'] = frm.elements['ns'].value; + data['current_id'] = frm.elements['id'].value; + + // run ajax + jQuery(ul).load(DOKU_BASE + 'lib/plugins/acl/ajax.php', data); - //prepare the new ul - var ul = document.createElement('ul'); - listitem.appendChild(ul); - ajax.elementObj = ul; - ajax.setVar('ajax', 'tree'); - var frm = $('acl__detail').getElementsByTagName('form')[0]; - ajax.setVar('current_ns', encodeURIComponent(frm.elements['ns'].value)); - ajax.setVar('current_id', encodeURIComponent(frm.elements['id'].value)); - ajax.runAJAX(link.search.substr(1)); clicky.src = DOKU_BASE+'lib/images/minus.gif'; return false; }, @@ -130,30 +109,30 @@ acl = { /** * Handles all clicks in the tree, dispatching the right action based on the * clicked element + * + * @param Event e The event object that caused the execution */ treehandler: function(e){ if(e.target.src){ // is it an image? acl.treetoggle(e.target); } else if(e.target.href){ // is it a link? // remove highlighting - var obj = getElementsByClass('cur',$('acl__tree'),'a'); - for(var i=0; i<obj.length; i++){ - obj[i].className = obj[i].className.replace(/ cur/,''); - } + jQuery('#acl__tree a.cur').removeClass('cur'); + + var link = jQuery(e.target); // add new highlighting - e.target.className += ' cur'; + link.addClass('cur'); // set new page to detail form - var frm = $('acl__detail').getElementsByTagName('form')[0]; - if(e.target.className.search(/wikilink1/) > -1){ - frm.elements['ns'].value = ''; - frm.elements['id'].value = acl.hsc(acl.parseatt(e.target.search)['id']); - }else if(e.target.className.search(/idx_dir/) > -1){ - frm.elements['ns'].value = acl.hsc(acl.parseatt(e.target.search)['ns']); - frm.elements['id'].value = ''; + var frm = jQuery('#acl__detail form')[0]; + if(link.hasClass('wikilink1')){ + jQuery('#acl__detail form input[name=ns]').val(''); + jQuery('#acl__detail form input[name=id]').val(acl.parseatt(link[0].search)['id']); + }else if(link.hasClass('idx_dir')){ + jQuery('#acl__detail form input[name=ns]').val(acl.parseatt(link[0].search)['ns']); + jQuery('#acl__detail form input[name=id]').val(''); } - acl.loadinfo(); } @@ -164,4 +143,4 @@ acl = { }; -addInitEvent(acl.init); +jQuery(acl.init); |