Current Directory: /home/astoriaah/www/administrator/components/com_admintools/Controller
Viewing File: /home/astoriaah/www/administrator/components/com_admintools/Controller/ImportAndExport.php
<?php
/**
* @package admintools
* @copyright Copyright (c)2010-2022 Nicholas K. Dionysopoulos / Akeeba Ltd
* @license GNU General Public License version 3, or later
*/
namespace Akeeba\AdminTools\Admin\Controller;
defined('_JEXEC') || die;
use Akeeba\AdminTools\Admin\Controller\Mixin\CustomACL;
use Akeeba\AdminTools\Admin\Helper\Storage;
use Exception;
use FOF40\Controller\Controller;
use Joomla\CMS\Language\Text;
class ImportAndExport extends Controller
{
use CustomACL;
public function export()
{
$this->layout = 'export';
parent::display();
}
public function import()
{
$this->layout = 'import';
parent::display();
}
public function doexport()
{
/** @var \Akeeba\AdminTools\Admin\Model\ImportAndExport $model */
$model = $this->getModel();
$data = $model->exportData();
if ($data)
{
$json = json_encode($data);
// Clear cache
while (@ob_end_clean())
{
}
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public", false);
// Send MIME headers
header("Content-Description: File Transfer");
header('Content-Type: json');
header("Accept-Ranges: bytes");
header('Content-Disposition: attachment; filename="admintools_settings.json"');
header('Content-Transfer-Encoding: text');
header('Connection: close');
header('Content-Length: ' . strlen($json));
echo $json;
$this->container->platform->closeApplication();
}
else
{
$this->setRedirect('index.php?option=com_admintools&view=ImportAndExport&task=export', Text::_('COM_ADMINTOOLS_IMPORTANDEXPORT_SELECT_DATA_WARN'), 'warning');
}
}
public function doimport()
{
$params = Storage::getInstance();
$params->setValue('quickstart', 1, true);
/** @var \Akeeba\AdminTools\Admin\Model\ImportAndExport $model */
$model = $this->getModel();
try
{
$model->importDataFromRequest();
$type = null;
$msg = Text::_('COM_ADMINTOOLS_IMPORTANDEXPORT_IMPORT_OK');
}
catch (Exception $e)
{
$type = 'error';
$msg = $e->getMessage();
}
$this->setRedirect('index.php?option=com_admintools&view=ImportAndExport&task=import', $msg, $type);
}
}