if ($transports) {
if (is_array($transports)) {
// @fixme use safer escaping
- $list = implode("','", array_map('addslashes', $transports));
+ $list = implode("','", array_map(array($qi, 'escape'), $transports));
$qi->whereAdd("transport in ('$list')");
} else {
$qi->transport = $transports;
$qi = null;
return null;
}
+
+ /**
+ * Release a claimed item.
+ */
+ function releaseCLaim()
+ {
+ // DB_DataObject doesn't let us save nulls right now
+ $sql = sprintf("UPDATE queue_item SET claimed=NULL WHERE id=%d", $this->id);
+ $this->query($sql);
+
+ $this->claimed = null;
+ $this->encache();
+ }
}