]> git.mxchange.org Git - friendica.git/blobdiff - include/identity.php
provide local time for notifications
[friendica.git] / include / identity.php
index 9b75ebccdbd4875e224da7137c9b7c89cf4379e3..bf05a005160eb81d83e7a1012bf21052f98bba82 100644 (file)
@@ -71,8 +71,8 @@ function profile_load(&$a, $nickname, $profile = 0, $profiledata = array()) {
 
        $a->page['title'] = $a->profile['name'] . " @ " . $a->config['sitename'];
 
-//             if (!$profiledata)
-//                     $_SESSION['theme'] = $a->profile['theme'];
+               if (!$profiledata  && !get_pconfig(local_user(),'system','always_my_theme'))
+                       $_SESSION['theme'] = $a->profile['theme'];
 
        $_SESSION['mobile-theme'] = $a->profile['mobile-theme'];
 
@@ -138,7 +138,7 @@ function get_profiledata_by_nick($nickname, $uid = 0, $profile = 0) {
                                        $r = q("SELECT `profile-id` FROM `contact` WHERE `id` = %d LIMIT 1",
                                                intval($visitor['cid'])
                                        );
-                                       if(count($r))
+                                       if (dbm::is_result($r))
                                                $profile = $r[0]['profile-id'];
                                        break;
                                }
@@ -149,17 +149,23 @@ function get_profiledata_by_nick($nickname, $uid = 0, $profile = 0) {
 
        if($profile) {
                $profile_int = intval($profile);
-               $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.* FROM `profile`
-                               INNER JOIN `contact` on `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
-                               WHERE `user`.`nickname` = '%s' AND `profile`.`id` = %d AND `contact`.`self` = 1 LIMIT 1",
+               $r = q("SELECT `contact`.`id` AS `contact_id`, `profile`.`uid` AS `profile_uid`, `profile`.*,
+                               `contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.*
+                       FROM `profile`
+                       INNER JOIN `contact` on `contact`.`uid` = `profile`.`uid` AND `contact`.`self`
+                       INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
+                       WHERE `user`.`nickname` = '%s' AND `profile`.`id` = %d LIMIT 1",
                                dbesc($nickname),
                                intval($profile_int)
                );
        }
-       if((!$r) && (!count($r))) {
-               $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.* FROM `profile`
-                               INNER JOIN `contact` ON `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
-                               WHERE `user`.`nickname` = '%s' AND `profile`.`is-default` = 1 AND `contact`.`self` = 1 LIMIT 1",
+       if (!dbm::is_result($r)) {
+               $r = q("SELECT `contact`.`id` AS `contact_id`, `profile`.`uid` AS `profile_uid`, `profile`.*,
+                               `contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.*
+                       FROM `profile`
+                       INNER JOIN `contact` ON `contact`.`uid` = `profile`.`uid` AND `contact`.`self`
+                       INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
+                       WHERE `user`.`nickname` = '%s' AND `profile`.`is-default` LIMIT 1",
                                dbesc($nickname)
                );
        }
@@ -230,7 +236,7 @@ function profile_sidebar($profile, $block = 0) {
 
                $r = q("SELECT * FROM `contact` WHERE NOT `pending` AND `uid` = %d AND `nurl` = '%s'",
                        local_user(), $profile_url);
-               if (count($r))
+               if (dbm::is_result($r))
                        $connect = false;
        }
 
@@ -283,7 +289,7 @@ function profile_sidebar($profile, $block = 0) {
                        'entries' => array(),
                );
 
-               if(count($r)) {
+               if (dbm::is_result($r)) {
 
                        foreach($r as $rr) {
                                $profile['menu']['entries'][] = array(
@@ -310,15 +316,8 @@ function profile_sidebar($profile, $block = 0) {
                );
        }
 
-       // check if profile is a forum
-       if((intval($profile['page-flags']) == PAGE_COMMUNITY)
-                       || (intval($profile['page-flags']) == PAGE_PRVGROUP)
-                       || (isset($profile['forum']) && intval($profile['forum']))
-                       || (isset($profile['prv']) && intval($profile['prv']))
-                       || (isset($profile['community']) && intval($profile['community'])))
-               $account_type = t('Forum');
-       else
-               $account_type = "";
+       // Fetch the account type
+       $account_type = account_type($profile);
 
        if((x($profile,'address') == 1)
                        || (x($profile,'location') == 1)
@@ -337,6 +336,8 @@ function profile_sidebar($profile, $block = 0) {
 
        $about = ((x($profile,'about') == 1) ?  t('About:') : False);
 
+       $xmpp = ((x($profile,'xmpp') == 1) ?  t('XMPP:') : False);
+
        if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
                $location = $pdesc = $gender = $marital = $homepage = $about = False;
        }
@@ -367,17 +368,17 @@ function profile_sidebar($profile, $block = 0) {
                if(is_array($a->profile) AND !$a->profile['hide-friends']) {
                        $r = q("SELECT `gcontact`.`updated` FROM `contact` INNER JOIN `gcontact` WHERE `gcontact`.`nurl` = `contact`.`nurl` AND `self` AND `uid` = %d LIMIT 1",
                                intval($a->profile['uid']));
-                       if(count($r))
+                       if (dbm::is_result($r))
                                $updated =  date("c", strtotime($r[0]['updated']));
 
-                       $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0
+                       $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `hidden` AND NOT `archive`
                                        AND `network` IN ('%s', '%s', '%s', '')",
                                intval($profile['uid']),
                                dbesc(NETWORK_DFRN),
                                dbesc(NETWORK_DIASPORA),
                                dbesc(NETWORK_OSTATUS)
                        );
-                       if(count($r))
+                       if (dbm::is_result($r))
                                $contacts = intval($r[0]['total']);
                }
        }
@@ -405,6 +406,7 @@ function profile_sidebar($profile, $block = 0) {
        $tpl = get_markup_template('profile_vcard.tpl');
        $o .= replace_macros($tpl, array(
                '$profile' => $p,
+               '$xmpp' => $xmpp,
                '$connect'  => $connect,
                '$remoteconnect'  => $remoteconnect,
                '$subscribe_feed' => $subscribe_feed,
@@ -458,7 +460,7 @@ function get_birthdays() {
                        dbesc(datetime_convert('UTC','UTC','now'))
        );
 
-       if($r && count($r)) {
+       if (dbm::is_result($r)) {
                $total = 0;
                $now = strtotime('now');
                $cids = array();
@@ -541,7 +543,7 @@ function get_events() {
                        dbesc(datetime_convert('UTC','UTC','now - 1 days'))
        );
 
-       if($r && count($r)) {
+       if (dbm::is_result($r)) {
                $now = strtotime('now');
                $istoday = false;
                foreach($r as $rr) {
@@ -811,7 +813,6 @@ function zrl_init(&$a) {
 
                $result = Cache::get("gprobe:".$urlparts["host"]);
                if (!is_null($result)) {
-                       $result = unserialize($result);
                        if (in_array($result["network"], array(NETWORK_FEED, NETWORK_PHANTOM))) {
                                logger("DDoS attempt detected for ".$urlparts["host"]." by ".$_SERVER["REMOTE_ADDR"].". server data: ".print_r($_SERVER, true), LOGGER_DEBUG);
                                return;