X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fconversation.php;h=a52502ec3923a226a4e7c2b4e830872f86e8838a;hb=d5c1ce490b8fb0cd5abfad4db3655016954217d5;hp=8e1793d699513aaff0c87020e8185805437ec033;hpb=dbf1f9efcd929894864262fb44bce0cafe7aad9e;p=friendica.git
diff --git a/include/conversation.php b/include/conversation.php
index 8e1793d699..a52502ec39 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -100,7 +100,7 @@ function localize_item(&$item){
$item['body'] = item_redir_and_replace_images($extracted['body'], $extracted['images'], $item['contact-id']);
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
- if (activity_match($item['verb'],ACTIVITY_LIKE)
+ if (activity_match($item['verb'],ACTIVITY_LIKE)
|| activity_match($item['verb'],ACTIVITY_DISLIKE)
|| activity_match($item['verb'],ACTIVITY_ATTEND)
|| activity_match($item['verb'],ACTIVITY_ATTENDNO)
@@ -354,7 +354,7 @@ function count_descendants($item) {
function visible_activity($item) {
- // likes (etc.) can apply to other things besides posts. Check if they are post children,
+ // likes (etc.) can apply to other things besides posts. Check if they are post children,
// in which case we handle them specially
$hidden_activities = array(ACTIVITY_LIKE, ACTIVITY_DISLIKE, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE);
@@ -505,7 +505,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$hide_comments_tpl = get_markup_template('hide_comments.tpl');
$conv_responses = array(
- 'like' => array('title' => t('Likes','title')), 'dislike' => array('title' => t('Dislikes','title')),
+ 'like' => array('title' => t('Likes','title')), 'dislike' => array('title' => t('Dislikes','title')),
'attendyes' => array('title' => t('Attending','title')), 'attendno' => array('title' => t('Not attending','title')), 'attendmaybe' => array('title' => t('Might attend','title'))
);
@@ -614,7 +614,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
if(($normalised != 'mailbox') && (x($a->contacts[$normalised])))
$profile_avatar = $a->contacts[$normalised]['thumb'];
else
- $profile_avatar = ((strlen($item['author-avatar'])) ? $a->get_cached_avatar_image($item['author-avatar']) : $item['thumb']);
+ $profile_avatar = $a->remove_baseurl(((strlen($item['author-avatar'])) ? $item['author-avatar'] : $item['thumb']));
$locate = array('location' => $item['location'], 'coord' => $item['coord'], 'html' => '');
call_hooks('render_location',$locate);
@@ -707,8 +707,8 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
'like' => '',
'dislike' => '',
'comment' => '',
- //'conv' => (($preview) ? '' : array('href'=> $a->get_baseurl($ssl_state) . '/display/' . $nickname . '/' . $item['id'], 'title'=> t('View in context'))),
- 'conv' => (($preview) ? '' : array('href'=> $a->get_baseurl($ssl_state) . '/display/'.$item['guid'], 'title'=> t('View in context'))),
+ //'conv' => (($preview) ? '' : array('href'=> 'display/' . $nickname . '/' . $item['id'], 'title'=> t('View in context'))),
+ 'conv' => (($preview) ? '' : array('href'=> 'display/'.$item['guid'], 'title'=> t('View in context'))),
'previewing' => $previewing,
'wait' => t('Please wait'),
'thread_level' => 1,
@@ -811,16 +811,16 @@ function best_link_url($item,&$sparkle,$ssl_state = false) {
if((local_user()) && (local_user() == $item['uid'])) {
if(isset($a->contacts) && x($a->contacts,$clean_url)) {
if($a->contacts[$clean_url]['network'] === NETWORK_DFRN) {
- $best_url = $a->get_baseurl($ssl_state) . '/redir/' . $a->contacts[$clean_url]['id'];
+ $best_url = 'redir/'.$a->contacts[$clean_url]['id'];
$sparkle = true;
} else
$best_url = $a->contacts[$clean_url]['url'];
}
} elseif (local_user()) {
- $r = q("SELECT `id`, `network` FROM `contact` WHERE `network` = '%s' AND `uid` = %d AND `nurl` = '%s'",
+ $r = q("SELECT `id` FROM `contact` WHERE `network` = '%s' AND `uid` = %d AND `nurl` = '%s' LIMIT 1",
dbesc(NETWORK_DFRN), intval(local_user()), dbesc(normalise_link($clean_url)));
if ($r) {
- $best_url = $a->get_baseurl($ssl_state).'/redir/'.$r[0]['id'];
+ $best_url = 'redir/'.$r[0]['id'];
$sparkle = true;
}
}
@@ -868,7 +868,7 @@ function item_photo_menu($item){
$status_link = $profile_link . "?url=status";
$photos_link = $profile_link . "?url=photos";
$profile_link = $profile_link . "?url=profile";
- $pm_url = $a->get_baseurl($ssl_state) . '/message/new/' . $cid;
+ $pm_url = 'message/new/' . $cid;
$zurl = '';
}
else {
@@ -876,29 +876,29 @@ function item_photo_menu($item){
if(local_user() && local_user() == $item['uid'] && link_compare($item['url'],$item['author-link'])) {
$cid = $item['contact-id'];
} else {
- $r = q("SELECT `id`, `network` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' ORDER BY `uid` DESC LIMIT 1",
+ $r = q("SELECT `id`, `network` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' LIMIT 1",
intval(local_user()), dbesc(normalise_link($item['author-link'])));
if ($r) {
$cid = $r[0]["id"];
if ($r[0]["network"] == NETWORK_DIASPORA)
- $pm_url = $a->get_baseurl($ssl_state) . '/message/new/' . $cid;
+ $pm_url = 'message/new/' . $cid;
} else
$cid = 0;
}
}
if(($cid) && (! $item['self'])) {
- $poke_link = $a->get_baseurl($ssl_state) . '/poke/?f=&c=' . $cid;
- $contact_url = $a->get_baseurl($ssl_state) . '/contacts/' . $cid;
- $posts_link = $a->get_baseurl($ssl_state) . '/network/0?nets=all&cid=' . $cid;
+ $poke_link = 'poke/?f=&c=' . $cid;
+ $contact_url = 'contacts/' . $cid;
+ $posts_link = 'contacts/' . $cid . '/posts';
$clean_url = normalise_link($item['author-link']);
if((local_user()) && (local_user() == $item['uid'])) {
if(isset($a->contacts) && x($a->contacts,$clean_url)) {
if($a->contacts[$clean_url]['network'] === NETWORK_DIASPORA) {
- $pm_url = $a->get_baseurl($ssl_state) . '/message/new/' . $cid;
+ $pm_url = 'message/new/' . $cid;
}
}
}
@@ -921,7 +921,7 @@ function item_photo_menu($item){
if ((($cid == 0) OR ($a->contacts[$clean_url]['rel'] == CONTACT_IS_FOLLOWER)) AND
in_array($item['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA)))
- $menu[t("Connect/Follow")] = $a->get_baseurl($ssl_state)."/follow?url=".urlencode($item['author-link']);
+ $menu[t("Connect/Follow")] = "follow?url=".urlencode($item['author-link']);
} else
$menu = array(t("View Profile") => $item['author-link']);
@@ -946,12 +946,11 @@ function item_photo_menu($item){
* @brief Checks item to see if it is one of the builtin activities (like/dislike, event attendance, consensus items, etc.)
* Increments the count of each matching activity and adds a link to the author as needed.
*
- * @param array $a (not used)
* @param array $item
* @param array &$conv_responses (already created with builtin activity structure)
* @return void
*/
-if(! function_exists(builtin_activity_puller)) {
+if(! function_exists('builtin_activity_puller')) {
function builtin_activity_puller($item, &$conv_responses) {
foreach($conv_responses as $mode => $v) {
$url = '';
@@ -981,18 +980,18 @@ function builtin_activity_puller($item, &$conv_responses) {
if((activity_match($item['verb'], $verb)) && ($item['id'] != $item['parent'])) {
$url = $item['author-link'];
if((local_user()) && (local_user() == $item['uid']) && ($item['network'] === NETWORK_DFRN) && (! $item['self']) && (link_compare($item['author-link'],$item['url']))) {
- $url = z_root(true) . '/redir/' . $item['contact-id'];
+ $url = 'redir/' . $item['contact-id'];
$sparkle = ' class="sparkle" ';
}
- else
+ else
$url = zrl($url);
-
+
$url = '' . htmlentities($item['author-name']) . '';
if(! $item['thr-parent'])
$item['thr-parent'] = $item['parent-uri'];
- if(! ((isset($conv_responses[$mode][$item['thr-parent'] . '-l']))
+ if(! ((isset($conv_responses[$mode][$item['thr-parent'] . '-l']))
&& (is_array($conv_responses[$mode][$item['thr-parent'] . '-l']))))
$conv_responses[$mode][$item['thr-parent'] . '-l'] = array();
@@ -1064,9 +1063,9 @@ function format_like($cnt,$arr,$type,$id) {
}
$likers = $str;
-
+
$spanatts = "class=\"fakelink\" onclick=\"openClose('{$type}list-$id');\"";
-
+
switch($type) {
case 'like':
$phrase = sprintf( t('%2$d people like this'), $spanatts, $cnt);
@@ -1179,7 +1178,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
$o .= replace_macros($tpl,array(
'$return_path' => $query_str,
- '$action' => $a->get_baseurl(true) . '/item',
+ '$action' => 'item',
'$share' => (x($x,'button') ? $x['button'] : t('Share')),
'$upload' => t('Upload photo'),
'$shortupload' => t('upload photo'),
@@ -1291,6 +1290,15 @@ function conv_sort($arr,$order) {
$parents = array();
$children = array();
+ $newarr = array();
+
+ // This is a preparation for having two different items with the same uri in one thread
+ // This will otherwise lead to an endless loop.
+ foreach($arr as $x)
+ if (!isset($newarr[$x['uri']]))
+ $newarr[$x['uri']] = $x;
+
+ $arr = $newarr;
foreach($arr as $x)
if($x['id'] == $x['parent'])
@@ -1373,7 +1381,7 @@ function get_responses($conv_responses,$response_verbs,$ob,$item) {
$ret[$v]['list'] = ((x($conv_responses[$v],$item['uri'])) ? $conv_responses[$v][$item['uri'] . '-l'] : '');
if(count($ret[$v]['list']) > MAX_LIKERS) {
$ret[$v]['list_part'] = array_slice($ret[$v]['list'], 0, MAX_LIKERS);
- array_push($ret[$v]['list_part'], '' . t('View all') . '');
}
else {