| | |
| | | /** |
| | | * ACL plugin script |
| | | * |
| | | * @version 0.6.3 |
| | | * @version @package_version@ |
| | | * @author Aleksander Machniak <alec@alec.pl> |
| | | */ |
| | | |
| | |
| | | if (this.env.acl_specials.length && $.inArray(selection[n], this.env.acl_specials) >= 0) { |
| | | users.push(selection[n]); |
| | | } |
| | | else { |
| | | row = list.rows[selection[n]].obj; |
| | | cell = $('td.user', row); |
| | | else if (row = list.rows[selection[n]]) { |
| | | cell = $('td.user', row.obj); |
| | | if (cell.length == 1) |
| | | users.push(cell.text()); |
| | | } |
| | |
| | | // Removes ACL table row |
| | | rcube_webmail.prototype.acl_remove_row = function(id) |
| | | { |
| | | this.acl_list.remove_row(id); |
| | | var list = this.acl_list; |
| | | |
| | | list.remove_row(id); |
| | | list.clear_selection(); |
| | | |
| | | // we don't need it anymore (remove id conflict) |
| | | $('#rcmrow'+id).remove(); |
| | | this.env.acl[id] = null; |
| | | |
| | | this.enable_command('acl-delete', list.selection.length > 0); |
| | | this.enable_command('acl-edit', list.selection.length == 1); |
| | | } |
| | | |
| | | // Adds ACL table row |
| | |
| | | // Initializes and shows ACL create/edit form |
| | | rcube_webmail.prototype.acl_init_form = function(id) |
| | | { |
| | | var ul, row, val = '', type = 'user', li_elements, body = $('body'), |
| | | var ul, row, td, val = '', type = 'user', li_elements, body = $('body'), |
| | | adv_ul = $('#advancedrights'), sim_ul = $('#simplerights'), |
| | | name_input = $('#acluser'); |
| | | |
| | |
| | | li_elements = $(':checkbox', ul); |
| | | li_elements.attr('checked', false); |
| | | |
| | | if (id) { |
| | | row = this.acl_list.rows[id].obj; |
| | | if (id && (row = this.acl_list.rows[id])) { |
| | | row = row.obj; |
| | | li_elements.map(function() { |
| | | var val = this.value, td = $('td.'+this.id, row); |
| | | val = this.value; |
| | | td = $('td.'+this.id, row); |
| | | if (td && td.hasClass('enabled')) |
| | | this.checked = true; |
| | | }); |
| | |
| | | else |
| | | type = id; |
| | | } |
| | | // mark read (lrs) rights by default |
| | | else |
| | | li_elements.filter(function() { return this.id.match(/^acl([lrs]|read)$/); }).prop('checked', true); |
| | | |
| | | name_input.val(val); |
| | | $('input[value='+type+']').prop('checked', true); |