ajout de la partie slam dans le dossier web
This commit is contained in:
121
ap23/web/doku/lib/plugins/acl/script.js
Normal file
121
ap23/web/doku/lib/plugins/acl/script.js
Normal file
@@ -0,0 +1,121 @@
|
||||
/**
|
||||
* ACL Manager AJAX enhancements
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
var dw_acl = {
|
||||
/**
|
||||
* Initialize the object and attach the event handlers
|
||||
*/
|
||||
init: function () {
|
||||
var $tree;
|
||||
|
||||
//FIXME only one underscore!!
|
||||
if (jQuery('#acl_manager').length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
jQuery('#acl__user select').on('change', dw_acl.userselhandler);
|
||||
jQuery('#acl__user button').on('click', dw_acl.loadinfo);
|
||||
|
||||
$tree = jQuery('#acl__tree');
|
||||
$tree.dw_tree({toggle_selector: 'img',
|
||||
load_data: function (show_sublist, $clicky) {
|
||||
// get the enclosed link and the edit form
|
||||
var $frm = jQuery('#acl__detail form');
|
||||
|
||||
jQuery.post(
|
||||
DOKU_BASE + 'lib/exe/ajax.php',
|
||||
jQuery.extend(dw_acl.parseatt($clicky.parent().find('a')[0].search),
|
||||
{call: 'plugin_acl',
|
||||
ajax: 'tree',
|
||||
current_ns: $frm.find('input[name=ns]').val(),
|
||||
current_id: $frm.find('input[name=id]').val()}),
|
||||
show_sublist,
|
||||
'html'
|
||||
);
|
||||
},
|
||||
|
||||
toggle_display: function ($clicky, opening) {
|
||||
$clicky.attr('src',
|
||||
DOKU_BASE + 'lib/images/' +
|
||||
(opening ? 'minus' : 'plus') + '.gif');
|
||||
}});
|
||||
$tree.delegate('a', 'click', dw_acl.treehandler);
|
||||
},
|
||||
|
||||
/**
|
||||
* Handle user dropdown
|
||||
*
|
||||
* Hides or shows the user/group entry box depending on what was selected in the
|
||||
* dropdown element
|
||||
*/
|
||||
userselhandler: function () {
|
||||
// make entry field visible/invisible
|
||||
jQuery('#acl__user input').toggle(this.value === '__g__' ||
|
||||
this.value === '__u__');
|
||||
dw_acl.loadinfo();
|
||||
},
|
||||
|
||||
/**
|
||||
* Load the current permission info and edit form
|
||||
*/
|
||||
loadinfo: function () {
|
||||
jQuery('#acl__info')
|
||||
.attr('role', 'alert')
|
||||
.html('<img src="'+DOKU_BASE+'lib/images/throbber.gif" alt="..." />')
|
||||
.load(
|
||||
DOKU_BASE + 'lib/exe/ajax.php',
|
||||
jQuery('#acl__detail form').serialize() + '&call=plugin_acl&ajax=info'
|
||||
);
|
||||
return false;
|
||||
},
|
||||
|
||||
/**
|
||||
* parse URL attributes into a associative array
|
||||
*
|
||||
* @todo put into global script lib?
|
||||
*/
|
||||
parseatt: function (str) {
|
||||
if (str[0] === '?') {
|
||||
str = str.substr(1);
|
||||
}
|
||||
var attributes = {};
|
||||
var all = str.split('&');
|
||||
for (var i = 0; i < all.length; i++) {
|
||||
var att = all[i].split('=');
|
||||
attributes[att[0]] = decodeURIComponent(att[1]);
|
||||
}
|
||||
return attributes;
|
||||
},
|
||||
|
||||
/**
|
||||
* Handles clicks to the tree nodes
|
||||
*/
|
||||
treehandler: function () {
|
||||
var $link, $frm;
|
||||
|
||||
$link = jQuery(this);
|
||||
|
||||
// remove highlighting
|
||||
jQuery('#acl__tree a.cur').removeClass('cur');
|
||||
|
||||
// add new highlighting
|
||||
$link.addClass('cur');
|
||||
|
||||
// set new page to detail form
|
||||
$frm = jQuery('#acl__detail form');
|
||||
if ($link.hasClass('wikilink1')) {
|
||||
$frm.find('input[name=ns]').val('');
|
||||
$frm.find('input[name=id]').val(dw_acl.parseatt($link[0].search).id);
|
||||
} else if ($link.hasClass('idx_dir')) {
|
||||
$frm.find('input[name=ns]').val(dw_acl.parseatt($link[0].search).ns);
|
||||
$frm.find('input[name=id]').val('');
|
||||
}
|
||||
dw_acl.loadinfo();
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
jQuery(dw_acl.init);
|
||||
Reference in New Issue
Block a user