X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fconversation.php;h=0e814c6665d394ecf6b75575c4b5c6724f0e8cc9;hb=3b2cd854837e5df38f75f323aab24e31098812d4;hp=bd6e714654cca2fdf6512afcfbb04665ee7d4f31;hpb=390e34d587ef5bd09759ce63e7e64518398b2018;p=friendica.git diff --git a/include/conversation.php b/include/conversation.php index bd6e714654..0e814c6665 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -1,6 +1,10 @@ array('tid'))); + while ($tag = dba::fetch($taglist)) { if ($tag["url"] == "") { $tag["url"] = $searchpath . strtolower($tag["term"]); } + $tag["url"] = best_link_url($item, $sp, $tag["url"]); + if ($tag["type"] == TERM_HASHTAG) { $hashtags[] = "#" . $tag["term"] . ""; $prefix = "#"; @@ -698,9 +714,10 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { } $tags[] = $prefix."" . $tag["term"] . ""; } + dba::close($taglist); $sp = false; - $profile_link = best_link_url($item,$sp); + $profile_link = best_link_url($item, $sp); if ($profile_link === 'mailbox') { $profile_link = ''; } @@ -786,6 +803,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { $tmp_item = array( 'template' => $tpl, 'id' => (($preview) ? 'P0' : $item['item_id']), + 'guid' => (($preview) ? 'Q0' : $item['guid']), 'network' => $item['item_network'], 'network_name' => network_to_name($item['item_network'], $profile_link), 'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])), @@ -794,7 +812,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { 'name' => $profile_name_e, 'sparkle' => $sparkle, 'lock' => $lock, - 'thumb' => App::remove_baseurl(proxy_url($item['author-thumb'], false, PROXY_SIZE_THUMB)), + 'thumb' => System::removedBaseUrl(proxy_url($item['author-thumb'], false, PROXY_SIZE_THUMB)), 'title' => $item['title_e'], 'body' => $body_e, 'tags' => $tags_e, @@ -813,7 +831,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { 'indent' => '', 'owner_name' => $owner_name_e, 'owner_url' => $owner_url, - 'owner_photo' => App::remove_baseurl(proxy_url($item['owner-thumb'], false, PROXY_SIZE_THUMB)), + 'owner_photo' => System::removedBaseUrl(proxy_url($item['owner-thumb'], false, PROXY_SIZE_THUMB)), 'plink' => get_plink($item), 'edpost' => false, 'isstarred' => $isstarred, @@ -900,7 +918,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { } $o = replace_macros($page_template, array( - '$baseurl' => App::get_baseurl($ssl_state), + '$baseurl' => System::baseUrl($ssl_state), '$return_path' => $a->query_string, '$live_update' => $live_update_div, '$remove' => t('remove'), @@ -913,7 +931,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { return $o; }} -function best_link_url($item, &$sparkle, $ssl_state = false) { +function best_link_url($item, &$sparkle, $url = '') { $best_url = ''; $sparkle = false; @@ -921,15 +939,26 @@ function best_link_url($item, &$sparkle, $ssl_state = false) { $clean_url = normalise_link($item['author-link']); if (local_user()) { - $r = q("SELECT `id` FROM `contact` WHERE `network` = '%s' AND `uid` = %d AND `nurl` = '%s' AND NOT `pending` LIMIT 1", - dbesc(NETWORK_DFRN), intval(local_user()), dbesc(normalise_link($clean_url))); - if (dbm::is_result($r)) { - $best_url = 'redir/' . $r[0]['id']; + $r = dba::select('contact', array('id'), + array('network' => NETWORK_DFRN, 'uid' => local_user(), 'nurl' => normalise_link($clean_url), 'pending' => false), + array('limit' => 1)); + if (DBM::is_result($r)) { + $best_url = 'redir/' . $r['id']; $sparkle = true; + if ($url != '') { + $hostname = get_app()->get_hostname(); + if (!strstr($url, $hostname)) { + $best_url .= "?url=".$url; + } else { + $best_url = $url; + } + } } } if (! $best_url) { - if (strlen($item['author-link'])) { + if ($url != '') { + $best_url = $url; + } elseif (strlen($item['author-link'])) { $best_url = $item['author-link']; } else { $best_url = $item['url']; @@ -940,14 +969,7 @@ function best_link_url($item, &$sparkle, $ssl_state = false) { } -if (! function_exists('item_photo_menu')) { function item_photo_menu($item) { - $ssl_state = false; - - if (local_user()) { - $ssl_state = true; - } - $sub_link = ''; $poke_link = ''; $contact_url = ''; @@ -962,7 +984,7 @@ function item_photo_menu($item) { } $sparkle = false; - $profile_link = best_link_url($item, $sparkle, $ssl_state); + $profile_link = best_link_url($item, $sparkle); if ($profile_link === 'mailbox') { $profile_link = ''; } @@ -970,12 +992,11 @@ function item_photo_menu($item) { $cid = 0; $network = ''; $rel = 0; - $r = q("SELECT `id`, `network`, `rel` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' LIMIT 1", - intval(local_user()), dbesc(normalise_link($item['author-link']))); - if (dbm::is_result($r)) { - $cid = $r[0]['id']; - $network = $r[0]['network']; - $rel = $r[0]['rel']; + $r = dba::select('contact', array('id', 'network', 'rel'), array('uid' => local_user(), 'nurl' => normalise_link($item['author-link'])), array('limit' => 1)); + if (DBM::is_result($r)) { + $cid = $r['id']; + $network = $r['network']; + $rel = $r['rel']; } if ($sparkle) { @@ -1036,7 +1057,7 @@ function item_photo_menu($item) { } } return $o; -}} +} if (! function_exists('builtin_activity_puller')) { /** @@ -1217,7 +1238,7 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false) { $tpl = get_markup_template('jot-header.tpl'); $a->page['htmlhead'] .= replace_macros($tpl, array( '$newpost' => 'true', - '$baseurl' => App::get_baseurl(true), + '$baseurl' => System::baseUrl(true), '$geotag' => $geotag, '$nickname' => $x['nickname'], '$ispublic' => t('Visible to everybody'), @@ -1233,7 +1254,7 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false) { $tpl = get_markup_template('jot-end.tpl'); $a->page['end'] .= replace_macros($tpl, array( '$newpost' => 'true', - '$baseurl' => App::get_baseurl(true), + '$baseurl' => System::baseUrl(true), '$geotag' => $geotag, '$nickname' => $x['nickname'], '$ispublic' => t('Visible to everybody'), @@ -1301,7 +1322,7 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false) { '$ptyp' => (($notes_cid) ? 'note' : 'wall'), '$content' => $x['content'], '$post_id' => $x['post_id'], - '$baseurl' => App::get_baseurl(true), + '$baseurl' => System::baseUrl(true), '$defloc' => $x['default_location'], '$visitor' => $x['visitor'], '$pvisit' => (($notes_cid) ? 'none' : $x['visitor']), @@ -1345,7 +1366,7 @@ function get_item_children($arr, $parent) { $a = get_app(); foreach ($arr as $item) { if ($item['id'] != $item['parent']) { - if (get_config('system', 'thread_allow') && $a->theme_thread_allow) { + if (Config::get('system', 'thread_allow') && $a->theme_thread_allow) { // Fallback to parent-uri if thr-parent is not set $thr_parent = $item['thr-parent']; if ($thr_parent == '') {