X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fconversation.php;h=3d13a1179882d6c269079c981e3adc62d47c6a88;hb=dd09c2d125a109de6089a2122faa4e9c2ecd8f5d;hp=d40b2ea7e8e6a0f28a66e7c0a318ca514f08edc8;hpb=4c35a6b0d7e2f2431571d63888816ecff446d258;p=friendica.git
diff --git a/include/conversation.php b/include/conversation.php
old mode 100644
new mode 100755
index d40b2ea7e8..3d13a11798
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -4,6 +4,28 @@
* Render actions localized
*/
function localize_item(&$item){
+
+ $Text = $item['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/' . $item['contact-id']
+ . '?f=1&url=' . '$1' . '][!#saved_image#!][/url]' ;
+
+ $Text = preg_replace($search,$replace,$Text);
+
+ if(strlen($saved_image))
+ $item['body'] = str_replace('[!#saved_image#!]', '[img]' . $saved_image . '[/img]',$Text);
+ }
+
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
if ($item['verb']=== ACTIVITY_LIKE || $item['verb']=== ACTIVITY_DISLIKE){
@@ -116,6 +138,34 @@ function localize_item(&$item){
$item['body'] = sprintf( t('%1$s tagged %2$s\'s %3$s with %4$s'), $author, $objauthor, $plink, $tag );
}
+ if ($item['verb']=== ACTIVITY_FAVORITE){
+
+ if ($item['object-type']== "")
+ return;
+
+ $Aname = $item['author-name'];
+ $Alink = $item['author-link'];
+
+ $xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
+
+ $obj = parse_xml_string($xmlhead.$item['object']);
+ if(strlen($obj->id)) {
+ $r = q("select * from item where uri = '%s' and uid = %d limit 1",
+ dbesc($obj->id),
+ intval($item['uid'])
+ );
+ if(count($r) && $r[0]['plink']) {
+ $target = $r[0];
+ $Bname = $target['author-name'];
+ $Blink = $target['author-link'];
+ $A = '[url=' . $Alink . ']' . $Aname . '[/url]';
+ $B = '[url=' . $Blink . ']' . $Bname . '[/url]';
+ $P = '[url=' . $target['plink'] . ']' . t('post/item') . '[/url]';
+ $item['body'] = sprintf( t('%1$s marked %2$s\'s %3$s as favorite'), $A, $B, $P)."\n";
+
+ }
+ }
+ }
}
@@ -129,13 +179,15 @@ function localize_item(&$item){
* that are based on unique features of the calling module.
*
*/
-function conversation(&$a, $items, $mode, $update) {
+function conversation(&$a, $items, $mode, $update, $preview = false) {
require_once('bbcode.php');
$profile_owner = 0;
$page_writeable = false;
+ $previewing = (($preview) ? ' preview ' : '');
+
if($mode === 'network') {
$profile_owner = local_user();
$page_writeable = true;
@@ -168,6 +220,10 @@ function conversation(&$a, $items, $mode, $update) {
load_contact_links(local_user());
+ $cb = array('items' => $items, 'mode' => $mode, 'update' => $update, 'preview' => $preview);
+ call_hooks('conversation_start',$cb);
+
+ $items = $cb['items'];
$cmnt_tpl = get_markup_template('comment_item.tpl');
$tpl = get_markup_template('wall_item.tpl');
@@ -228,15 +284,10 @@ function conversation(&$a, $items, $mode, $update) {
else
$profile_avatar = ((strlen($item['author-avatar'])) ? $item['author-avatar'] : $item['thumb']);
- $location = (($item['location']) ? '' . $item['location'] . '' : '');
- $coord = (($item['coord']) ? '' . $item['coord'] . '' : '');
- if($coord) {
- if($location)
- $location .= '
(' . $coord . ')';
- else
- $location = '' . $coord . '';
- }
+ $locate = array('location' => $item['location'], 'coord' => $item['coord'], 'html' => '');
+ call_hooks('render_location',$locate);
+ $location = ((strlen($locate['html'])) ? $locate['html'] : render_location_google($locate));
localize_item($item);
if($mode === 'network-new')
@@ -261,7 +312,7 @@ function conversation(&$a, $items, $mode, $update) {
$body = prepare_body($item,true);
$tmp_item = replace_macros($tpl,array(
- '$id' => $item['item_id'],
+ '$id' => (($preview) ? 'P0' : $item['item_id']),
'$linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])),
'$profile_url' => $profile_link,
'$item_photo_menu' => item_photo_menu($item),
@@ -287,7 +338,8 @@ function conversation(&$a, $items, $mode, $update) {
'$like' => '',
'$dislike' => '',
'$comment' => '',
- '$conv' => array('href'=> $a->get_baseurl() . '/display/' . $nickname . '/' . $item['id'], 'title'=> t('View in context')),
+ '$conv' => (($preview) ? '' : array('href'=> $a->get_baseurl() . '/display/' . $nickname . '/' . $item['id'], 'title'=> t('View in context'))),
+ '$previewing' => $previewing,
'$wait' => t('Please wait'),
));
@@ -459,7 +511,7 @@ function conversation(&$a, $items, $mode, $update) {
}
$likebuttons = '';
- $shareable = ((($profile_owner == local_user()) && ($mode != 'display') && (! $item['private'])) ? true : false);
+ $shareable = ((($profile_owner == local_user()) && (! $item['private'])) ? true : false); //($mode != 'display') &&
if($page_writeable) {
if($toplevelpost) {
@@ -470,6 +522,10 @@ function conversation(&$a, $items, $mode, $update) {
if ($shareable) $likebuttons['share'] = array( t('Share this'), t('share'));
}
+
+ $qc = ((local_user()) ? get_pconfig(local_user(),'qcomment','words') : null);
+ $qcomment = (($qc) ? explode("\n",$qc) : null);
+
if(($show_comment_box) || (($show_comment_box == false) && ($override_comment_box == false) && ($item['last-child']))) {
$comment = replace_macros($cmnt_tpl,array(
'$return_path' => '',
@@ -477,12 +533,14 @@ function conversation(&$a, $items, $mode, $update) {
'$type' => (($mode === 'profile') ? 'wall-comment' : 'net-comment'),
'$id' => $item['item_id'],
'$parent' => $item['parent'],
+ '$qcomment' => $qcomment,
'$profile_uid' => $profile_owner,
'$mylink' => $a->contact['url'],
'$mytitle' => t('This is you'),
'$myphoto' => $a->contact['thumb'],
'$comment' => t('Comment'),
'$submit' => t('Submit'),
+ '$preview' => t('Preview'),
'$ww' => (($mode === 'network') ? $commentww : '')
));
}
@@ -558,16 +616,10 @@ function conversation(&$a, $items, $mode, $update) {
$like = ((x($alike,$item['id'])) ? format_like($alike[$item['id']],$alike[$item['id'] . '-l'],'like',$item['id']) : '');
$dislike = ((x($dlike,$item['id'])) ? format_like($dlike[$item['id']],$dlike[$item['id'] . '-l'],'dislike',$item['id']) : '');
- $location = (($item['location']) ? '' . $item['location'] . '' : '');
- $coord = (($item['coord']) ? '' . $item['coord'] . '' : '');
- if($coord) {
- if($location)
- $location .= '
(' . $coord . ')';
- else
- $location = '' . $coord . '';
- }
+ $locate = array('location' => $item['location'], 'coord' => $item['coord'], 'html' => '');
+ call_hooks('render_location',$locate);
+
+ $location = ((strlen($locate['html'])) ? $locate['html'] : render_location_google($locate));
$indent = (($toplevelpost) ? '' : ' comment');
@@ -584,11 +636,9 @@ function conversation(&$a, $items, $mode, $update) {
if ($tag!="") $tags[] = bbcode($tag);
}
-
// Build the HTML
$body = prepare_body($item,true);
-
$tmp_item = replace_macros($template,array(
'$type' => implode("",array_slice(split("/",$item['verb']),-1)),
@@ -623,6 +673,7 @@ function conversation(&$a, $items, $mode, $update) {
'$like' => $like,
'$dislike' => $dislike,
'$comment' => $comment,
+ '$previewing' => $previewing,
'$wait' => t('Please wait'),
));
@@ -724,10 +775,12 @@ function item_photo_menu($item){
);
- $args = array($item, &$menu);
+ $args = array('item' => $item, 'menu' => $menu);
call_hooks('item_photo_menu', $args);
-
+
+ $menu = $args['menu'];
+
$o = "";
foreach($menu as $k=>$v){
if ($v!="") $o .= "