aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMax Kostikov <max@kostikov.co>2018-10-05 11:16:29 +0000
committerMario <mario@mariovavti.com>2018-10-08 11:20:34 +0200
commit2ba95758ebd0f9e662fbc50bed9a8dee37ef4933 (patch)
tree3ec7cd8a8b574e800da5ee18b756e02abf60f4b9 /include
parent82528e2f383ec6d99a125f710a8fd98f472e1fa6 (diff)
downloadvolse-hubzilla-2ba95758ebd0f9e662fbc50bed9a8dee37ef4933.tar.gz
volse-hubzilla-2ba95758ebd0f9e662fbc50bed9a8dee37ef4933.tar.bz2
volse-hubzilla-2ba95758ebd0f9e662fbc50bed9a8dee37ef4933.zip
Prevent links damage on foreign channel repost for cloned
(cherry picked from commit d9efb037e3d0c14fa288e8b54c3d55d67689ab54)
Diffstat (limited to 'include')
-rw-r--r--include/text.php4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/text.php b/include/text.php
index f03d0b860..1d884593f 100644
--- a/include/text.php
+++ b/include/text.php
@@ -2965,7 +2965,9 @@ function item_url_replace($channel,&$item,$old,$new,$oldnick = '') {
json_url_replace('/' . $oldnick . '/' ,'/' . $channel['channel_address'] . '/' ,$item['target']);
}
- if(string_replace($old,$new,$item['body'])) {
+ $x = preg_replace("/".preg_quote($old,'/')."\/(search|\w+\/".$channel['channel_address'].")/", $new.'/${1}', $item['body']);
+ if($x) {
+ $item['body'] = $x;
$item['sig'] = base64url_encode(rsa_sign($item['body'],$channel['channel_prvkey']));
$item['item_verified'] = 1;
}