In this function in which none some or all arguements can be passed.... what is the effect of calling $useCdn = auto as default as opposed to my current default value of null... generally @useCdn would either be a boolean or null.
public static function framework($extras = false, $debug = null, $useCdn = null)
{
$type = $extras ? 'more' : 'core';
// Only load once
if (!empty(static::$loaded[__METHOD__][$type]))
{
return;
}
// If no debugging value is set, use the configuration setting
if ($debug === null)
{
$config = JFactory::getConfig();
$debug = $config->get('debug');
if($useCdn === null)
{
$useCdn = (boolean) $config->get('useCdn');
}
}
if($useCdn === null || $useCdn === true)
{
$config = JFactory::getConfig();
if($useCdn === null)
{
$useCdn = (boolean) $config->get('useCdn');
}
if($useCdn)
{
$cdnMTUri = (strlen($config->get('cdnMTUri'))>0 ? $config->get('cdnMTUri'): null);
if($debug)
{
$cdnMTUri = (strlen($config->get('cdnMTUriD'))>0 ? $config->get('cdnMTUriD'):$cdnMTUri);
}
}
}
if ($type != 'core' && empty(static::$loaded[__METHOD__]['core']))
{
static::framework(false, $debug);
}
if($useCdn && $cdnMTUri !== null)
{
JFactory::getDocument()->addScript($cdnMTUri);
}
JHtml::_('script', 'system/mootools-' . $type . '.js', false, true, false, false, $debug);
JHtml::_('script', 'system/core.js', false, true);
static::$loaded[__METHOD__][$type] = true;
return;
}