b0y-101 Mini Shell


Current Path : E:/www2/risk/administrator/components/com_sppagebuilder/editor/helpers/
File Upload :
Current File : E:/www2/risk/administrator/components/com_sppagebuilder/editor/helpers/SecurityHelper.php

<?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;
	}
}

Copyright © 2019 by b0y-101