Файловый менеджер - Редактировать - /home/wuectly/www/03cbe/com_akeeba.zip
Назад
PK jX!]7#�� � View/Oauth2/Raw.phpnu &1i� <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ namespace Akeeba\Backup\Site\View\Oauth2; defined('_JEXEC') || die; use Akeeba\Backup\Site\Model\Oauth2\ProviderInterface; use Akeeba\Backup\Site\Model\Oauth2\TokenResponse; use FOF40\View\DataView\Raw as BaseView; class Raw extends BaseView { /** @var ProviderInterface|null */ public $provider = null; /** @var TokenResponse|null */ public $tokens = null; /** @var \Exception|null */ public $exception = null; /** @var string|null */ public $step1url = null; }PK jX!]��~�� � tmpl/Oauth2/error.phpnu &1i� <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** * @var \Akeeba\Backup\Site\View\OAuth2\Raw $this */ use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; /** @var JDocumentRaw $doc */ $doc = Factory::getDocument(); $app = Factory::getApplication(); $app->setHeader('Pragma', 'public'); $app->setHeader('Expires', '0'); $app->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0'); $app->setHeader('Cache-Control', 'public'); $doc->setMimeEncoding('text/html'); $title = Text::sprintf('COM_AKEEBA_OAUTH2_TITLE', $this->provider->getEngineNameForHumans()); ?> <html lang="<?= Factory::getApplication()->getLanguage()->getTag() ?>"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title><?= Text::sprintf('COM_AKEEBA_OAUTH2_TITLE', $this->provider->getEngineNameForHumans()) ?></title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" defer crossorigin="anonymous"></script> </head> <body> <div class="card m-2 border-danger border-2"> <div class="card-body"> <h1> <?= Text::sprintf('COM_AKEEBA_OAUTH2_AUTH_ERROR', $this->provider->getEngineNameForHumans()) ?> </h1> <p> <?= $this->escape($this->exception->getMessage()) ?> </p> </div> </div> </body> </html> PK jX!]��/� tmpl/Oauth2/default.phpnu &1i� <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** * @var \Akeeba\Backup\Site\View\OAuth2\Raw $this */ use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; /** @var JDocumentRaw $doc */ $doc = Factory::getDocument(); $app = Factory::getApplication(); $app->setHeader('Pragma', 'public'); $app->setHeader('Expires', '0'); $app->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0'); $app->setHeader('Cache-Control', 'public'); $doc->setMimeEncoding('text/html'); $title = Text::sprintf('COM_AKEEBA_OAUTH2_TITLE', $this->provider->getEngineNameForHumans()); ?> <html lang="<?= Factory::getApplication()->getLanguage()->getTag() ?>"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title><?= Text::sprintf('COM_AKEEBA_OAUTH2_TITLE', $this->provider->getEngineNameForHumans()) ?></title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" defer crossorigin="anonymous"></script> </head> <body> <div class="card m-2"> <div class="card-body"> <h1> <?= Text::sprintf('COM_AKEEBA_OAUTH2_AUTH_ALMOST_COMPLETE', $this->provider->getEngineNameForHumans()) ?> </h1> <p> <?= Text::_('COM_AKEEBA_OAUTH2_AUTH_COPY') ?> </p> <p> <strong><?= Text::_('COM_AKEEBA_OAUTH2_ACCESS') ?></strong><br/> <code><?= $this->escape($this->tokens['accessToken']) ?></code><br/> <strong><?= Text::_('COM_AKEEBA_OAUTH2_REFRESH') ?></strong><br/> <code><?= $this->escape($this->tokens['refreshToken']) ?></code><br/><br/> </p> </div> </div> </body> </html> PK jX!]w� tmpl/Oauth2/step1.phpnu &1i� <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** * @var \Akeeba\Backup\Site\View\OAuth2\Raw $this */ use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; /** @var JDocumentRaw $doc */ $doc = Factory::getDocument(); $app = Factory::getApplication(); $app->setHeader('Pragma', 'public'); $app->setHeader('Expires', '0'); $app->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0'); $app->setHeader('Cache-Control', 'public'); $doc->setMimeEncoding('text/html'); $title = Text::sprintf('COM_AKEEBA_OAUTH2_TITLE', $this->provider->getEngineNameForHumans()); ?> <html lang="<?= Factory::getApplication()->getLanguage()->getTag() ?>"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title> <?= Text::sprintf('COM_AKEEBA_OAUTH2_TITLE', $this->provider->getEngineNameForHumans()) ?> </title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" defer crossorigin="anonymous"></script> </head> <body> <div class="card m-2"> <div class="card-body"> <h1> <?= Text::sprintf('COM_AKEEBA_OAUTH2_AUTH', $this->provider->getEngineNameForHumans()) ?> </h1> <p> <?= Text::sprintf('COM_AKEEBA_OAUTH2_AUTH_INFO', $this->provider->getEngineNameForHumans(), Factory::getApplication()->get('sitename')) ?> </p> <p class="text-center p-3"> <a href="<?= $this->step1url ?>" class="btn btn-lg btn-primary" > <?= Text::sprintf('COM_AKEEBA_OAUTH2_AUTH_START', $this->provider->getEngineNameForHumans()) ?> </a> </p> </div> </div> </body> </html> PK jX!]��ѡ� � Dispatcher/.htaccessnu &1i� <IfModule !mod_authz_core.c> Order deny,allow Deny from all </IfModule> <IfModule mod_authz_core.c> <RequireAll> Require all denied </RequireAll> </IfModule> PK jX!]|��N Dispatcher/web.confignu &1i� <?xml version="1.0"?> <!-- This only works on IIS 7 or later. See https://www.iis.net/configreference/system.webserver/security/requestfiltering/fileextensions --> <configuration> <system.webServer> <security> <requestFiltering> <fileExtensions allowUnlisted="false" > <clear /> <add fileExtension=".html" allowed="true"/> </fileExtensions> </requestFiltering> </security> </system.webServer> </configuration>PK jX!]��Z�6 6 Dispatcher/Dispatcher.phpnu &1i� <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ namespace Akeeba\Backup\Site\Dispatcher; // Protect from unauthorized access defined('_JEXEC') || die(); use Akeeba\Backup\Admin\Dispatcher\Dispatcher as AdminDispatcher; use Akeeba\Backup\Admin\Helper\SecretWord; use Akeeba\Engine\Factory; use Akeeba\Engine\Platform; use FOF40\Container\Container; use FOF40\Dispatcher\Exception\AccessForbidden; use Joomla\CMS\Document\Document; use Joomla\CMS\Document\JsonDocument as JDocumentJSON; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Language\Text; class Dispatcher extends AdminDispatcher { /** @var string The name of the default view, in case none is specified */ public $defaultView = 'Backup'; /** * Dispatcher constructor. Overridden to set up a different default view and migrated views map than the back-end. * * @param Container $container The component's container * @param array $config Optional configuration overrides */ public function __construct(Container $container, array $config) { parent::__construct($container, $config); $this->defaultView = 'Backup'; $this->viewNameAliases = [ 'backup' => 'Backup', 'backups' => 'Backup', 'check' => 'Check', 'checks' => 'Check', 'json' => 'Json', 'jsons' => 'Json', ]; } /** * Executes before dispatching the request to the appropriate controller */ public function onBeforeDispatch() { // Make sure we have a version loaded @include_once($this->container->backEndPath . '/version.php'); if (!defined('AKEEBA_VERSION')) { define('AKEEBA_VERSION', 'dev'); define('AKEEBA_DATE', date('Y-m-d')); } // Core version: there is no front-end, throw a 403 if (!defined('AKEEBA_PRO') || !AKEEBA_PRO) { throw new AccessForbidden(Text::_('COM_AKEEBA_ERR_NO_FRONTEND_IN_CORE')); } // $this->container->platform->importPlugin('akeebabackup'); // $this->container->platform->runPlugins('onComAkeebaDispatcherBeforeDispatch', []); $this->onBeforeDispatchViewAliases(); // Load the FOF language $lang = $this->container->platform->getLanguage(); $lang->load('lib_fof40', JPATH_SITE, 'en-GB', true, true); $lang->load('lib_fof40', JPATH_SITE, null, true, false); // Necessary defines for Akeeba Engine if (!defined('AKEEBAENGINE')) { define('AKEEBAENGINE', 1); define('AKEEBAROOT', $this->container->backEndPath . '/BackupEngine'); define('ALICEROOT', $this->container->backEndPath . '/AliceEngine'); } // Make sure we have a profile set throughout the component's lifetime $profile_id = $this->container->platform->getSessionVar('profile', null, 'akeeba'); if (is_null($profile_id)) { $this->container->platform->setSessionVar('profile', 1, 'akeeba'); } // Load Akeeba Engine $basePath = $this->container->backEndPath; require_once $basePath . '/BackupEngine/Factory.php'; // Load the Akeeba Engine configuration Platform::addPlatform('joomla3x', JPATH_COMPONENT_ADMINISTRATOR . '/BackupPlatform/Joomla3x'); $akeebaEngineConfig = Factory::getConfiguration(); Platform::getInstance()->load_configuration(); unset($akeebaEngineConfig); // Prevents the "SQLSTATE[HY000]: General error: 2014" due to resource sharing with Akeeba Engine $this->fixPDOMySQLResourceSharing(); // Load the utils helper library Platform::getInstance()->load_version_defines(); // Make sure the front-end backup Secret Word is stored encrypted $params = $this->container->params; SecretWord::enforceEncryption($params, 'frontend_secret_word'); // Create a media file versioning tag $this->container->mediaVersion = md5(AKEEBA_VERSION . AKEEBA_DATE); } public function onAfterDispatch() { // Make sure that Api and Json views forcibly get format=json if (in_array($this->view, ['Api', 'Json'])) { $format = $this->input->getCmd('format', 'html'); if ($format == 'json') { return; } $app = JFactory::getApplication(); // Disable caching, disable offline, force use of index.php $app->set('caching', 0); $app->set('offline', 0); $app->set('themeFile', 'index.php'); /** @var \Joomla\CMS\Document\JsonDocument $doc */ $doc = Document::getInstance('json'); $app->loadDocument($doc); if (property_exists(JFactory::class, 'document')) { JFactory::$document = $doc; } // Set a custom document name /** @var JDocumentJSON $document */ $document = $this->container->platform->getDocument(); $document->setName('akeeba_backup'); } } } PK jX!]L�J�� � Model/index.htmlnu &1i� <!--~ ~ @package akeebabackup ~ @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd ~ @license GNU General Public License version 3, or later --> <html><head><title></title></head><body></body></html>PK jX!]�4$t t Model/Updates.phpnu &1i� <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ namespace Akeeba\Backup\Site\Model; // Protect from unauthorized access defined('_JEXEC') || die(); use Akeeba\Backup\Admin\Model\Updates as AdminModel; class Updates extends AdminModel { } PK jX!]Gj�v v Model/Profiles.phpnu &1i� <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ namespace Akeeba\Backup\Site\Model; // Protect from unauthorized access defined('_JEXEC') || die(); use Akeeba\Backup\Admin\Model\Profiles as AdminModel; class Profiles extends AdminModel { } PK jX!]ǩF�0 0 Model/Oauth2/BoxEngine.phpnu &1i� <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ namespace Akeeba\Backup\Site\Model\Oauth2; defined('_JEXEC') || die; class BoxEngine extends AbstractProvider implements ProviderInterface { /** @var string */ protected $tokenEndpoint = 'https://api.box.com/oauth2/token'; /** @var string */ protected $engineNameForHumans = 'Box.com'; public function getAuthenticationUrl(): string { $this->checkConfiguration(); [$id, $secret] = $this->getIdAndSecret(); $params = [ 'response_type' => 'code', 'client_id' => $id, 'redirect_uri' => $this->getUri('step2'), ]; return 'https://account.box.com/api/oauth2/authorize?' . http_build_query($params); } }PK jX!]�h Model/Oauth2/DropboxEngine.phpnu &1i� <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ namespace Akeeba\Backup\Site\Model\Oauth2; defined('_JEXEC') || die; use FOF40\Input\Input; class DropboxEngine extends AbstractProvider implements ProviderInterface { /** @var string */ protected $tokenEndpoint = 'https://api.dropboxapi.com/1/oauth2/token'; /** @var string */ protected $engineNameForHumans = 'Dropbox'; public function getAuthenticationUrl(): string { $this->checkConfiguration(); [$id, $secret] = $this->getIdAndSecret(); $params = [ 'client_id' => $id, 'response_type' => 'code', 'redirect_uri' => $this->getUri('step2'), 'scope' => implode( ' ', [ 'account_info.read', 'files.metadata.read', 'files.content.write', 'files.content.read', 'team_data.member', ] ), 'token_access_type' => 'offline', ]; return 'https://www.dropbox.com/1/oauth2/authorize?' . http_build_query($params); } protected function getResponseCustomFields(Input $input): array { $fields = parent::getResponseCustomFields($input); unset($fields['client_id']); unset($fields['client_secret']); $fields['redirect_uri'] = $this->getUri('step2'); return $fields; } protected function getRefreshCustomFields(Input $input): array { $fields = parent::getRefreshCustomFields($input); unset($fields['client_id']); unset($fields['client_secret']); return $fields; } }PK jX!]�4Jo_ _ "