aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/conversation.php46
-rw-r--r--include/text.php6
2 files changed, 32 insertions, 20 deletions
diff --git a/include/conversation.php b/include/conversation.php
index 29c5938b0..65110fc72 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -1,8 +1,11 @@
<?php
+require_once('include/items.php');
+
// Note: the code in 'item_extract_images' and 'item_redir_and_replace_images'
// is identical to the code in mod/message.php for 'item_extract_images' and
// 'item_redir_and_replace_images'
+
if(! function_exists('item_extract_images')) {
function item_extract_images($body) {
@@ -51,10 +54,13 @@ function item_redir_and_replace_images($body, $images, $cid) {
$origbody = $body;
$newbody = '';
+ $observer = get_app()->get_observer();
+ $obhash = (($observer) ? $observer['xchan_hash'] : '');
+ $obaddr = (($observer) ? $observer['xchan_addr'] : '');
+
for($i = 0; $i < count($images); $i++) {
$search = '/\[url\=(.*?)\]\[!#saved_image' . $i . '#!\]\[\/url\]' . '/is';
- $replace = '[url=' . z_path() . '/redir/' . $cid
- . '?f=1&url=' . '$1' . '][!#saved_image' . $i . '#!][/url]' ;
+ $replace = '[url=' . magiclink_url($obhash,$obaddr,'$1') . '][!#saved_image' . $i . '#!][/url]' ;
$img_end = strpos($origbody, '[!#saved_image' . $i . '#!][/url]') + strlen('[!#saved_image' . $i . '#!][/url]');
$process_part = substr($origbody, 0, $img_end);
@@ -108,8 +114,8 @@ function localize_item(&$item){
if($author_link && $author_name && $item_url) {
- $author = '[url=' . zid($item['author']['xchan_url']) . ']' . $item['author']['xchan_name'] . '[/url]';
- $objauthor = '[url=' . zid($author_link) . ']' . $author_name . '[/url]';
+ $author = '[url=' . chanlink_url($item['author']['xchan_url']) . ']' . $item['author']['xchan_name'] . '[/url]';
+ $objauthor = '[url=' . chanlink_url($author_link) . ']' . $author_name . '[/url]';
switch($obj->type) {
case ACTIVITY_OBJ_PHOTO:
@@ -160,11 +166,11 @@ function localize_item(&$item){
$Bname = $obj['title'];
- $A = '[url=' . zid($Alink) . ']' . $Aname . '[/url]';
- $B = '[url=' . zid($Blink) . ']' . $Bname . '[/url]';
- if ($Bphoto!="") $Bphoto = '[url=' . zid($Blink) . '][img=80x80]' . $Bphoto . '[/img][/url]';
+ $A = '[url=' . chanlink_url($Alink) . ']' . $Aname . '[/url]';
+ $B = '[url=' . chanlink_url($Blink) . ']' . $Bname . '[/url]';
+ if ($Bphoto!="") $Bphoto = '[url=' . chanlink_url($Blink) . '][img=80x80]' . $Bphoto . '[/img][/url]';
- $item['body'] = $item['localize'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B);
+ $item['body'] = $item['localize'] = sprintf( t('%1$s is now connected with %2$s'), $A, $B);
$item['body'] .= "\n\n\n" . $Bphoto;
}
@@ -188,9 +194,9 @@ function localize_item(&$item){
}
$Bname = $obj['title'];
- $A = '[url=' . zid($Alink) . ']' . $Aname . '[/url]';
- $B = '[url=' . zid($Blink) . ']' . $Bname . '[/url]';
- if ($Bphoto!="") $Bphoto = '[url=' . zid($Blink) . '][img=80x80]' . $Bphoto . '[/img][/url]';
+ $A = '[url=' . chanlink_url($Alink) . ']' . $Aname . '[/url]';
+ $B = '[url=' . chanlink_url($Blink) . ']' . $Bname . '[/url]';
+ if ($Bphoto!="") $Bphoto = '[url=' . chanlink_url($Blink) . '][img=80x80]' . $Bphoto . '[/img][/url]';
// we can't have a translation string with three positions but no distinguishable text
// So here is the translate string.
@@ -215,7 +221,7 @@ function localize_item(&$item){
$Aname = $item['author']['xchan_name'];
$Alink = $item['author']['xchan_url'];
- $A = '[url=' . zid($Alink) . ']' . $Aname . '[/url]';
+ $A = '[url=' . chanlink_url($Alink) . ']' . $Aname . '[/url]';
$txt = t('%1$s is currently %2$s');
@@ -304,19 +310,19 @@ function localize_item(&$item){
// add zid's to public images
if(preg_match_all('/\[url=(.*?)\/photos\/(.*?)\/image\/(.*?)\]\[img(.*?)\]h(.*?)\[\/img\]\[\/url\]/is',$item['body'],$matches,PREG_SET_ORDER)) {
foreach($matches as $mtch) {
- $item['body'] = str_replace($mtch[0],'[url=' . zid($mtch[1] . '/photos/' . $mtch[2] . '/image/' . $mtch[3] ,true) . '][img' . $mtch[4] . ']h' . $mtch[5] . '[/img][/url]',$item['body']);
+ $item['body'] = str_replace($mtch[0],'[url=' . chanlink_url($mtch[1] . '/photos/' . $mtch[2] . '/image/' . $mtch[3] ,true) . '][img' . $mtch[4] . ']h' . $mtch[5] . '[/img][/url]',$item['body']);
}
}
// add sparkle links to appropriate permalinks
- $x = stristr($item['plink'],'/display/');
- if($x) {
- $sparkle = false;
- $y = best_link_url($item,$sparkle,true);
- if($sparkle)
- $item['plink'] = $y . '?f=&url=' . $item['plink'];
- }
+// $x = stristr($item['plink'],'/display/');
+// if($x) {
+// $sparkle = false;
+// $y = best_link_url($item,$sparkle,true);
+ // if($sparkle)
+// $item['plink'] = $y . '?f=&url=' . $item['plink'];
+// }
}
/**
diff --git a/include/text.php b/include/text.php
index 167fbb1df..90cd86a5f 100644
--- a/include/text.php
+++ b/include/text.php
@@ -620,6 +620,12 @@ function chanlink_cid($d) {
return z_root() . '/chanview?f=&cid=' . intval($d);
}
+function magiclink_url($observer,$myaddr,$url) {
+ return (($observer)
+ ? z_root() . '/magic?f=&dest=' . $url . '&addr=' . $myaddr
+ : $url
+ );
+}
if(! function_exists('micropro')) {