summaryrefslogtreecommitdiffstats
path: root/inc/taskmanagercallback.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/taskmanagercallback.inc.php')
-rw-r--r--inc/taskmanagercallback.inc.php19
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;
}