aboutsummaryrefslogtreecommitdiffstats
path: root/mod/item.php
diff options
context:
space:
mode:
authorredmatrix <redmatrix@redmatrix.me>2015-11-20 00:15:48 -0800
committerredmatrix <redmatrix@redmatrix.me>2015-11-20 00:15:48 -0800
commit301072a86cacd2620a08cf07f2cef55dffac3c2f (patch)
treee6f64f9e95be882bdb7afeb4939dc485d38d3527 /mod/item.php
parenta44795e6c32d90d54e5a4321cad4ffe0f3409a09 (diff)
downloadvolse-hubzilla-301072a86cacd2620a08cf07f2cef55dffac3c2f.tar.gz
volse-hubzilla-301072a86cacd2620a08cf07f2cef55dffac3c2f.tar.bz2
volse-hubzilla-301072a86cacd2620a08cf07f2cef55dffac3c2f.zip
issue #85, community tags and file tags lost during edits. This required splitting off communitytags as a separate tag type and is not backward compatible. Community tags on older posts or those federated from redmatrix clones will not be preserved during edits.
Diffstat (limited to 'mod/item.php')
-rw-r--r--mod/item.php23
1 files changed, 23 insertions, 0 deletions
diff --git a/mod/item.php b/mod/item.php
index 1e39ca9c9..34484eff7 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -651,6 +651,29 @@ function item_post(&$a) {
}
}
+ if($orig_post) {
+ // preserve original tags
+ $t = q("select * from term where oid = %d and otype = %d and uid = %d and type in ( %d, %d, %d )",
+ intval($orig_post['id']),
+ intval(TERM_OBJ_POST),
+ intval($profile_uid),
+ intval(TERM_UNKNOWN),
+ intval(TERM_FILE),
+ intval(TERM_COMMUNITYTAG)
+ );
+ if($t) {
+ foreach($t as $t1) {
+ $post_tags[] = array(
+ 'uid' => $profile_uid,
+ 'type' => $t1['type'],
+ 'otype' => TERM_OBJ_POST,
+ 'term' => $t1['term'],
+ 'url' => $t1['url'],
+ );
+ }
+ }
+ }
+
$item_unseen = ((local_channel() != $profile_uid) ? 1 : 0);
$item_wall = (($post_type === 'wall' || $post_type === 'wall-comment') ? 1 : 0);