diff options
-rwxr-xr-x | include/items.php | 4 | ||||
-rw-r--r-- | mod/acl.php | 17 | ||||
-rw-r--r-- | mod/item.php | 11 | ||||
-rw-r--r-- | view/js/autocomplete.js | 2 |
4 files changed, 28 insertions, 6 deletions
diff --git a/include/items.php b/include/items.php index a7d3a21ce..f6efea58c 100755 --- a/include/items.php +++ b/include/items.php @@ -2450,7 +2450,7 @@ function tag_deliver($uid,$item_id) { $body = preg_replace('/\[share(.*?)\[\/share\]/','',$body); - $pattern = '/@\!?\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'],'/') . '\[\/zrl\]/'; + $pattern = '/@\!?\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'] . '+','/') . '\[\/zrl\]/'; if(! preg_match($pattern,$body,$matches)) { logger('tag_deliver: mention was in a reshare - ignoring'); @@ -2586,7 +2586,7 @@ function tgroup_check($uid,$item) { $body = preg_replace('/\[share(.*?)\[\/share\]/','',$item['body']); - $pattern = '/@\!?\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'],'/') . '\[\/zrl\]/'; + $pattern = '/@\!?\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'] . '+','/') . '\[\/zrl\]/'; if(! preg_match($pattern,$body,$matches)) { logger('tgroup_check: mention was in a reshare - ignoring'); diff --git a/mod/acl.php b/mod/acl.php index ed9e935e9..3b737d36e 100644 --- a/mod/acl.php +++ b/mod/acl.php @@ -206,6 +206,20 @@ function acl_init(&$a){ if(count($r)) { foreach($r as $g){ + if($g['abook_their_perms'] & PERMS_W_TAGWALL) { + $contacts[] = array( + "type" => "c", + "photo" => "images/twopeople.png", + "name" => $g['name'] . '+', + "id" => $g['id'] . '+', + "xid" => $g['hash'], + "link" => $g['nick'], + "nick" => substr($g['nick'],0,strpos($g['nick'],'@')), + "self" => (($g['abook_flags'] & ABOOK_FLAG_SELF) ? 'abook-self' : ''), + "taggable" => 'taggable', + "label" => t('network') + ); + } $contacts[] = array( "type" => "c", "photo" => $g['micro'], @@ -215,7 +229,8 @@ function acl_init(&$a){ "link" => $g['nick'], "nick" => substr($g['nick'],0,strpos($g['nick'],'@')), "self" => (($g['abook_flags'] & ABOOK_FLAG_SELF) ? 'abook-self' : ''), - "taggable" => (($g['abook_their_perms'] & PERMS_W_TAGWALL) ? 'taggable' : '') + "taggable" => '', + "label" => '', ); } } diff --git a/mod/item.php b/mod/item.php index 7630cb031..a63d368f8 100644 --- a/mod/item.php +++ b/mod/item.php @@ -956,6 +956,13 @@ function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag) { // is it some generated name? + $forum = false; + + if(substr($newname,-1,1) === '+') { + $forum = true; + $newname = substr($newname,0,-1); + } + if(strrpos($newname,'+')) { //get the id $tagcid = intval(substr($newname,strrpos($newname,'+') + 1)); @@ -1024,7 +1031,7 @@ function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag) { } $channel = get_app()->get_channel(); if($channel) { - $newtag = '@' . (($exclusive) ? '!' : '') . '[zrl=' . z_root() . '/channel/' . $channel['channel_address'] . ']' . $newname . '[/zrl]'; + $newtag = '@' . (($exclusive) ? '!' : '') . '[zrl=' . z_root() . '/channel/' . $channel['channel_address'] . ']' . $newname . '[/zrl]'; $body = str_replace('@' . (($exclusive) ? '!' : '') . $name, $newtag, $body); } } @@ -1037,7 +1044,7 @@ function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag) { //create profile link $profile = str_replace(',','%2c',$profile); $url = $profile; - $newtag = '@' . (($exclusive) ? '!' : '') . '[zrl=' . $profile . ']' . $newname . '[/zrl]'; + $newtag = '@' . (($exclusive) ? '!' : '') . '[zrl=' . $profile . ']' . $newname . (($forum) ? '+' : '') . '[/zrl]'; $body = str_replace('@' . (($exclusive) ? '!' : '') . $name, $newtag, $body); //append tag to str_tags if(! stristr($str_tags,$newtag)) { diff --git a/view/js/autocomplete.js b/view/js/autocomplete.js index 763ca354d..c01ba6990 100644 --- a/view/js/autocomplete.js +++ b/view/js/autocomplete.js @@ -85,7 +85,7 @@ ACPopup.prototype._search = function(){ if (data.tot>0){ that.cont.show(); $(data.items).each(function(){ - html = "<img src='{0}' height='16px' width='16px'>{1} ({2})".format(this.photo, this.name, this.nick) + html = "<img src='{0}' height='16px' width='16px'>{1} ({2})".format(this.photo, this.name, ((this.label) ? this.nick + ' ' + this.label : this.nick) ) that.add(this.taggable, html, this.nick.replace(' ','') + '+' + this.id + ' - ' + this.link); }); } else { |