summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
Diffstat (limited to 'library')
-rw-r--r--library/Poolctrl/Controller/Plugin/Modularlayout.php39
1 files changed, 39 insertions, 0 deletions
diff --git a/library/Poolctrl/Controller/Plugin/Modularlayout.php b/library/Poolctrl/Controller/Plugin/Modularlayout.php
new file mode 100644
index 0000000..ad318a4
--- /dev/null
+++ b/library/Poolctrl/Controller/Plugin/Modularlayout.php
@@ -0,0 +1,39 @@
+<?php
+/*
+ * Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg
+ * This program is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your suggestions, praise, or complaints to feedback@openslx.org
+ *
+ * General information about OpenSLX can be found at http://openslx.org/
+ */
+
+class Poolctrl_Controller_Plugin_Modularlayout extends Zend_Controller_Plugin_Abstract
+{
+
+ public function routeShutdown(Zend_Controller_Request_Abstract $request)
+ {
+ $config = Zend_Controller_Front::getInstance()
+ ->getParam('bootstrap')->getOptions();
+ $moduleName = $request->getModuleName();
+ if($moduleName == 'default'){
+ $path = $config['resources']['layout']['layoutPath'];
+ $file = $config['resources']['layout']['layout'];
+ Zend_Layout::getMvcInstance()->setLayoutPath($path/*. DIRECTORY_SEPARATOR .$layoutPath*/);
+ Zend_Layout::getMvcInstance()->setLayout($file);
+ }
+ if (isset($config[$moduleName]['resources']['layout']['layoutPath']) && $moduleName != 'default') {
+ $layoutPath = $config[$moduleName]['resources']['layout']['layoutPath'];
+ $moduleDir = Zend_Controller_Front::getInstance()->getModuleDirectory();
+ $moduleDir .= "/layouts";
+ $layoutScript = $config[$moduleName]['resources']['layout']['layout'];
+ $str = $moduleDir."/".$layoutScript;
+ Zend_Layout::getMvcInstance()->setLayoutPath($moduleDir/*. DIRECTORY_SEPARATOR .$layoutPath*/);
+ Zend_Layout::getMvcInstance()->setLayout($layoutScript);
+
+ }
+ }
+}
+