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;
 }
Example #3
0
 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']);
     }
 }