view.xml.php
1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
/**
* @package Joomla.Administrator
* @subpackage com_privacy
*
* @copyright Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
JLoader::register('PrivacyHelper', JPATH_ADMINISTRATOR . '/components/com_privacy/helpers/privacy.php');
/**
* Export view class
*
* @since 3.9.0
*
* @property-read \Joomla\CMS\Document\XmlDocument $document
*/
class PrivacyViewExport extends JViewLegacy
{
/**
* Execute and display a template script.
*
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
*
* @return mixed A string if successful, otherwise an Error object.
*
* @see JViewLegacy::loadTemplate()
* @since 3.9.0
* @throws Exception
*/
public function display($tpl = null)
{
/** @var PrivacyModelExport $model */
$model = $this->getModel();
$exportData = $model->collectDataForExportRequest();
// Check for errors.
if (count($errors = $this->get('Errors')))
{
throw new Exception(implode("\n", $errors), 500);
}
$requestId = $model->getState($model->getName() . '.request_id');
// This document should always be downloaded
$this->document->setDownload(true);
$this->document->setName('export-request-' . $requestId);
echo PrivacyHelper::renderDataAsXml($exportData);
}
}