diff options
author | Max Kostikov <max@kostikov.co> | 2019-09-03 14:33:09 +0200 |
---|---|---|
committer | Max Kostikov <max@kostikov.co> | 2019-09-03 14:33:09 +0200 |
commit | 914a096b42b741251a3132b74adf13e15c02cda3 (patch) | |
tree | deab2943634b0ccd14fa013404e27e04865dabdd | |
parent | 5fa9dcbc7e940905cbcbf586731d83d27dd62fcf (diff) | |
parent | bbc98db6b4071296ea02cea1a8c89fd33b251b1c (diff) | |
download | volse-hubzilla-914a096b42b741251a3132b74adf13e15c02cda3.tar.gz volse-hubzilla-914a096b42b741251a3132b74adf13e15c02cda3.tar.bz2 volse-hubzilla-914a096b42b741251a3132b74adf13e15c02cda3.zip |
Merge branch 'dev' into 'dev'
improved conversion of emoji reactions from zot to zot6
See merge request hubzilla/core!1720
-rw-r--r-- | Zotlabs/Lib/Activity.php | 19 | ||||
-rw-r--r-- | include/connections.php | 5 |
2 files changed, 24 insertions, 0 deletions
diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php index 12b6cbdfd..721ed10fd 100644 --- a/Zotlabs/Lib/Activity.php +++ b/Zotlabs/Lib/Activity.php @@ -516,6 +516,25 @@ class Activity { xchan_query($p,true); $p = fetch_post_tags($p,true); $i['obj'] = self::encode_item($p[0]); + + // convert to zot6 emoji reaction encoding which uses the target object to indicate the + // specific emoji instead of overloading the verb or type. + + $im = explode('#',$i['verb']); + if($im && count($im) > 1) + $emoji = $im[1]; + if(preg_match("/\[img(.*?)\](.*?)\[\/img\]/ism", $i['body'], $match)) { + $ln = $match[2]; + } + + $i['tgt_type'] = 'Image'; + + $i['target'] = [ + 'type' => 'Image', + 'name' => $emoji, + 'url' => (($ln) ? $ln : z_root() . '/images/emoji/' . $emoji . '.png') + ]; + } } diff --git a/include/connections.php b/include/connections.php index e942503f0..51df18b70 100644 --- a/include/connections.php +++ b/include/connections.php @@ -299,6 +299,11 @@ function remove_all_xchan_resources($xchan, $channel_id = 0) { $r = q("delete from pgrp_member where xchan = '%s'", dbesc($xchan) ); + + // Cannot delete just one side of the conversation since we do not allow + // you to block private mail replies. This would leave open a gateway for abuse. + // Both participants are owners of the conversation and both can remove it. + $r = q("delete from mail where ( from_xchan = '%s' or to_xchan = '%s' )", dbesc($xchan), dbesc($xchan) |