primo commit
This commit is contained in:
55
libraries/fof30/Cli/Traits/JoomlaConfigAware.php
Normal file
55
libraries/fof30/Cli/Traits/JoomlaConfigAware.php
Normal file
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/**
|
||||
* @package FOF
|
||||
* @copyright Copyright (c)2010-2021 Nicholas K. Dionysopoulos / Akeeba Ltd
|
||||
* @license GNU General Public License version 2, or later
|
||||
*/
|
||||
|
||||
namespace FOF30\Cli\Traits;
|
||||
|
||||
defined('_JEXEC') || die;
|
||||
|
||||
/**
|
||||
* Allows the CLI application to use the Joomla Global Configuration parameters as its own configuration.
|
||||
*
|
||||
* @package FOF30\Cli\Traits
|
||||
*/
|
||||
trait JoomlaConfigAware
|
||||
{
|
||||
/**
|
||||
* Method to load the application configuration, returning it as an object or array
|
||||
*
|
||||
* This can be overridden in subclasses if you don't want to fetch config from a PHP class file.
|
||||
*
|
||||
* @param string|null $file The filepath to the file containing the configuration class. Default: Joomla's
|
||||
* configuration.php
|
||||
* @param string $className The name of the PHP class holding the configuration. Default: JConfig
|
||||
*
|
||||
* @return mixed Either an array or object to be loaded into the configuration object.
|
||||
*/
|
||||
protected function fetchConfigurationData($file = null, $className = 'JConfig')
|
||||
{
|
||||
// Set the configuration file name.
|
||||
if (empty($file))
|
||||
{
|
||||
$file = JPATH_BASE . '/configuration.php';
|
||||
}
|
||||
|
||||
// Import the configuration file.
|
||||
if (!is_file($file))
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
include_once $file;
|
||||
|
||||
// Instantiate the configuration object.
|
||||
if (!class_exists('JConfig'))
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
return new $className();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user