diff options
author | friendica <info@friendica.com> | 2014-03-31 17:03:07 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-03-31 17:03:07 -0700 |
commit | 93f90040a12cdf7ba70d16773b36a29afa5ad83a (patch) | |
tree | 7b84c3388d1591dcf0964da8becaad8d71f83f21 /include | |
parent | 03c53502cb7770d9994776d9a2818c4621befb66 (diff) | |
download | volse-hubzilla-93f90040a12cdf7ba70d16773b36a29afa5ad83a.tar.gz volse-hubzilla-93f90040a12cdf7ba70d16773b36a29afa5ad83a.tar.bz2 volse-hubzilla-93f90040a12cdf7ba70d16773b36a29afa5ad83a.zip |
community tags don't show up in the tagged posts because we removed the displayed list of hashtags at the bottom (which are usually redundant since hashtags are usually present in the message text). This brings them back, but only for tags which aren't currently present in the message body (e.g. community tags)
Diffstat (limited to 'include')
-rwxr-xr-x | include/items.php | 1 | ||||
-rwxr-xr-x | include/text.php | 30 |
2 files changed, 31 insertions, 0 deletions
diff --git a/include/items.php b/include/items.php index ec324b6a3..f1778e722 100755 --- a/include/items.php +++ b/include/items.php @@ -2339,6 +2339,7 @@ function tag_deliver($uid,$item_id) { if($j_obj && $j_obj['id'] && $j_obj['title']) { if(is_array($j_obj['link'])) $taglink = get_rel_link($j_obj['link'],'alternate'); + store_item_tag($u[0]['channel_id'],$p[0]['id'],TERM_OBJ_POST,TERM_HASHTAG,$j_obj['title'],$j_obj['id']); $x = q("update item set edited = '%s', received = '%s', changed = '%s' where mid = '%s' and uid = %d limit 1", dbesc(datetime_convert()), diff --git a/include/text.php b/include/text.php index d549f206e..95e59c54c 100755 --- a/include/text.php +++ b/include/text.php @@ -1190,6 +1190,33 @@ function format_categories(&$item,$writeable) { return $s; } +// Add any hashtags which weren't mentioned in the message body, e.g. community tags + +function format_hashtags(&$item) { + + $s = ''; + $terms = get_terms_oftype($item['term'],TERM_HASHTAG); + if($terms) { + $categories = array(); + foreach($terms as $t) { + $term = htmlspecialchars($t['term'],ENT_COMPAT,'UTF-8',false) ; + if(! trim($term)) + continue; + if(strpos($item['body'], $t['url'])) + continue; + + if($s) + $s .= ' '; + + $s .= '#<a href="' . zid($t['url']) . '" >' . $term . '</a>'; + } + } + return $s; +} + + + + function format_filer(&$item) { @@ -1242,6 +1269,9 @@ function prepare_body(&$item,$attach = false) { $writeable = ((get_observer_hash() == $item['owner_xchan']) ? true : false); + + $s .= format_hashtags($item); + $s .= format_categories($item,$writeable); if(local_user() == $item['uid']) |