- $statement = dba::select('workerqueue', ['id', 'parameter', 'created', 'priority'], ['done' => 0], ['order'=> ['priority']]);
- $r = dba::inArray($statement);
-
- for($i = 0; $i < count($r); $i++) {
- $r[$i]['parameter'] = stripslashes(implode(': ', explode('","', $r[$i]['parameter'])));
- $r[$i]['parameter'] = substr($r[$i]['parameter'], 2, -2);
- }
+ $entries = DBA::select('workerqueue', ['id', 'parameter', 'created', 'priority'], ['done' => 0], ['order'=> ['priority']]);
+
+ $r = [];
+ while ($entry = DBA::fetch($entries)) {
+ // fix GH-5469. ref: src/Core/Worker.php:217
+ $entry['parameter'] = Arrays::recursiveImplode(json_decode($entry['parameter'], true), ': ');
+ $entry['created'] = DateTimeFormat::local($entry['created']);
+ $r[] = $entry;
+ }
+ DBA::close($entries);