- public static function init()
- {
- $a = self::getApp();
-
- if (!local_user()) {
- return;
- }
-
- $nets = defaults($_GET, 'nets', '');
-
- if (empty($a->page['aside'])) {
- $a->page['aside'] = '';
- }
-
- $contact_id = null;
- $contact = null;
- if ($a->argc == 2 && intval($a->argv[1])
- || $a->argc == 3 && intval($a->argv[1]) && in_array($a->argv[2], ['posts', 'conversations'])
- ) {
- $contact_id = intval($a->argv[1]);
- $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user(), 'deleted' => false]);
-
- if (!DBA::isResult($contact)) {
- $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => 0, 'deleted' => false]);
- }
-
- // Don't display contacts that are about to be deleted
- if ($contact['network'] == Protocol::PHANTOM) {
- $contact = false;
- }
- }
-
- if (DBA::isResult($contact)) {
- if ($contact['self']) {
- if (($a->argc == 3) && intval($a->argv[1]) && in_array($a->argv[2], ['posts', 'conversations'])) {
- $a->internalRedirect('profile/' . $contact['nick']);
- } else {
- $a->internalRedirect('profile/' . $contact['nick'] . '?tab=profile');
- }
- }
-
- $a->data['contact'] = $contact;
-
- if (($contact['network'] != '') && ($contact['network'] != Protocol::DFRN)) {
- $network_link = Strings::formatNetworkName($contact['network'], $contact['url']);
- } else {
- $network_link = '';
- }
-
- $vcard_widget = Renderer::replaceMacros(Renderer::getMarkupTemplate('vcard-widget.tpl'), [
- '$name' => $contact['name'],
- '$photo' => $contact['photo'],
- '$url' => Model\Contact::MagicLink($contact['url']),
- '$addr' => defaults($contact, 'addr', ''),
- '$network_link' => $network_link,
- '$network' => L10n::t('Network:'),
- '$account_type' => Model\Contact::getAccountType($contact)
- ]);
-
- $findpeople_widget = '';
- $follow_widget = '';
- $networks_widget = '';
- } else {
- $vcard_widget = '';
- $networks_widget = Widget::networks('contact', $nets);
- if (isset($_GET['add'])) {
- $follow_widget = Widget::follow($_GET['add']);
- } else {
- $follow_widget = Widget::follow();
- }
-
- $findpeople_widget = Widget::findPeople();
- }
-
- if ($contact['uid'] != 0) {
- $groups_widget = Model\Group::sidebarWidget('contact', 'group', 'full', 'everyone', $contact_id);
- } else {
- $groups_widget = null;
- }
-
- $a->page['aside'] .= Renderer::replaceMacros(Renderer::getMarkupTemplate('contacts-widget-sidebar.tpl'), [
- '$vcard_widget' => $vcard_widget,
- '$findpeople_widget' => $findpeople_widget,
- '$follow_widget' => $follow_widget,
- '$groups_widget' => $groups_widget,
- '$networks_widget' => $networks_widget
- ]);
-
- $base = $a->getBaseURL();
- $tpl = Renderer::getMarkupTemplate('contacts-head.tpl');
- $a->page['htmlhead'] .= Renderer::replaceMacros($tpl, [
- '$baseurl' => System::baseUrl(true),
- '$base' => $base
- ]);
- }
-