public function deletemodule($parameters = array()) { $view = new ui($this); $flash = new popupController(); $model = new processedmoduleModel(); $modules = $model->getfromId($parameters['moduleid']); if (count($modules) == 1) { $module = $modules[0]; $linkmodel = new modulepageModel(); $links = $linkmodel->getfromModuleid($parameters['moduleid']); $pages = array(); if (count($links) > 0) { $all = false; foreach ($links as $link) { $pageids[] = $link->getPageid(); if ($link->getPageid() == -1) { $all = true; } } $pagemodel = new pageModel(); $pages = $pagemodel->get(array('id' => array('mode' => 'IN', 'value' => $pageids))); if ($all) { $newpage = new pageObject(); $newpage->setId(-1); $newpage->setTitle('Alle pagina\'s'); array_unshift($pages, $newpage); } } if ($parameters['sure'] == 'sure') { try { $linkmodel->deletebyModuleid($parameters['moduleid']); $model->delete($module); } catch (Exception $e) { $flash->createflash(array('name' => 'error', 'type' => 'error', 'content' => 'De module werd niet goed verwijderd!')); return false; } $flash->createflash(array('name' => 'success', 'type' => 'success', 'content' => 'De module werd goed verwijderd.')); $this->response->assign('gridextra_' . $parameters['-gridid-'], 'innerHTML', ''); return true; } else { $view->assign('module', $module); $view->assign('pages', $pages); return $view->fetch('mymoduleadmin_deletemodule.tpl'); } } else { $flash->createflash(array('name' => 'error', 'type' => 'error', 'content' => 'De module werd niet gevonden!')); return false; } }
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 addmodulepagelink($parameters = array()) { if (!isset($parameters['moduleid'])) { $view = new ui($this); $grid = new mygrid('addmodules'); $grid->setModel(new processedmoduleModel()); $grid->registerRequest('title', 'mypageadmin', 'addmodulepagelink', array('title' => $parameters['title'], 'areaid' => $parameters['areaid'], 'pageid' => $parameters['pageid'], 'moduleid' => '{id}', 'oldgrid' => $parameters['-gridid-'])); $view->assign('grid', $grid); return $view->fetch('mypageadmin_addmodulepagelink.tpl'); } else { $linkmodel = new modulepageModel(); $link = new modulepageObject(); $link->setPageid($parameters['pageid']); $link->setAreaid($parameters['areaid']); $link->setModuleid($parameters['moduleid']); $link->setOrder($linkmodel->getmax('order', array('AND' => array(array('areaid' => array('mode' => '=', 'value' => $parameters['areaid'])), array('pageid' => array('mode' => '=', 'value' => $parameters['pageid']))))) + 1); $flash = new popupController(); try { $linkmodel->save($link); } catch (Exception $e) { $flash->createflash(array('name' => 'error', 'type' => 'error', 'content' => 'De aanpassing werd niet doorgevoerd! Contacteer de informaticadienst.')); return false; } $flash->createflash(array('name' => 'error', 'type' => 'success', 'content' => 'De aanpassing werd goed doorgevoerd.')); $gridcontr = new mygridController(); $gridcontr->reloadgrid($parameters['oldgrid']); } }