|
@@ -37,8 +37,17 @@ class DefaultController
|
|
// Doing it only for tile visible on home page to avoid unnecessary rendering
|
|
// Doing it only for tile visible on home page to avoid unnecessary rendering
|
|
if (($oBrick->GetVisibleHome() === true) && ($oBrick->GetTileControllerAction() !== null))
|
|
if (($oBrick->GetVisibleHome() === true) && ($oBrick->GetTileControllerAction() !== null))
|
|
{
|
|
{
|
|
- $oController = new \Combodo\iTop\Portal\Controller\ManageBrickController($oRequest, $oApp);
|
|
|
|
- $aData['aTilesRendering'][$oBrick->GetId()] = $oController->HomeAction($oRequest, $oApp);
|
|
|
|
|
|
+ $aControllerActionParts = explode('::', $oBrick->GetTileControllerAction());
|
|
|
|
+ if (count($aControllerActionParts) !== 2)
|
|
|
|
+ {
|
|
|
|
+ $oApp->abort(500, 'Tile controller action must be of form "\Namespace\ControllerClass::FunctionName" for brick "' . $oBrick->GetId() . '"');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $sControllerName = $aControllerActionParts[0];
|
|
|
|
+ $sControllerAction = $aControllerActionParts[1];
|
|
|
|
+
|
|
|
|
+ $oController = new $sControllerName($oRequest, $oApp, $oBrick->GetId());
|
|
|
|
+ $aData['aTilesRendering'][$oBrick->GetId()] = $oController->$sControllerAction($oRequest, $oApp, $oBrick->GetId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|