public function on_collaboration_get_unread_messages($pars)
{
$pre_ids = explode(',', $pars['receiver_ids']);
$ids = array();
foreach ($pre_ids as $id) {
$ids[] = Db::quote_literal($id);
}
# checking/reviving existing collaborations
if (false === ($res = Db::find('SELECT amy.coll_check_collaborations(ARRAY[' . implode(',', $ids) . '])'))) {
self::raiseError('Unable to proceed: ' . Db::last_error());
}
if (false === ($res = Db::find('SELECT * FROM amy.coll_unread_messages WHERE collaborator_receiver_id IN (' . implode(',', $ids) . ')'))) {
self::raiseError('Unable to proceed: ' . Db::last_error());
}
$messages = array();
while (false !== ($r = @pg_fetch_assoc($res))) {
$r['params'] = Db::parse_array_string($r['params']);
$messages[] = $r;
}
self::setResult($messages);
}