X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FModel%2FProfile.php;h=c16fb745a726408ea72336950952b31c1533af7d;hb=ffc8b2a79ae3f42339c689cd7b8da66d62c6b71c;hp=31d9fe846f27a623879cb769028f3a16d1cb0b50;hpb=8a3cae686b9067b43055a5d3ee7ba3313b88f495;p=friendica.git diff --git a/src/Model/Profile.php b/src/Model/Profile.php index 31d9fe846f..c16fb745a7 100644 --- a/src/Model/Profile.php +++ b/src/Model/Profile.php @@ -24,6 +24,8 @@ use Friendica\Util\Network; use Friendica\Util\Temporal; use dba; +use InvalidArgumentException; + require_once 'include/dba.php'; require_once 'mod/proxy.php'; @@ -40,11 +42,11 @@ class Profile { $location = ''; - if ($profile['locality']) { + if (!empty($profile['locality'])) { $location .= $profile['locality']; } - if ($profile['region'] && ($profile['locality'] != $profile['region'])) { + if (!empty($profile['region']) && (defaults($profile, 'locality', '') != $profile['region'])) { if ($location) { $location .= ', '; } @@ -52,7 +54,7 @@ class Profile $location .= $profile['region']; } - if ($profile['country-name']) { + if (!empty($profile['country-name'])) { if ($location) { $location .= ', '; } @@ -89,7 +91,7 @@ class Profile * @param array $profiledata array * @param boolean $show_connect Show connect link */ - public static function load(App $a, $nickname, $profile = 0, $profiledata = [], $show_connect = true) + public static function load(App $a, $nickname, $profile = 0, array $profiledata = [], $show_connect = true) { $user = dba::selectFirst('user', ['uid'], ['nickname' => $nickname, 'account_removed' => false]); @@ -100,11 +102,8 @@ class Profile return; } - if (empty($a->page['aside'])) { - $a->page['aside'] = ''; - } - - if ($profiledata) { + if (count($profiledata) > 0) { + // Add profile data to sidebar $a->page['aside'] .= self::sidebar($profiledata, true, $show_connect); if (!DBM::is_result($user)) { @@ -112,7 +111,7 @@ class Profile } } - $pdata = self::getByNickname($nickname, $user[0]['uid'], $profile); + $pdata = self::getByNickname($nickname, $user['uid'], $profile); if (empty($pdata) && empty($profiledata)) { logger('profile error: ' . $a->query_string, LOGGER_DEBUG); @@ -307,6 +306,8 @@ class Profile $connect = false; } + $profile_url = ''; + // Is the local user already connected to that user? if ($connect && local_user()) { if (isset($profile['url'])) { @@ -437,9 +438,9 @@ class Profile 'fullname' => $profile['name'], 'firstname' => $firstname, 'lastname' => $lastname, - 'photo300' => $profile['contact_photo'], - 'photo100' => $profile['contact_thumb'], - 'photo50' => $profile['contact_micro'], + 'photo300' => defaults($profile, 'contact_photo', ''), + 'photo100' => defaults($profile, 'contact_thumb', ''), + 'photo50' => defaults($profile, 'contact_micro', ''), ]; } else { $diaspora = false; @@ -497,7 +498,7 @@ class Profile $p['photo'] = proxy_url($p['photo'], false, PROXY_SIZE_SMALL); } - $p['url'] = Contact::magicLink($p['url']); + $p['url'] = Contact::magicLink(defaults($p, 'url', $profile_url)); $tpl = get_markup_template('profile_vcard.tpl'); $o .= replace_macros($tpl, [ @@ -710,7 +711,7 @@ class Profile '$classtoday' => $classtoday, '$count' => count($r), '$event_reminders' => L10n::t('Event Reminders'), - '$event_title' => L10n::t('Events this week:'), + '$event_title' => L10n::t('Upcoming events the next 7 days:'), '$events' => $r, ]); } @@ -947,6 +948,16 @@ class Profile ]; } + if (!empty($_SESSION['new_member']) && $is_owner) { + $tabs[] = [ + 'label' => L10n::t('Tips for New Members'), + 'url' => System::baseUrl() . '/newmember', + 'sel' => false, + 'title' => L10n::t('Tips for New Members'), + 'id' => 'newmember-tab', + ]; + } + if (!$is_owner && empty($a->profile['hide-friends'])) { $tabs[] = [ 'label' => L10n::t('Contacts'), @@ -981,13 +992,13 @@ class Profile /** * Process the 'zrl' parameter and initiate the remote authentication. - * + * * This method checks if the visitor has a public contact entry and * redirects the visitor to his/her instance to start the magic auth (Authentication) * process. - * + * * Ported from Hubzilla: https://framagit.org/hubzilla/core/blob/master/include/channel.php - * + * * @param App $a Application instance. */ public static function zrlInit(App $a) @@ -1049,7 +1060,7 @@ class Profile * OpenWebAuth authentication. * * Ported from Hubzilla: https://framagit.org/hubzilla/core/blob/master/include/zid.php - * + * * @param string $token */ public static function openWebAuthInit($token) @@ -1081,6 +1092,7 @@ class Profile $_SESSION['visitor_id'] = $visitor['id']; $_SESSION['visitor_handle'] = $visitor['addr']; $_SESSION['visitor_home'] = $visitor['url']; + $_SESSION['my_url'] = $visitor['url']; $arr = [ 'visitor' => $visitor, @@ -1147,7 +1159,7 @@ class Profile /** * Stip zrl parameter from a string. - * + * * @param string $s The input string. * @return string The zrl. */ @@ -1158,7 +1170,7 @@ class Profile /** * Stip query parameter from a string. - * + * * @param string $s The input string. * @return string The query parameter. */