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/app/Solo/Controller/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/.sites/103/site8817043/web/wp-content/plugins/akeebabackupwp/app/Solo/Controller/Log.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\Controller;


use Awf\Container\Container;
use Awf\Text\Language;

class Log 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);
	}

	/**
	 * Executes a given controller task. The onBefore<task> and onAfter<task>
	 * methods are called automatically if they exist.
	 *
	 * This method is overridden to add support for the profileid query parameter which switches the active
	 * backup profile.
	 *
	 * @param   string $task The task to execute, e.g. "browse"
	 *
	 * @return  null|bool  False on execution failure
	 *
	 * @throws  \Exception  When the task is not found
	 */
	public function execute($task)
	{
		// If the profile_id parameter is defined and it's a positive integer change the active profile
		$profile_id = $this->input->getInt('profileid', null);

		if (!empty($profile_id) && is_numeric($profile_id) && ($profile_id > 0))
		{
			$this->getContainer()->segment->profile = $profile_id;
		}

		// Execute the controller
		return parent::execute($task);
	}


	/**
	 * Allows the user to select the log origin to display or display the log file itself
	 *
	 * @return  void
	 */
	public function main()
	{
		$tag = $this->input->get('tag', null, 'cmd');
		$latest = $this->input->get('latest', false, 'int');
		
		if (empty($tag))
		{
			$tag = null;
		}

		/** @var \Solo\Model\Log $model */
		$model = $this->getModel();

		if ($latest)
		{
			$logFiles = $model->getLogFiles();
			$tag = array_shift($logFiles);
		}

		$model->setState('tag', $tag);

		$this->display();
	}

	/**
	 * Renders the log contents for use in an iFrame
	 *
	 * @return  void
	 */
	public function iframe()
	{
		$tag = $this->input->get('tag', null, 'cmd');

		if (empty($tag))
		{
			$tag = null;
		}

		$model = $this->getModel();
		$model->setState('tag', $tag);

		$this->display();
	}

	/**
	 * Downloads the log file as a plain text file
	 *
	 * @return  void
	 */
	public function download()
	{
		$tag = $this->input->get('tag', null, 'cmd');

		if (empty($tag))
		{
			$tag = null;
		}

		$asAttachment = $this->input->getBool('attachment', true);

		@ob_end_clean(); // In case some braindead plugin spits its own HTML
		header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
		header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
		header("Content-Description: File Transfer");
		header('Content-Type: text/plain');

		$inCMS    = $this->container->segment->get('insideCMS', false);
		$filename = 'Akeeba ' . ($inCMS ? 'Backup' : 'Solo') . ' Debug Log.txt';

		if ($asAttachment)
		{
			header('Content-Disposition: attachment; filename="' . $filename . '"');
		}

		/** @var \Solo\Model\Log $model */
		$model = $this->getModel();
		$model->setState('tag', $tag);

		$model->echoRawLog();

		if (!$this->noFlush)
		{
			@flush();
		}

		$this->container->application->close();
	}

	public function inlineRaw()
	{
		$tag = $this->input->get('tag', null, 'cmd');

		if (empty($tag))
		{
			$tag = null;
		}

		/** @var \Solo\Model\Log $model */
		$model = $this->getModel();
		$model->setState('tag', $tag);
		$model->echoRawLog();
	}

} 

Youez - 2016 - github.com/yon3zu
LinuXploit