public function on_collaboration_handle_message($pars)
{
$response = true;
if ('call' == $pars['routine']) {
$sql = 'SELECT * FROM amy.coll_handle_message(' . Db::quote_literal($pars['collaborator_id']) . ',' . Db::quote_literal($pars['id']) . ',';
if (is_array($pars['pars'])) {
$n = sizeof($pars['pars']);
for ($i = 0; $i < $n; $i++) {
$pars['pars'][$i] = Db::quote_literal($pars['pars'][$i]);
}
$sql .= "ARRAY['" . implode("','", $pars['pars']) . "'])";
} else {
$sql .= 'NULL)';
}
if (false === ($res = Db::find($sql))) {
self::raiseError('Unable to handle message: ' . Db::last_error());
// self::raiseError('Unable to handle. ' . $sql . '. ' . Db::last_error());
}
$row = pg_fetch_row($res);
// print_r($row);die();
$row = Db::parse_array_string($row[0]);
$response = array();
// print_r($row);die();
foreach ($row as $i => $value) {
$response[] = array('key' => $i, 'value' => $value);
}
} else {
Db::find('SELECT amy.coll_delete_message(' . Db::quote_literal($pars['id']) . ')');
}
self::setResult($response);
}