| Server IP : 81.19.159.101 / Your IP : 216.73.217.111 Web Server : Apache System : Linux www58.world4you.com 4.18.0-553.126.2.lve.el8.x86_64 #1 SMP Thu May 28 14:12:30 UTC 2026 x86_64 User : ftp8817043 ( 2681) PHP Version : 8.4.21 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/.sites/103/site8817043/web/wp-content/plugins/akeebabackupwp/app/Solo/Controller/ |
Upload File : |
<?php
/**
* @package solo
* @copyright Copyright (c)2014-2025 Nicholas K. Dionysopoulos / Akeeba Ltd
* @license GNU General Public License version 3, or later
*/
namespace Solo\Controller;
use Akeeba\Engine\Platform;
use Awf\Application\Application;
use Awf\Container\Container;
use Awf\Mvc\Model;
use Awf\Text\Language;
use Awf\Text\Text;
class Check extends ControllerDefault
{
private bool $noFlush = false;
public function __construct(?Container $container = null, ?Language $language = null)
{
parent::__construct($container, $language);
$this->noFlush = $this->container->appConfig->get('no_flush', 0);
}
public function execute($task)
{
$this->checkPermissions();
if (!defined('AKEEBA_BACKUP_ORIGIN'))
{
define('AKEEBA_BACKUP_ORIGIN', 'frontend');
}
return parent::execute('main');
}
public function main()
{
$cpanelModel = $this->container->mvcFactory->makeModel('Main');
$result = $cpanelModel->notifyFailed();
$message = $result['result'] ? '200 ' : '500 ';
$message .= implode(', ', $result['message']);
@ob_end_clean();
header('Content-type: text/plain');
header('Connection: close');
echo $message;
if (!$this->noFlush)
{
flush();
}
$this->container->application->close();
}
/**
* Check that the user has sufficient permissions, or die in error
*
*/
private function checkPermissions()
{
// Is frontend backup enabled?
$febEnabled = Platform::getInstance()->get_platform_configuration_option('legacyapi_enabled', 0);
$febEnabled = in_array($febEnabled, array('on', 'checked', 'true', 1, 'yes'));
$validKey = Platform::getInstance()->get_platform_configuration_option('frontend_secret_word', '');
if (!\Akeeba\Engine\Util\Complexify::isStrongEnough($validKey, false))
{
$febEnabled = false;
}
$validKeyTrim = trim($validKey);
if (!$febEnabled || empty($validKey))
{
throw new \RuntimeException(Text::_('SOLO_REMOTE_ERROR_NOT_ENABLED'), 403);
}
// Is the key good?
$key = $this->input->get('key', '', 'none', 2);
if (($key != $validKey) || (empty($validKeyTrim)))
{
throw new \RuntimeException(Text::_('SOLO_REMOTE_ERROR_INVALID_KEY'), 403);
}
}
private function setProfile()
{
// Set profile
$profile = $this->input->get('profile', 1, 'int');
if (empty($profile))
{
$profile = 1;
}
$session = $this->getContainer()->segment;
$session->profile = $profile;
Platform::getInstance()->load_configuration($profile);
}
}