AmyController::on_collaboration_get_unread_messages PHP Method

on_collaboration_get_unread_messages() public method

    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);
    }