"SELECT COUNT(*) AS `total`
FROM `contact`
WHERE `uid` = %d
- AND `self` = 0
+ AND NOT `self`
+ AND NOT `blocked`
+ AND NOT `pending`
AND `id` NOT IN (
SELECT DISTINCT(`contact-id`)
FROM `group_member`
WHERE `uid` = %d
- ) ", intval($uid), intval($uid)
+ )", intval($uid), intval($uid)
);
return $r;
"SELECT *
FROM `contact`
WHERE `uid` = %d
- AND `self` = 0
+ AND NOT `self`
+ AND NOT `blocked`
+ AND NOT `pending`
AND `id` NOT IN (
SELECT DISTINCT(`contact-id`)
FROM `group_member` WHERE `uid` = %d
)
- AND `blocked` = 0
- AND `pending` = 0
LIMIT %d, %d", intval($uid), intval($uid), intval($start), intval($count)
);
return $r;
return $account_type;
}
+
+ /**
+ * @brief Blocks a contact
+ *
+ * @param int $uid
+ * @return bool
+ */
+ public static function block($uid)
+ {
+ $return = dba::update('contact', ['blocked' => true], ['id' => $uid]);
+
+ return $return;
+ }
+
+ /**
+ * @brief Unblocks a contact
+ *
+ * @param int $uid
+ * @return bool
+ */
+ public static function unblock($uid)
+ {
+ $return = dba::update('contact', ['blocked' => false], ['id' => $uid]);
+
+ return $return;
+ }
}