AmyProjectController::on_open PHP Method

on_open() public method

public on_open ( $pars = [] )
    public function on_open($pars = array())
    {
        $ticket = $pars['ticket'];
        if (!$this->isAuthenticated($ticket)) {
            self::raiseError("Unauthenticated.");
        }
        $xml = '<?' . 'xml version="1.0" encoding="UTF-8" ?' . '><project><resources>';
        if ($this->canUserRead($ticket, '/')) {
            $resources = $this->getResource($ticket, '/');
            if (is_array($resources)) {
                foreach ($resources as $resource) {
                    if (is_array($resource)) {
                        $xml .= '<resource>';
                        foreach ($resource as $key => $value) {
                            $xml .= "<{$key}><![CDATA[{$value}]]></{$key}>";
                        }
                        $xml .= '</resource>';
                    }
                }
            }
            $data = $this->getOpenedResources($ticket);
            $xml .= '</resources><opened_resources>';
            if (is_array($resources)) {
                foreach ($resources as $resource) {
                    if (is_array($resource)) {
                        $xml .= '<resource>';
                        foreach ($resource as $key => $value) {
                            $xml .= "<{$key}><![CDATA[{$value}]]></{$key}>";
                        }
                        $xml .= '</resource>';
                    }
                }
            }
            $xml .= '</opened_resources>';
        } else {
            $xml .= '</resources>';
        }
        $xml .= '</project>';
        self::setResult($xml);
    }