File Manager

Current Directory: /home/astoriaah/www/administrator/components/com_akeeba/View/Restore
Viewing File: /home/astoriaah/www/administrator/components/com_akeeba/View/Restore/Html.php
<?php /** * @package akeebabackup * @copyright Copyright (c)2006-2022 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ namespace Akeeba\Backup\Admin\View\Restore; // Protect from unauthorized access defined('_JEXEC') || die(); use Akeeba\Backup\Admin\Model\Restore; use Akeeba\Engine\Platform; use FOF40\View\DataView\Html as BaseView; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use Joomla\CMS\Uri\Uri as JUri; class Html extends BaseView { public $id; public $ftpparams; public $extractionmodes; public $extension; protected function onBeforeMain() { $this->loadCommonJavascript(); /** @var Restore $model */ $model = $this->getModel(); $this->id = $model->getState('id', '', 'int'); $this->ftpparams = $this->getFTPParams(); $this->extractionmodes = $this->getExtractionModes(); $backup = Platform::getInstance()->get_statistics($this->id); $this->extension = strtolower(substr($backup['absolute_path'], -3)); $platform = $this->container->platform; $platform->addScriptOptions('akeeba.Configuration.URLs', [ 'browser' => 'index.php?view=Browser&tmpl=component&processfolder=1&folder=', 'ftpBrowser' => 'index.php?option=com_akeeba&view=FTPBrowser', 'testFtp' => 'index.php?option=com_akeeba&view=Restore&task=ajax&ajax=testftp', ]); } protected function onBeforeStart() { $this->loadCommonJavascript(); /** @var Restore $model */ $model = $this->getModel(); $this->setLayout('restore'); // Pass script options $adminRootUrl = rtrim(JUri::base(), '/'); $platform = $this->container->platform; $platform->addScriptOptions('akeeba.Restore.password', $model->getState('password')); $platform->addScriptOptions('akeeba.Restore.ajaxURL', $adminRootUrl . '/components/com_akeeba/restore.php'); $platform->addScriptOptions('akeeba.Restore.mainURL', $adminRootUrl . '/index.php'); $platform->addScriptOptions('akeeba.Restore.inMainRestoration', true); } /** * Returns the available extraction modes for use by JHtml * * @return array */ private function getExtractionModes() { $options = []; $options[] = JHtml::_('select.option', 'hybrid', JText::_('COM_AKEEBA_RESTORE_LABEL_EXTRACTIONMETHOD_HYBRID')); $options[] = JHtml::_('select.option', 'direct', JText::_('COM_AKEEBA_RESTORE_LABEL_EXTRACTIONMETHOD_DIRECT')); $options[] = JHtml::_('select.option', 'ftp', JText::_('COM_AKEEBA_RESTORE_LABEL_EXTRACTIONMETHOD_FTP')); return $options; } /** * Returns the FTP parameters from the Global Configuration * * @return array */ private function getFTPParams() { $config = $this->container->platform->getConfig(); return [ 'procengine' => $config->get('ftp_enable', 0) ? 'hybrid' : 'direct', 'ftp_host' => $config->get('ftp_host', 'localhost'), 'ftp_port' => $config->get('ftp_port', '21'), 'ftp_user' => $config->get('ftp_user', ''), 'ftp_pass' => $config->get('ftp_pass', ''), 'ftp_root' => $config->get('ftp_root', ''), 'tempdir' => $config->get('tmp_path', ''), ]; } private function loadCommonJavascript() { $this->container->template->addJS('media://com_akeeba/js/Configuration.min.js', true, false, $this->container->mediaVersion); $this->container->template->addJS('media://com_akeeba/js/Restore.min.js', true, false, $this->container->mediaVersion); // Push translations JText::script('COM_AKEEBA_CONFIG_UI_BROWSE'); JText::script('COM_AKEEBA_CONFIG_UI_CONFIG'); JText::script('COM_AKEEBA_CONFIG_UI_REFRESH'); JText::script('COM_AKEEBA_FILEFILTERS_LABEL_UIROOT'); JText::script('COM_AKEEBA_CONFIG_UI_FTPBROWSER_TITLE'); JText::script('COM_AKEEBA_CONFIG_DIRECTFTP_TEST_OK'); JText::script('COM_AKEEBA_CONFIG_DIRECTFTP_TEST_FAIL'); JText::script('COM_AKEEBA_CONFIG_DIRECTSFTP_TEST_OK'); JText::script('COM_AKEEBA_CONFIG_DIRECTSFTP_TEST_FAIL'); JText::script('COM_AKEEBA_BACKUP_TEXT_LASTRESPONSE'); } }