diff options
Diffstat (limited to 'classes/User.php')
-rw-r--r-- | classes/User.php | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/classes/User.php b/classes/User.php index 65e01e799..4305c1541 100644 --- a/classes/User.php +++ b/classes/User.php @@ -44,6 +44,7 @@ class User extends DB_DataObject public $incomingemail; // varchar(255) unique_key public $emailnotifysub; // tinyint(1) default_1 public $emailnotifyfav; // tinyint(1) default_1 + public $emailnotifymsg; // tinyint(1) default_1 public $emailmicroid; // tinyint(1) default_1 public $language; // varchar(50) public $timezone; // varchar(50) @@ -347,4 +348,25 @@ class User extends DB_DataObject unset($fave); return $result; } + + function mutuallySubscribed($other) { + return $this->isSubscribed($other) && + $other->isSubscribed($this); + } + + function mutuallySubscribedUsers() { + + # 3-way join; probably should get cached + + $qry = 'SELECT user.* ' . + 'FROM subscription sub1 JOIN user ON sub1.subscribed = user.id ' . + 'JOIN subscription sub2 ON user.id = sub2.subscriber ' . + 'WHERE sub1.subscriber = %d and sub2.subscribed = %d ' . + 'ORDER BY user.nickname'; + + $user = new User(); + $user->query(sprintf($qry, $this->id, $this->id)); + + return $user; + } } |