X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fconversation.php;h=0e814c6665d394ecf6b75575c4b5c6724f0e8cc9;hb=3b2cd854837e5df38f75f323aab24e31098812d4;hp=5591a4d1c53aabfe279ae14658b8b070bce85da3;hpb=577e93e9fcf5e17eeabe575c06ae2de46441ecb1;p=friendica.git
diff --git a/include/conversation.php b/include/conversation.php
index 5591a4d1c5..0e814c6665 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -1,9 +1,14 @@
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 = '';
}
@@ -711,7 +728,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
$profile_link = zrl($profile_link);
}
- if (!x($item, 'author-thumb') OR ($item['author-thumb'] == "")) {
+ if (!x($item, 'author-thumb') || ($item['author-thumb'] == "")) {
$author_contact = get_contact_details_by_url($item['author-link'], $profile_owner);
if ($author_contact["thumb"]) {
$item['author-thumb'] = $author_contact["thumb"];
@@ -720,7 +737,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
}
}
- if (!isset($item['owner-thumb']) OR ($item['owner-thumb'] == "")) {
+ if (!isset($item['owner-thumb']) || ($item['owner-thumb'] == "")) {
$owner_contact = get_contact_details_by_url($item['owner-link'], $profile_owner);
if ($owner_contact["thumb"]) {
$item['owner-thumb'] = $owner_contact["thumb"];
@@ -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,20 +918,20 @@ 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'),
'$mode' => $mode,
'$user' => $a->user,
'$threads' => $threads,
- '$dropping' => ($page_dropping && feature_enabled(local_user(),'multi_delete') ? t('Delete Selected Items') : False),
+ '$dropping' => ($page_dropping && feature_enabled(local_user(), 'multi_delete') ? t('Delete Selected Items') : 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) {
@@ -1012,7 +1033,7 @@ function item_photo_menu($item) {
$menu[t("Poke")] = $poke_link;
}
- if ((($cid == 0) OR ($rel == CONTACT_IS_FOLLOWER)) AND
+ if ((($cid == 0) || ($rel == CONTACT_IS_FOLLOWER)) &&
in_array($item['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA))) {
$menu[t('Connect/Follow')] = 'follow?url=' . urlencode($item['author-link']);
}
@@ -1036,7 +1057,7 @@ function item_photo_menu($item) {
}
}
return $o;
-}}
+}
if (! function_exists('builtin_activity_puller')) {
/**
@@ -1155,8 +1176,9 @@ function format_like($cnt, array $arr, $type, $id) {
if ($cnt > 1) {
$total = count($arr);
- if ($total >= MAX_LIKERS)
+ if ($total >= MAX_LIKERS) {
$arr = array_slice($arr, 0, MAX_LIKERS - 1);
+ }
if ($total < MAX_LIKERS) {
$last = t('and') . ' ' . $arr[count($arr)-1];
$arr2 = array_slice($arr, 0, -1);
@@ -1208,7 +1230,7 @@ function format_like($cnt, array $arr, $type, $id) {
return $o;
}}
-function status_editor($a,$x, $notes_cid = 0, $popup = false) {
+function status_editor(App $a, $x, $notes_cid = 0, $popup = false) {
$o = '';
$geotag = (x($x, 'allow_location') ? replace_macros(get_markup_template('jot_geotag.tpl'), array()) : '');
@@ -1216,7 +1238,7 @@ function status_editor($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'),
@@ -1232,7 +1254,7 @@ function status_editor($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'),
@@ -1249,7 +1271,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup = false) {
// Private/public post links for the non-JS ACL form
$private_post = 1;
- if ($_REQUEST['public']) {
+ if (x($_REQUEST, 'public')) {
$private_post = 0;
}
@@ -1293,14 +1315,14 @@ function status_editor($a,$x, $notes_cid = 0, $popup = false) {
'$title' => $x['title'],
'$placeholdertitle' => t('Set title'),
'$category' => $x['category'],
- '$placeholdercategory' => (feature_enabled(local_user(),'categories') ? t('Categories (comma-separated list)') : ''),
+ '$placeholdercategory' => (feature_enabled(local_user(), 'categories') ? t('Categories (comma-separated list)') : ''),
'$wait' => t('Please wait'),
'$permset' => t('Permission settings'),
'$shortpermset' => t('permissions'),
'$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']),
@@ -1344,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 == '') {
@@ -1414,14 +1436,14 @@ function conv_sort($arr, $order) {
}
}
- if (stristr($order,'created')) {
- usort($parents,'sort_thr_created');
- } elseif (stristr($order,'commented')) {
- usort($parents,'sort_thr_commented');
+ if (stristr($order, 'created')) {
+ usort($parents, 'sort_thr_created');
+ } elseif (stristr($order, 'commented')) {
+ usort($parents, 'sort_thr_commented');
}
if (count($parents)) {
- foreach ($parents as $i=>$_x) {
+ foreach ($parents as $i => $_x) {
$parents[$i]['children'] = get_item_children($arr, $_x);
}
}
@@ -1531,19 +1553,19 @@ function get_responses($conv_responses, $response_verbs, $ob, $item) {
function get_response_button_text($v, $count) {
switch ($v) {
case 'like':
- return tt('Like','Likes', $count,'noun');
+ return tt('Like', 'Likes', $count, 'noun');
break;
case 'dislike':
- return tt('Dislike','Dislikes', $count,'noun');
+ return tt('Dislike', 'Dislikes', $count, 'noun');
break;
case 'attendyes':
- return tt('Attending','Attending', $count,'noun');
+ return tt('Attending', 'Attending', $count, 'noun');
break;
case 'attendno':
- return tt('Not Attending','Not Attending', $count,'noun');
+ return tt('Not Attending', 'Not Attending', $count, 'noun');
break;
case 'attendmaybe':
- return tt('Undecided','Undecided', $count,'noun');
+ return tt('Undecided', 'Undecided', $count, 'noun');
break;
}
}