diff options
Diffstat (limited to 'inc/taskmanagercallback.inc.php')
-rw-r--r-- | inc/taskmanagercallback.inc.php | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/inc/taskmanagercallback.inc.php b/inc/taskmanagercallback.inc.php index f40db297..c2a05609 100644 --- a/inc/taskmanagercallback.inc.php +++ b/inc/taskmanagercallback.inc.php @@ -29,15 +29,16 @@ class TaskmanagerCallback 'task' => $task, 'callback' => $callback, ); - if (Property::getCurrentSchemaVersion() >= 9) { - if (is_null($args)) - $data['args'] = ''; - else - $data['args'] = serialize($args); - Database::exec("INSERT INTO callback (taskid, dateline, cbfunction, args) VALUES (:task, UNIX_TIMESTAMP(), :callback, :args)", $data); + if (is_null($args)) { + $data['args'] = ''; } else { - Database::exec("INSERT INTO callback (taskid, dateline, cbfunction) VALUES (:task, UNIX_TIMESTAMP(), :callback)", $data); + $data['args'] = serialize($args); } + if (Database::exec("INSERT INTO callback (taskid, dateline, cbfunction, args)" + . " VALUES (:task, UNIX_TIMESTAMP(), :callback, :args)", $data, true) !== false) { + return; + } + Database::exec("INSERT INTO callback (taskid, dateline, cbfunction) VALUES (:task, UNIX_TIMESTAMP(), :callback)", $data); } /** @@ -47,10 +48,10 @@ class TaskmanagerCallback */ public static function getPendingCallbacks() { - if (Property::getCurrentSchemaVersion() < 9) + $res = Database::simpleQuery("SELECT taskid, cbfunction, args FROM callback", array(), true); + if ($res === false) return array(); $retval = array(); - $res = Database::simpleQuery("SELECT taskid, cbfunction, args FROM callback"); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { $retval[$row['taskid']][] = $row; } |