]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
UserEmailSummaryHandler: Update notice-fetching logic
authorJoshua Judson Rosen <rozzin@geekspace.com>
Mon, 24 Nov 2014 04:03:14 +0000 (23:03 -0500)
committerJoshua Judson Rosen <rozzin@geekspace.com>
Mon, 24 Nov 2014 04:28:28 +0000 (23:28 -0500)
InboxNoticeStream::getNotices() no longer returns an ArrayWrapper;
just fetch notices normally via $notice->fetch(), so that
we can actually get the top notice-ID and update email_summary_status
accordingly--and not mail about the same notices repeatedly.

plugins/EmailSummary/lib/useremailsummaryhandler.php

index 8dbcefc11e6ef6aeaf668cd5aec03efecb90ac79..ec86e59d19edeaf50795236d48a47af64538cbf4 100644 (file)
@@ -117,8 +117,8 @@ class UserEmailSummaryHandler extends QueueHandler
 
         $new_top = null;
 
-        if ($notice instanceof ArrayWrapper) {
-            $new_top = $notice->_items[0]->id;
+        if ($notice->fetch()) {
+            $new_top = $notice->id;
         }
 
         // TRANS: Subject for e-mail.
@@ -145,7 +145,7 @@ class UserEmailSummaryHandler extends QueueHandler
         $out->elementStart('table', array('width' => '550px',
                                           'style' => 'border: none; border-collapse: collapse;', 'cellpadding' => '6'));
 
-        while ($notice->fetch()) {
+        do {
             $profile = Profile::getKV('id', $notice->profile_id);
 
             if (empty($profile)) {
@@ -189,7 +189,7 @@ class UserEmailSummaryHandler extends QueueHandler
             $out->elementEnd('div');
             $out->elementEnd('td');
             $out->elementEnd('tr');
-        }
+        } while ($notice->fetch());
 
         $out->elementEnd('table');