don't write notice to inbox if user isn't inboxed yet

darcs-hash:20081114074211-84dde-77dbee17b2eb5848a0aa012c6ebe352135f5e7c1.gz
This commit is contained in:
Evan Prodromou 2008-11-14 02:42:11 -05:00
parent 11fba88213
commit 6b6c966369
1 changed files with 19 additions and 10 deletions

View File

@ -374,14 +374,19 @@ class Notice extends Memcached_DataObject
}
function addToInboxes() {
$enabled = common_config('inboxes', 'enabled');
$inbox = new Notice_inbox();
$inbox->query('INSERT INTO notice_inbox (user_id, notice_id, created) ' .
'SELECT user.id, ' . $this->id . ', "' . $this->created . '" ' .
'FROM user JOIN subscription ON user.id = subscription.subscriber ' .
'WHERE subscription.subscribed = ' . $this->profile_id);
if ($enabled === true || $enabled === 'transitional') {
$inbox = new Notice_inbox();
$qry = 'INSERT INTO notice_inbox (user_id, notice_id, created) ' .
'SELECT user.id, ' . $this->id . ', "' . $this->created . '" ' .
'FROM user JOIN subscription ON user.id = subscription.subscriber ' .
'WHERE subscription.subscribed = ' . $this->profile_id;
if ($enabled === 'transitional') {
$qry .= ' AND user.inboxed = 1';
}
$inbox->query($qry);
}
return;
}
@ -389,9 +394,13 @@ class Notice extends Memcached_DataObject
function blowInboxes() {
$inbox = new Notice_inbox();
$inbox->notice_id = $this->id;
$inbox->delete();
$enabled = common_config('inboxes', 'enabled');
if ($enabled === true || $enabled === 'transitional') {
$inbox = new Notice_inbox();
$inbox->notice_id = $this->id;
$inbox->delete();
}
return;
}