FEATURE: Adding Real MVC Support for plugins - Adding some plugin data into cotroller object and fixing a error when the controller action not found
This commit is contained in:
@@ -15,6 +15,7 @@ class Controller
|
|||||||
* @var boolean debug switch for general purpose
|
* @var boolean debug switch for general purpose
|
||||||
*/
|
*/
|
||||||
public $debug = null;
|
public $debug = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @var array - private array to store proxy data
|
* @var array - private array to store proxy data
|
||||||
@@ -45,6 +46,18 @@ class Controller
|
|||||||
*/
|
*/
|
||||||
private $layout = '';
|
private $layout = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @var string contains the pluin name, in case the controller is on a plugin
|
||||||
|
*/
|
||||||
|
private $pluginName = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @var string contains the plugin path
|
||||||
|
*/
|
||||||
|
private $pluginHomeDir = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Magic setter method
|
* Magic setter method
|
||||||
*
|
*
|
||||||
@@ -292,5 +305,25 @@ class Controller
|
|||||||
{
|
{
|
||||||
G::header( "Location: $url" );
|
G::header( "Location: $url" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setPluginName($name)
|
||||||
|
{
|
||||||
|
$this->pluginName = $name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPluginName()
|
||||||
|
{
|
||||||
|
return $this->pluginName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setPluginHomeDir($dir)
|
||||||
|
{
|
||||||
|
$this->pluginHomeDir = $dir;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPluginHomeDir()
|
||||||
|
{
|
||||||
|
return $this->pluginHomeDir;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -828,17 +828,17 @@ if (substr( SYS_COLLECTION, 0, 8 ) === 'gulliver') {
|
|||||||
|
|
||||||
if (is_file($pluginControllerPath. $controllerClass . '.php')) {
|
if (is_file($pluginControllerPath. $controllerClass . '.php')) {
|
||||||
require_once $pluginControllerPath. $controllerClass . '.php';
|
require_once $pluginControllerPath. $controllerClass . '.php';
|
||||||
$isControllerCall = true;
|
|
||||||
} elseif (is_file($pluginControllerPath. ucfirst($controllerClass) . '.php')) {
|
} elseif (is_file($pluginControllerPath. ucfirst($controllerClass) . '.php')) {
|
||||||
$controllerClass = ucfirst($controllerClass);
|
$controllerClass = ucfirst($controllerClass);
|
||||||
require_once $pluginControllerPath. $controllerClass . '.php';
|
require_once $pluginControllerPath. $controllerClass . '.php';
|
||||||
$isControllerCall = true;
|
|
||||||
} elseif (is_file($pluginControllerPath. ucfirst($controllerClass) . 'Controller.php')) {
|
} elseif (is_file($pluginControllerPath. ucfirst($controllerClass) . 'Controller.php')) {
|
||||||
$controllerClass = ucfirst($controllerClass) . 'Controller';
|
$controllerClass = ucfirst($controllerClass) . 'Controller';
|
||||||
require_once $pluginControllerPath. $controllerClass . '.php';
|
require_once $pluginControllerPath. $controllerClass . '.php';
|
||||||
|
}
|
||||||
|
|
||||||
|
//if the method exists
|
||||||
|
if (is_callable(array($controllerClass, $controllerAction))) {
|
||||||
$isControllerCall = true;
|
$isControllerCall = true;
|
||||||
} else {
|
|
||||||
$isControllerCall = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -986,6 +986,12 @@ if (! defined( 'EXECUTE_BY_CRON' )) {
|
|||||||
$controller = new $controllerClass();
|
$controller = new $controllerClass();
|
||||||
$controller->setHttpRequestData($_REQUEST);//NewRelic Snippet - By JHL
|
$controller->setHttpRequestData($_REQUEST);//NewRelic Snippet - By JHL
|
||||||
transactionLog($controllerAction);
|
transactionLog($controllerAction);
|
||||||
|
|
||||||
|
if ($isPluginController) {
|
||||||
|
$controller->setPluginName($pluginName);
|
||||||
|
$controller->setPluginHomeDir(PATH_PLUGINS . $pluginName . PATH_SEP);
|
||||||
|
}
|
||||||
|
|
||||||
$controller->call($controllerAction);
|
$controller->call($controllerAction);
|
||||||
} elseif ($isRestRequest) {
|
} elseif ($isRestRequest) {
|
||||||
//NewRelic Snippet - By JHL
|
//NewRelic Snippet - By JHL
|
||||||
|
|||||||
Reference in New Issue
Block a user