From 4b101c2240b32053fad98354585bb69ff315aec2 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 15 Aug 2016 22:54:07 +0200 Subject: provide group options serverside and minor cleanup --- include/acl_selectors.php | 119 +++++----------------------------------------- view/js/acl.js | 34 ++++++------- view/tpl/acl_selector.tpl | 1 + 3 files changed, 30 insertions(+), 124 deletions(-) diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 148c67a6c..b10417b04 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -13,7 +13,7 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) { $o .= "\r\n"; - else - $o .= "\r\n"; - - call_hooks(App::$module . '_post_' . $selname, $o); - - return $o; -}*/ - - - function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false, $tabindex = null) { @@ -260,10 +154,21 @@ function populate_acl($defaults = null,$show_jotnets = true, $emptyACL_descripti call_hooks('jot_networks', $jotnets); } + $r = q("SELECT id, hash, gname FROM groups WHERE deleted = 0 AND uid = %d ORDER BY gname ASC", + intval(local_channel()) + ); + + if($r) { + foreach($r as $rr) { + $groups .= '' . "\r\n"; + } + } + $tpl = get_markup_template("acl_selector.tpl"); $o = replace_macros($tpl, array( '$showall' => $showall_caption, '$onlyme' => t('Only me'), + '$groups' => $groups, '$showallOrigin' => $showall_origin, '$showallIcon' => $showall_icon, '$select_label' => t('Who can see this?'), diff --git a/view/js/acl.js b/view/js/acl.js index 9e3acf8e1..086d85750 100644 --- a/view/js/acl.js +++ b/view/js/acl.js @@ -13,6 +13,7 @@ function ACL(backend_url) { that.deny_gid = []; that.group_uids = []; + that.group_ids = []; that.selected_id = ''; that.info = $("#acl-info"); @@ -131,7 +132,7 @@ ACL.prototype.on_onlyme = function(event) { that.deny_gid = []; - that.update_view(event.target.value); + that.update_view(); that.on_submit(); return true; // return true so that state changes from update_view() will be applied @@ -146,28 +147,27 @@ ACL.prototype.on_showall = function(event) { that.deny_cid = []; that.deny_gid = []; - that.update_view(event.target.value); + that.update_view(); that.on_submit(); return true; // return true so that state changes from update_view() will be applied }; ACL.prototype.on_showgroup = function(event) { - var xid = that.acl_select.children(":selected").val(); - that.selected_id = that.acl_select.children(":selected").attr('id'); + var xid = that.acl_select.children(":selected").val(); - // preventDefault() isn't called here as we want state changes from update_view() to be applied to the radiobutton - event.stopPropagation(); + // preventDefault() isn't called here as we want state changes from update_view() to be applied to the radiobutton + event.stopPropagation(); - that.allow_cid = []; - that.allow_gid = [xid]; - that.deny_cid = []; - that.deny_gid = []; + that.allow_cid = []; + that.allow_gid = [xid]; + that.deny_cid = []; + that.deny_gid = []; - that.update_view(that.selected_id); - that.on_submit(); + that.update_view(); + that.on_submit(); - return true; // return true so that state changes from update_view() will be applied + return true; // return true so that state changes from update_view() will be applied }; @@ -180,7 +180,7 @@ ACL.prototype.on_showlimited = function(event) { that.deny_cid = []; that.deny_gid = []; - that.update_view(event.target.value); + that.update_view('limited'); that.on_submit(); return true; // return true so that state changes from update_view() will be applied @@ -316,7 +316,7 @@ ACL.prototype.update_view = function(value) { else if (that.allow_gid.length === 1 && that.allow_cid.length === 0 && that.deny_gid.length === 0 && that.deny_cid.length === 0 && value !== 'limited') { that.list.hide(); //hide acl-list that.info.hide(); //show acl-info - that.selected_id = that.allow_gid[0].substring(0,40); + that.selected_id = that.group_ids[that.allow_gid[0]]; that.update_select(that.selected_id); /* jot acl */ @@ -427,17 +427,17 @@ ACL.prototype.populate = function(data) { html = html.format(this.photo, this.name, this.type, this.xid, '', this.self, this.link, this.taggable); if (this.uids !== undefined) { that.group_uids[this.xid] = this.uids; - that.onlyme.before($('').attr('id', this.xid.substring(0,40)).attr('value', this.xid).text(this.name)); + that.group_ids[this.xid] = this.id; } if (this.self === 'abook-self') { that.self[0] = this.xid; } that.list_content.append(html); }); + $("#acl-list-content .acl-list-item img[data-src]").each(function(i, el) { // Replace data-src attribute with src attribute for every image $(el).attr('src', $(el).data("src")); $(el).removeAttr("data-src"); }); - //that.update_view(); }; diff --git a/view/tpl/acl_selector.tpl b/view/tpl/acl_selector.tpl index ddeb25a39..dbddc24a9 100755 --- a/view/tpl/acl_selector.tpl +++ b/view/tpl/acl_selector.tpl @@ -16,6 +16,7 @@ -- cgit v1.2.3