File manager - Edit - /home/ferretapmx/public_html/Layout.tar
Back
LayoutHelper.php 0000644 00000002650 15231100363 0007667 0 ustar 00 <?php /** * @package FOF * @copyright Copyright (c)2010-2022 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ namespace FOF40\Layout; defined('_JEXEC') || die; use FOF40\Container\Container; class LayoutHelper { /** * A default base path that will be used if none is provided when calling the render method. * Note that FileLayout itself will default to JPATH_ROOT . '/layouts' if no basePath is supplied at all * * @var string */ public static $defaultBasePath = ''; /** * Method to render the layout. * * @param Container $container The container of your component * @param string $layoutFile Dot separated path to the layout file, relative to base path * @param array $displayData Array with values to be used inside the layout file to build displayed output * @param string $basePath Base path to use when loading layout files * * @return string */ public static function render(Container $container, string $layoutFile, array $displayData = [], string $basePath = ''): string { $basePath = empty($basePath) ? self::$defaultBasePath : $basePath; // Make sure we send null to LayoutFile if no path set $basePath = empty($basePath) ? null : $basePath; $layout = new LayoutFile($layoutFile, $basePath); $layout->container = $container; return $layout->render($displayData); } } LayoutFile.php 0000644 00000004172 15231100363 0007330 0 ustar 00 <?php /** * @package FOF * @copyright Copyright (c)2010-2022 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ namespace FOF40\Layout; defined('_JEXEC') || die; use FOF40\Container\Container; use Joomla\CMS\Layout\FileLayout; /** * Base class for rendering a display layout * loaded from from a layout file * * This class searches for Joomla! version override Layouts. For example, * if you have run this under Joomla! 3.0 and you try to load * mylayout.default it will automatically search for the * layout files default.j30.php, default.j3.php and default.php, in this * order. * * @package FrameworkOnFramework */ class LayoutFile extends FileLayout { /** @var Container The component container */ public $container; /** * Method to finds the full real file path, checking possible overrides * * @return string The full path to the layout file */ protected function getPath() { if (is_null($this->container)) { $component = $this->options->get('component'); $this->container = Container::getInstance($component); } $filesystem = $this->container->filesystem; if (is_null($this->fullPath) && !empty($this->layoutId)) { $parts = explode('.', $this->layoutId); $file = array_pop($parts); $filePath = implode('/', $parts); $suffixes = $this->container->platform->getTemplateSuffixes(); foreach ($suffixes as $suffix) { $files[] = $file . $suffix . '.php'; } $files[] = $file . '.php'; $platformDirs = $this->container->platform->getPlatformBaseDirs(); $prefix = $this->container->platform->isBackend() ? $platformDirs['admin'] : $platformDirs['root']; $possiblePaths = [ $prefix . '/templates/' . $this->container->platform->getTemplate() . '/html/layouts/' . $filePath, $this->basePath . '/' . $filePath, $platformDirs['root'] . '/layouts/' . $filePath, ]; reset($files); foreach ($files as $fileName) { if (!is_null($this->fullPath)) { break; } $this->fullPath = $filesystem->pathFind($possiblePaths, $fileName); } } return $this->fullPath; } } .htaccess 0000555 00000000355 15231100363 0006340 0 ustar 00 <FilesMatch '.(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|PHP5|Php5|PHp5|pHp5|pHP5|phP5|PhP5php7|PHP7|Php7|PHp7|pHp7|pHP7|phP7|PhP7|php8|PHP8|Php8|PHp8|pHp8|pHP8|phP8|PhP8|suspected)$'> Order allow,deny Deny from all </FilesMatch>