use Friendica\Core\L10n;
use Friendica\Core\System;
use Friendica\Core\Worker;
-use Friendica\Database\DBM;
+use Friendica\Database\DBA;
use Friendica\Model\Contact;
use Friendica\Model\GContact;
use Friendica\Model\Group;
$contact = null;
if ((($a->argc == 2) && intval($a->argv[1])) || (($a->argc == 3) && intval($a->argv[1]) && ($a->argv[2] == "posts"))) {
$contact_id = intval($a->argv[1]);
- $contact = dba::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user()]);
+ $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user()]);
}
- if (DBM::is_result($contact)) {
+ if (DBA::is_result($contact)) {
+ if ($contact['self']) {
+ if (($a->argc == 3) && intval($a->argv[1]) && ($a->argv[2] == "posts")) {
+ goaway('profile/' . $contact['nick']);
+ } else {
+ goaway('profile/' . $contact['nick'] . '?tab=profile');
+ }
+ }
+
$a->data['contact'] = $contact;
if (($a->data['contact']['network'] != "") && ($a->data['contact']['network'] != NETWORK_DFRN)) {
$vcard_widget = replace_macros(get_markup_template("vcard-widget.tpl"), [
'$name' => htmlentities($a->data['contact']['name']),
'$photo' => $a->data['contact']['photo'],
- '$url' => ($a->data['contact']['network'] == NETWORK_DFRN) ? "redir/" . $a->data['contact']['id'] : $a->data['contact']['url'],
+ '$url' => Contact::MagicLink($a->data['contact']['url']),
'$addr' => (($a->data['contact']['addr'] != "") ? ($a->data['contact']['addr']) : ""),
'$network_name' => $networkname,
'$network' => L10n::t('Network:'),
$findpeople_widget = Widget::findPeople();
}
- $groups_widget = Group::sidebarWidget('contacts', 'group', 'full', 0, $contact_id);
+ $groups_widget = Group::sidebarWidget('contacts', 'group', 'full', 'everyone', $contact_id);
$a->page['aside'] .= replace_macros(get_markup_template("contacts-widget-sidebar.tpl"), [
'$vcard_widget' => $vcard_widget,
return;
}
- if (!dba::exists('contact', ['id' => $contact_id, 'uid' => local_user()])) {
+ if (!DBA::exists('contact', ['id' => $contact_id, 'uid' => local_user()])) {
notice(L10n::t('Could not access contact record.') . EOL);
goaway('contacts');
return; // NOTREACHED
$profile_id = intval($_POST['profile-assign']);
if ($profile_id) {
- if (!dba::exists('profile', ['id' => $profile_id, 'uid' => local_user()])) {
+ if (!DBA::exists('profile', ['id' => $profile_id, 'uid' => local_user()])) {
notice(L10n::t('Could not locate selected profile.') . EOL);
return;
}
intval($contact_id),
intval(local_user())
);
- if (DBM::is_result($r)) {
+ if (DBA::is_result($r)) {
info(L10n::t('Contact updated.') . EOL);
} else {
notice(L10n::t('Failed to update contact record.') . EOL);
}
- $contact = dba::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user()]);
- if (DBM::is_result($contact)) {
+ $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user()]);
+ if (DBA::is_result($contact)) {
$a->data['contact'] = $contact;
}
function _contact_update($contact_id)
{
- $contact = dba::selectFirst('contact', ['uid', 'url', 'network'], ['id' => $contact_id, 'uid' => local_user()]);
- if (!DBM::is_result($contact)) {
+ $contact = DBA::selectFirst('contact', ['uid', 'url', 'network'], ['id' => $contact_id, 'uid' => local_user()]);
+ if (!DBA::is_result($contact)) {
return;
}
function _contact_update_profile($contact_id)
{
- $contact = dba::selectFirst('contact', ['uid', 'url', 'network'], ['id' => $contact_id, 'uid' => local_user()]);
- if (!DBM::is_result($contact)) {
+ $contact = DBA::selectFirst('contact', ['uid', 'url', 'network'], ['id' => $contact_id, 'uid' => local_user()]);
+ if (!DBA::is_result($contact)) {
return;
}
intval($contact_id),
intval(local_user())
);
- return DBM::is_result($r);
+ return DBA::is_result($r);
}
function _contact_ignore($contact_id, $orig_record)
intval($contact_id),
intval(local_user())
);
- return DBM::is_result($r);
+ return DBA::is_result($r);
}
function _contact_archive($contact_id, $orig_record)
intval($contact_id),
intval(local_user())
);
- return DBM::is_result($r);
+ return DBA::is_result($r);
}
function _contact_drop($orig_record)
WHERE `user`.`uid` = %d AND `contact`.`self` LIMIT 1",
intval($a->user['uid'])
);
- if (!DBM::is_result($r)) {
+ if (!DBA::is_result($r)) {
return;
}
$cmd = $a->argv[2];
- $orig_record = dba::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user(), 'self' => false]);
- if (!DBM::is_result($orig_record)) {
+ $orig_record = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user(), 'self' => false]);
+ if (!DBA::is_result($orig_record)) {
notice(L10n::t('Could not access contact record.') . EOL);
goaway('contacts');
return; // NOTREACHED
$relation_text = sprintf($relation_text, htmlentities($contact['name']));
- if (($contact['network'] === NETWORK_DFRN) && ($contact['rel'])) {
- $url = "redir/{$contact['id']}";
+ $url = Contact::magicLink($contact['url']);
+ if (strpos($url, 'redir/') === 0) {
$sparkle = ' class="sparkle" ';
} else {
- $url = $contact['url'];
$sparkle = '';
}
$profile_select = ContactSelector::profileAssign($contact['profile-id'], (($contact['network'] !== NETWORK_DFRN) ? true : false));
}
+ /// @todo Only show the following link with DFRN when the remote version supports it
$follow = '';
$follow_text = '';
- if (in_array($contact['network'], [NETWORK_DIASPORA, NETWORK_OSTATUS])) {
+ if (in_array($contact['network'], [NETWORK_DIASPORA, NETWORK_OSTATUS, NETWORK_DFRN])) {
if ($contact['rel'] == CONTACT_IS_FOLLOWER) {
$follow = System::baseUrl(true) . "/follow?url=" . urlencode($contact["url"]);
$follow_text = L10n::t("Connect/Follow");
WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra $sql_extra2 ",
intval($_SESSION['uid'])
);
- if (DBM::is_result($r)) {
+ if (DBA::is_result($r)) {
$a->set_pager_total($r[0]['total']);
$total = $r[0]['total'];
}
intval($a->pager['start']),
intval($a->pager['itemspage'])
);
- if (DBM::is_result($r)) {
+ if (DBA::is_result($r)) {
foreach ($r as $rr) {
$contacts[] = _contact_detail_for_template($rr);
}
{
$o = contacts_tab($a, $contact_id, 1);
- $contact = dba::selectFirst('contact', ['url'], ['id' => $contact_id]);
- if (DBM::is_result($contact)) {
+ $contact = DBA::selectFirst('contact', ['url'], ['id' => $contact_id]);
+ if (DBA::is_result($contact)) {
$a->page['aside'] = "";
Profile::load($a, "", 0, Contact::getDetailsByURL($contact["url"]));
$o .= Contact::getPostsFromUrl($contact["url"]);
default:
break;
}
- if (($rr['network'] === NETWORK_DFRN) && ($rr['rel'])) {
- $url = "redir/{$rr['id']}";
+
+ $url = Contact::magicLink($rr['url']);
+ if (strpos($url, 'redir/') === 0) {
$sparkle = ' class="sparkle" ';
} else {
+ $sparkle = '';
+ }
+
+ if ($rr['self']) {
+ $dir_icon = 'images/larrow.gif';
+ $alt_text = L10n::t('This is you');
$url = $rr['url'];
$sparkle = '';
}
'itemurl' => (($rr['addr'] != "") ? $rr['addr'] : $rr['url']),
'url' => $url,
'network' => ContactSelector::networkToName($rr['network'], $rr['url']),
+ 'nick' => htmlentities($rr['nick']),
];
}