+ /**
+ * Fetch parameters for delayed posts
+ *
+ * @param integer $id
+ * @return array
+ */
+ public static function getParametersForid(int $id)
+ {
+ $delayed = DBA::selectFirst('delayed-post', ['id', 'uid', 'wid', 'delayed'], ['id' => $id]);
+ if (empty($delayed['wid'])) {
+ return [];
+ }
+
+ $worker = DBA::selectFirst('workerqueue', ['parameter'], ['id' => $delayed['wid'], 'command' => 'DelayedPublish']);
+ if (empty($worker)) {
+ return [];
+ }
+
+ $parameters = json_decode($worker['parameter'], true);
+ if (empty($parameters)) {
+ return [];
+ }
+
+ // Make sure to only publish the attachments in the dedicated array field
+ if (empty($parameters[3]) && !empty($parameters[0]['attachments'])) {
+ $parameters[3] = $parameters[0]['attachments'];
+ unset($parameters[0]['attachments']);
+ }
+
+ return [
+ 'parameters' => $delayed,
+ 'item' => $parameters[0],
+ 'notify' => $parameters[1],
+ 'taglist' => $parameters[2],
+ 'attachments' => $parameters[3],
+ 'unprepared' => $parameters[4],
+ 'uri' => $parameters[5],
+ ];
+ }
+