diff options
author | friendica <info@friendica.com> | 2012-04-25 05:41:32 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-04-25 05:41:32 -0700 |
commit | c9e5609cbfd89db35b536a22eb2ce6cbf7992783 (patch) | |
tree | 349bd483ccf265bef6216c041a4e4c3b587b357b /mod/message.php | |
parent | 37bc00094ec4ebbf771e0041cf285c066fad7bfe (diff) | |
download | volse-hubzilla-c9e5609cbfd89db35b536a22eb2ce6cbf7992783.tar.gz volse-hubzilla-c9e5609cbfd89db35b536a22eb2ce6cbf7992783.tar.bz2 volse-hubzilla-c9e5609cbfd89db35b536a22eb2ce6cbf7992783.zip |
bug #307, explaining decentralised private photos is impossible.
Diffstat (limited to 'mod/message.php')
-rw-r--r-- | mod/message.php | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/mod/message.php b/mod/message.php index 260f4bb14..dbca45930 100644 --- a/mod/message.php +++ b/mod/message.php @@ -313,6 +313,29 @@ function message_content(&$a) { $from_url = $a->get_baseurl(true) . '/redir/' . $message['contact-id']; $sparkle = ' sparkle'; } + + + $Text = $message['body']; + $saved_image = ''; + $img_start = strpos($Text,'[img]data:'); + $img_end = strpos($Text,'[/img]'); + + if($img_start !== false && $img_end !== false && $img_end > $img_start) { + $start_fragment = substr($Text,0,$img_start); + $img_start += strlen('[img]'); + $saved_image = substr($Text,$img_start,$img_end - $img_start); + $end_fragment = substr($Text,$img_end + strlen('[/img]')); + $Text = $start_fragment . '[!#saved_image#!]' . $end_fragment; + $search = '/\[url\=(.*?)\]\[!#saved_image#!\]\[\/url\]' . '/is'; + $replace = '[url=' . z_path() . '/redir/' . $message['contact-id'] + . '?f=1&url=' . '$1' . '][!#saved_image#!][/url]' ; + + $Text = preg_replace($search,$replace,$Text); + + if(strlen($saved_image)) + $message['body'] = str_replace('[!#saved_image#!]', '[img]' . $saved_image . '[/img]',$Text); + } + $mails[] = array( 'id' => $message['id'], 'from_name' => template_escape($message['from-name']), |