public function on_collaboration_handle_transactions($pars)
{
$colls = $pars['colls'];
if (!is_array($colls)) {
self::raiseError('Invalid data received.');
}
$response = array();
$n = sizeof($colls);
for ($i = 0; $i < $n; $i++) {
$coll = explode('|', $colls[$i]);
$document_id = Db::quote_literal($coll[0]);
$collaborator_id = Db::quote_literal($coll[1]);
$last_transid = Db::quote_literal($coll[2]);
unset($coll[0]);
unset($coll[1]);
unset($coll[2]);
$log = Db::quote_literal(str_replace('\\', '\\\\', implode('|', $coll)));
$coll_response = array();
if (false !== ($res = Db::find("SELECT * FROM amy.coll_handle_transactions({$document_id}, {$collaborator_id}, {$last_transid}, '{$log}')"))) {
while (false !== ($r = pg_fetch_assoc($res))) {
$coll_response[] = $r;
}
} else {
$coll_response = Db::last_error();
}
$response[] = array('document_id' => $document_id, 'transactions' => $coll_response);
}
self::setResult($response);
}