Spade
Mini Shell
| Directory:~$ /home/lmsyaran/www/administrator/components/com_sppagebuilder/editor/helpers/ |
| [Home] [System Details] [Kill Me] |
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Filesystem\Path;
/** No direct access */
defined('_JEXEC') or die('Restricted access');
final class SecurityHelper
{
public static function isActionableFolder(string $folder)
{
$folder = strtolower(Path::clean($folder));
$parts = explode(DIRECTORY_SEPARATOR, $folder);
$parts = array_filter($parts, function ($part)
{
return !empty($part);
});
$parts = array_values($parts);
if (empty($parts) || !is_array($parts) || count($parts) < 2 ||
$parts[0] !== 'images')
{
return false;
}
return true;
}
public static function isGetablePath(string $path)
{
$path = strtolower(Path::clean($path));
$pathArray = explode(DIRECTORY_SEPARATOR, $path);
$pathArray = array_filter($pathArray, function ($part)
{
return !empty($part);
});
$pathArray = array_values($pathArray);
if (empty($pathArray) || !is_array($pathArray) || count($pathArray) <
1 || $pathArray[0] !== 'images')
{
return false;
}
return true;
}
}