diff options
author | Max Kostikov <max@kostikov.co> | 2018-10-05 11:16:29 +0000 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2018-10-08 11:20:34 +0200 |
commit | 2ba95758ebd0f9e662fbc50bed9a8dee37ef4933 (patch) | |
tree | 3ec7cd8a8b574e800da5ee18b756e02abf60f4b9 /include/text.php | |
parent | 82528e2f383ec6d99a125f710a8fd98f472e1fa6 (diff) | |
download | volse-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/text.php')
-rw-r--r-- | include/text.php | 4 |
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; } |