diff --git a/lib/queuemanager.php b/lib/queuemanager.php index bc18e1fc56..d42e4b4b57 100644 --- a/lib/queuemanager.php +++ b/lib/queuemanager.php @@ -181,7 +181,10 @@ abstract class QueueManager extends IoManager // If it is a string, we really store a JSON object in there // except if it begins with '<', because then it is XML. - if (is_string($object) && substr($object, 0, 1) != '<') { + if (is_string($object) && + substr($object, 0, 1) != '<' && + !is_numeric($object)) + { $json = json_decode($object); if ($json === null) { throw new Exception('Bad frame in queue item'); diff --git a/plugins/EmailSummary/lib/useremailsummaryhandler.php b/plugins/EmailSummary/lib/useremailsummaryhandler.php index fe814a3fb5..f900d93595 100644 --- a/plugins/EmailSummary/lib/useremailsummaryhandler.php +++ b/plugins/EmailSummary/lib/useremailsummaryhandler.php @@ -103,7 +103,7 @@ class UserEmailSummaryHandler extends QueueHandler } // An InboxNoticeStream for a certain user, scoped to its own view - $stream = new InboxNoticeStream($profile, $profile); + $stream = new InboxNoticeStream($profile); $notice = $stream->getNotices(0, self::MAX_NOTICES, $since_id); @@ -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)) { @@ -173,7 +173,7 @@ class UserEmailSummaryHandler extends QueueHandler $out->text(' '); $out->raw($notice->rendered); $out->elementStart('div', array('style' => 'font-size: 0.8em; padding-top: 4px;')); - $noticeurl = $notice->getUrl(); + $noticeurl = $notice->getLocalUrl(); // above should always return an URL assert(!empty($noticeurl)); $out->elementStart('a', array('rel' => 'bookmark', @@ -189,7 +189,7 @@ class UserEmailSummaryHandler extends QueueHandler $out->elementEnd('div'); $out->elementEnd('td'); $out->elementEnd('tr'); - } + } while ($notice->fetch()); $out->elementEnd('table'); diff --git a/plugins/EmailSummary/scripts/sendemailsummary.php b/plugins/EmailSummary/scripts/sendemailsummary.php index 01c11a210a..06a5327f61 100644 --- a/plugins/EmailSummary/scripts/sendemailsummary.php +++ b/plugins/EmailSummary/scripts/sendemailsummary.php @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -define('INSTALLDIR', realpath(dirname(__FILE__) . '/../..')); +define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..')); $shortoptions = 'i:n:au'; $longoptions = array('id=', 'nickname=', 'all', 'universe');