QueueManager: don't assume all non-XML strings are JSON

Some of the standard plugins queue simple, unstructured numbers--
e.g.: EmailSummary and OfflineBackup both queue user-IDs.
This commit is contained in:
Joshua Judson Rosen 2014-11-23 23:24:16 -05:00
parent fe92d7cf95
commit 9fd2541b52
1 changed files with 4 additions and 1 deletions

View File

@ -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');