summaryrefslogtreecommitdiff
path: root/lib/plugins/acl
diff options
context:
space:
mode:
authorKate Arzamastseva <pshns@ukr.net>2011-06-24 11:32:51 +0300
committerKate Arzamastseva <pshns@ukr.net>2011-06-24 11:32:51 +0300
commita2dc299eb0593f35454deb21a2cb5d51a235e80a (patch)
tree5b14bf906bbd13495826ebbe86d3af1c8fd88f71 /lib/plugins/acl
parent70c3cc9a17d47d8986cba0805d943c1a68af1740 (diff)
parentc949174a2e8c324e3e463a9d10e9e6dc07b0ba9e (diff)
downloadrpg-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.php7
-rw-r--r--lib/plugins/acl/lang/kk/lang.php6
-rw-r--r--lib/plugins/acl/script.js147
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,"&amp;");
- str = str.replace(/\"/g,"&quot;");
- str = str.replace(/\'/g,"&#039;");
- str = str.replace(/</g,"&lt;");
- str = str.replace(/>/g,"&gt;");
- 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);