1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-03 21:27:25 +02:00

Moved check for existing shortcode class down, after we've determined what the 'real' class name is.

This commit is contained in:
mcfly
2010-04-26 15:05:59 +00:00
parent d026ec91ab
commit 5319933aa1

View File

@@ -266,13 +266,7 @@ class e_parse_shortcode
*/ */
public function getScObject($className, $pluginName = null, $overrideClass = null) public function getScObject($className, $pluginName = null, $overrideClass = null)
{ {
if ($this->isScClass($className)) $_class_fname = $className;
{
return $this->scClasses[$className];
}
// defaults
$_class = $_class_fname = $className;
// plugin override // plugin override
if($overrideClass) if($overrideClass)
@@ -283,23 +277,26 @@ class e_parse_shortcode
} }
// e.g. class plugin_myplug_news_shortcodes // e.g. class plugin_myplug_news_shortcodes
$_class_fname = $overrideClass; $_class_fname = $overrideClass;
$_class = 'plugin_'.$pluginName.'_'.$overrideClass; $className = 'plugin_'.$pluginName.'_'.$overrideClass;
} }
elseif($pluginName) elseif($pluginName)
{ {
$_class = 'plugin_'.$pluginName.'_'.$className; $className = 'plugin_'.$pluginName.'_'.$className;
$className = $_class; }
if ($this->isScClass($className))
{
return $this->scClasses[$className];
} }
$path = ($pluginName ? e_PLUGIN.$pluginName.'/core/shortcodes/batch/' : e_CORE.'shortcodes/batch/').$_class_fname.'.php'; $path = ($pluginName ? e_PLUGIN.$pluginName.'/core/shortcodes/batch/' : e_CORE.'shortcodes/batch/').$_class_fname.'.php';
if (is_readable($path)) if (is_readable($path))
{ {
require_once($path); require_once($path);
if (class_exists($_class, false)) // don't allow __autoload() if (class_exists($className, false)) // don't allow __autoload()
{ {
// register instance directly to allow override // register instance directly to allow override
$this->scClasses[$className] = new $_class(); $this->scClasses[$className] = new $className();
$this->registerClassMethods($className); $this->registerClassMethods($className);
return $this->scClasses[$className]; return $this->scClasses[$className];
} }