]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Profile.php
Rework smilies class and module
[friendica.git] / src / Model / Profile.php
index 31d9fe846f27a623879cb769028f3a16d1cb0b50..c16fb745a726408ea72336950952b31c1533af7d 100644 (file)
@@ -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.
        */