Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Mvc/Renderer/Xml.php
<?php

namespace XF\Mvc\Renderer;

class
Xml extends AbstractRenderer
{
    protected function
initialize()
    {
       
$this->response->contentType('application/xml');
    }

    public function
getResponseType()
    {
        return
'xml';
    }

    public function
renderRedirect($url, $type, $message = '')
    {
       
$document = new \DOMDocument('1.0', 'utf-8');
       
$document->formatOutput = true;

       
$rootNode = $document->createElement('response');
        \
XF\Util\Xml::createDomElements($rootNode, [
           
'status' => $type,
           
'url' => $url,
           
'message' => (!$message ? \XF::phrase('redirect_changes_saved_successfully') : $message)
        ]);
       
$document->appendChild($rootNode);

        return
$document->saveXML();
    }

    public function
renderMessage($message)
    {
       
$document = new \DOMDocument('1.0', 'utf-8');
       
$document->formatOutput = true;

       
$rootNode = $document->createElement('response');
       
$rootNode->appendChild($document->createElement('status', 'ok'));
       
$messageNode = $document->createElement('message');
       
$messageNode->appendChild($document->createCDATASection($message));
       
$rootNode->appendChild($messageNode);
       
$document->appendChild($rootNode);

        return
$document->saveXML();
    }

    public function
renderErrors(array $errors)
    {
       
$document = new \DOMDocument('1.0', 'utf-8');
       
$document->formatOutput = true;

       
$rootNode = $document->createElement('errors');
       
$document->appendChild($rootNode);

        foreach (
$errors AS $errorMessage)
        {
           
$errorNode = $rootNode->appendChild($document->createElement('error'));
           
$errorNode->appendChild($document->createCDATASection($errorMessage));
        }

        return
$document->saveXML();
    }

    public function
renderView($viewName, $templateName, array $params = [])
    {
        if (isset(
$params['innerContent']))
        {
            return
$params['innerContent'];
        }

       
$output = $this->renderViewObject($viewName, $templateName, $params);
        if (
$output === null && $templateName)
        {
           
$output = $this->renderErrors([\XF::phrase('requested_page_cannot_be_represented_in_this_format')]);
        }
        return
$output;
    }
}