AmyController::on_collaboration_handle_message PHP Метод

on_collaboration_handle_message() публичный Метод

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