public function run() { require FRAMEWORK . DS . 'conf' . DS . 'dispatcher.php'; require FRAMEWORK . DS . 'conf' . DS . 'auth.php'; $pageid = isset($_GET['pageid']) ? $_GET['pageid'] : $defaultPageid; $page = $this->resolvePage($pageid); $pageid = $page->getId(); $module_pageModel = new modulepageModel(); // -1 equals all pages $req = array(); $req['pageid'] = array('mode' => 'IN', 'value' => array('-1', $pageid)); $order = array('fields' => array('areaid', 'order'), 'type' => 'ASC'); try { $modulesForPage = $module_pageModel->get($req, $order); } catch (Exception $e) { //error echo $e->getMessage(); } $pageview = new ui(); $xajaxJs = $this->xajax->getJavascript(); global $debugajax; if ($debugajax) { $debugJs = '<script type="text/javascript" src="xajax_js/xajax_debug.js" charset="UTF-8"></script>'; $pageview->assign('xajax_javascript', $xajaxJs . "\n" . $debugJs); } else { $pageview->assign('xajax_javascript', $xajaxJs); } $output = array(); $moduleModel = new moduleModel(); foreach ($modulesForPage as $moduleForPage) { try { $areaModel = new areaModel(); $area = $areaModel->getfromId($moduleForPage->getAreaid()); $meh = 1; if (count($area) == 1) { $area = $area[0]; } else { throw new Exception('Area could not be loaded'); } $module = $moduleModel->getfromId($moduleForPage->getModuleid()); if (count($module) == 1) { $module = $module[0]; } else { throw new Exception('Module could not be loaded'); } $controllerName = $module->getName() . 'Controller'; $actionName = $module->getAction(); $controller = new $controllerName($module->getPrefix() . '_' . $module->getName()); foreach ($controller->getAllowedget() as $allowedGetVar) { if (isset($_GET[$allowedGetVar])) { $module->addArguments(array($allowedGetVar => $_GET[$allowedGetVar])); } } $output[$area->getName()] .= '<div id="' . $module->getPrefix() . '_' . $module->getName() . '" class="module">' . $controller->{$actionName}($module->getArguments()) . '</div>'; } catch (Exception $e) { // Ok, that didn't work $result = createErrorView($e); if ($area instanceof areaObject) { $output[$area->getName()] .= '<div class="module">' . $result . '</div>'; } } } // Add the popup div $output['popup'] = '<div id="popupcontainer" style="visibility: hidden; position: absolute;"></div>'; foreach ($output as $area => $content) { $pageview->assign($area, $content); } // Add the RTE $myrte = new myrte(); $pageview->assign('rteheader', $myrte->getHeader()); $pageview->display($page->getTemplate()); // Init the responses $response = responseLib::getInstance(); $_SESSION['initpageresponse'] = $response; //echo '<script type="text/javascript" charset="UTF-8">xajax_initpage();</script>'; }