protected function fillObject($data) { $object = parent::fillObject($data); $areamodel = new areaModel(); $areas = $areamodel->getfromId($object->getAreaid()); if (count($areas) == 1) { $object->setAreaname($areas[0]->getName()); } $pagemodel = new pageModel(); $pages = $pagemodel->getfromId($object->getPageid()); if (count($pages) == 1) { $object->setPagename($pages[0]->getTitle()); } $modulemodel = new moduleModel(); $modules = $modulemodel->getfromId($object->getModuleid()); if (count($modules) == 1) { $module = $modules[0]; $object->setModuletitle($module->getTitle()); $object->setModulename($module->getName()); $object->setModuleaction($module->getAction()); $args = $module->getArguments(); $contr = new mymoduleadminController(); $options = $contr->getOptions($module->getName(), $module->getAction()); foreach ($args as $key => $value) { if (isset($options[$key][$value])) { $value = $options[$key][$value]; } $arguments .= '<strong>' . $key . ': </strong> ' . $value . '<br />'; } $object->setModuleargs($arguments); } return $object; }
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>'; }
public function managepages($parameters = array()) { $view = new ui($this); if (!isset($parameters['parentid'])) { $parentid = 0; } else { $parentid = $parameters['parentid']; } $pagemodel = new pageModel(); if ($parentid != 0) { $currentpage = $pagemodel->getfromId($parentid); if (count($currentpage) == 1) { $currentpage = $currentpage[0]; if (!$parameters['history']) { $this->response->addWaypoint('mypageadmin', 'managepages', 'pageadmin', $parameters); } } } $grid = new mygrid('pagelist_' . $parentid); $grid->setModel($pagemodel); $grid->setDefaultconditions(array('parentid' => array('mode' => '=', 'value' => $parentid))); $grid->setDefaultorder(array('fields' => array('order'), 'type' => 'ASC')); $grid->setOrderfield('order'); $grid->registerRequest('title', 'mypageadmin', 'managepages', array('parentid' => '{id}')); if ($currentpage instanceof pageObject) { $add = myacl::isAllowed(myauth::getCurrentuser(), $currentpage, 'addpage'); } else { $add = myacl::isAllowed(myauth::getCurrentuser(), new securitytarget('pagemanagement'), 'addrootpage'); } if ($add) { $grid->registerAddrequest('mypageadmin', 'addpage', array('title' => 'Pagina toevoegen', 'parentid' => $parentid)); } $view->assign('grid', $grid); $pageid = $currentpage instanceof pageObject ? $currentpage->getId() : -1; $areamodel = new areaModel(); $areas = $areamodel->get(); $modules = array(); $idcond = array('pageid' => array('mode' => '=', 'value' => $pageid)); foreach ($areas as $area) { $areacond = array('areaid' => array('mode' => '=', 'value' => $area->getId())); $grid = new mygrid('modules_page_' . $pageid . '_area_' . $area->getId()); $grid->setModel(new processedmodulepageModel()); $grid->setDefaultconditions(array('AND' => array($idcond, $areacond))); $grid->setDefaultorder(array('fields' => array('order'), 'type' => 'ASC')); $grid->setOrderfield('order'); $grid->registerAddrequest('mypageadmin', 'addmodulepagelink', array('title' => 'Module aan pagina toevoegen', 'areaid' => $area->getId(), 'pageid' => $pageid)); $modules[$area->getName()] = $grid; } $view->assign('modules', $modules); if ($currentpage instanceof pageObject) { $aclcontroller = new myaclController(); $acl = $aclcontroller->listacl(array('targetoutput' => '_return_', 'objecttype' => 'pageObject', 'objectid' => $currentpage->getId())); $view->assign('acl', $acl); $titleform = new form($parameters); $titleform->addField(new textField('title', 'Titel', $currentpage->getTitle(), array('required'))); $titleform->addField(new hiddenField('parentid', $currentpage->getId())); if ($titleform->validate()) { $flash = new popupController(); if ($titleform->getFieldvalue('title') != $currentpage->getTitle()) { $currentpage->setTitle($titleform->getFieldvalue('title')); try { $pagemodel->save($currentpage); } catch (Exception $e) { $flash->createflash(array('name' => 'err', 'type' => 'error', 'content' => 'De gegevens zijn niet goed bewaard! Raadpleeg de informaticadienst.')); return false; } $flash->createflash(array('name' => 'success', 'type' => 'success', 'content' => 'De gegevens zijn goed bewaard.')); } else { $flash->createflash(array('name' => 'warning', 'type' => 'warning', 'content' => 'De nieuwe titel is gelijk aan de vorige titel.')); } $view->assign('titleform', $titleform); } elseif (!$titleform->isSent()) { $view->assign('titleform', $titleform); } else { return false; } } $theparentid = $parentid; $path = array(); while ($theparentid != 0) { $parent = $pagemodel->getfromId($theparentid); if (count($parent) == 1) { $parent = $parent[0]; $tmp = array(); $tmp['page'] = $parent; $tmp['request'] = new ajaxrequest('mypageadmin', 'managepages', array('parentid' => $theparentid)); $path[] = $tmp; $theparentid = $parent->getParentid(); } else { $theparentid = 0; } } $rootpage = new pageObject(); $rootpage->setTitle('Root'); $root['page'] = $rootpage; $root['request'] = new ajaxrequest('mypageadmin', 'managepages', array('parentid' => 0)); $path[] = $root; $view->assign('path', array_reverse($path)); $view->assign('currentpage', $currentpage); $this->response->assign($this->self, 'innerHTML', $view->fetch('mypageadmin_managepages.tpl')); }