]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Contact.php
Merge branch 'develop' into task/3954-move-auth-to-src
[friendica.git] / src / Model / Contact.php
index d7f27ddd557fcde3cabafc834d8e891e369b9430..067a2fda7f104e44680937d287696b04d1c2100a 100644 (file)
@@ -20,6 +20,7 @@ use Friendica\Protocol\Salmon;
 use dba;
 
 require_once 'boot.php';
+require_once 'include/dba.php';
 require_once 'include/text.php';
 
 /**
@@ -42,7 +43,7 @@ class Contact extends BaseObject
                                INNER JOIN `group_member`
                                        ON `contact`.`id` = `group_member`.`contact-id`
                                WHERE `gid` = ?
-                               AND `group_member`.`uid` = ?
+                               AND `contact`.`uid` = ?
                                AND NOT `contact`.`self`
                                AND NOT `contact`.`blocked`
                                AND NOT `contact`.`pending`
@@ -73,7 +74,7 @@ class Contact extends BaseObject
                                INNER JOIN `group_member`
                                        ON `contact`.`id` = `group_member`.`contact-id`
                                WHERE `gid` = ?
-                               AND `group_member`.`uid` = ?
+                               AND `contact`.`uid` = ?
                                AND `contact`.`network` = ?
                                AND `contact`.`notify` != ""',
                                $gid,
@@ -96,11 +97,11 @@ class Contact extends BaseObject
        public static function createSelfFromUserId($uid)
        {
                // Only create the entry if it doesn't exist yet
-               if (dba::exists('contact', ['uid' => intval($uid), 'self'])) {
+               if (dba::exists('contact', ['uid' => $uid, 'self' => true])) {
                        return true;
                }
 
-               $user = dba::select('user', ['uid', 'username', 'nickname'], ['uid' => intval($uid)], ['limit' => 1]);
+               $user = dba::select('user', ['uid', 'username', 'nickname'], ['uid' => $uid], ['limit' => 1]);
                if (!DBM::is_result($user)) {
                        return false;
                }
@@ -196,7 +197,7 @@ class Contact extends BaseObject
         * up or some other transient event and that there's a possibility we could recover from it.
         *
         * @param array $contact contact to mark for archival
-        * @return type
+        * @return null
         */
        public static function markForArchival(array $contact)
        {
@@ -605,7 +606,9 @@ class Contact extends BaseObject
                        AND NOT `pending`
                        AND `id` NOT IN (
                                SELECT DISTINCT(`contact-id`)
-                               FROM `group_member` WHERE `uid` = %d
+                               FROM `group_member`
+                               INNER JOIN `group` ON `group`.`id` = `group_member`.`gid`
+                               WHERE `group`.`uid` = %d
                        )
                        LIMIT %d, %d", intval($uid), intval($uid), intval($start), intval($count)
                );
@@ -659,7 +662,7 @@ class Contact extends BaseObject
                if (!DBM::is_result($contact)) {
                        // The link could be provided as http although we stored it as https
                        $ssl_url = str_replace('http://', 'https://', $url);
-                       $r = dba::select('contact', array('id', 'avatar-date'), array('`alias` IN (?, ?, ?) AND `uid` = ?', $url, normalise_link($url), $ssl_url, $uid), array('limit' => 1));
+                       $r = dba::select('contact', array('id', 'avatar', 'avatar-date'), array('`alias` IN (?, ?, ?) AND `uid` = ?', $url, normalise_link($url), $ssl_url, $uid), array('limit' => 1));
                        $contact = dba::fetch($r);
                        dba::close($r);
                }
@@ -671,7 +674,7 @@ class Contact extends BaseObject
                        $update_contact = ($contact['avatar-date'] < datetime_convert('', '', 'now -7 days'));
 
                        // We force the update if the avatar is empty
-                       if ($contact['avatar'] == '') {
+                       if (!x($contact, 'avatar')) {
                                $update_contact = true;
                        }