]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
don't write notice to inbox if user isn't inboxed yet
authorEvan Prodromou <evan@prodromou.name>
Fri, 14 Nov 2008 07:42:11 +0000 (02:42 -0500)
committerEvan Prodromou <evan@prodromou.name>
Fri, 14 Nov 2008 07:42:11 +0000 (02:42 -0500)
darcs-hash:20081114074211-84dde-77dbee17b2eb5848a0aa012c6ebe352135f5e7c1.gz

classes/Notice.php

index 3a344e9ef85292b1210f25c9a232e69caf0552cd..92d4b88329187cc44406b88dfc15e37a028ba8f1 100644 (file)
@@ -374,14 +374,19 @@ class Notice extends Memcached_DataObject
        }
 
        function addToInboxes() {
-
-               $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);
-
+               $enabled = common_config('inboxes', 'enabled');
+
+               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;
        }