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')); }
public function editSection($parameters = array()) { $view = new ui($this); $form = new mygridform($parameters, $parameters['-gridid-'], 'edit'); $model = new myarticlesectionModel(); $section = $model->getfromId($parameters['id']); if (count($section) == 1) { $section = $section[0]; $form->addField(new textField('name', 'Sectie', $section->getName(), array('required'))); $form->addField(new hiddenField('id', $parameters['id'])); if ($form->validate()) { $section->setName($form->getFieldvalue('name')); try { $model->save($section); } catch (Exception $e) { $flash = new popupController(); $flash->createflash(array('name' => 'erroredit', 'type' => 'error', 'content' => 'De gegevens werden niet aangepast! Raadpleeg de informaticadienst.')); return false; } $flash = new popupController(); $flash->createflash(array('name' => 'flash_edit_' . $parameters['-gridid-'], 'type' => 'success', 'content' => 'De gegevens zijn goed aangepast.')); return true; } elseif (!$form->isSent()) { $view->assign('form', $form); if (myacl::isAllowed(myauth::getCurrentuser(), $section, 'manage_articlelinks', false)) { $grid = new mygrid('articles_' . $section->getId()); $grid->setModel(new processedmyarticlesectionlinkModel()); $grid->setDefaultconditions(array('sectionid' => array('mode' => '=', 'value' => $section->getId()))); $grid->setDefaultorder(array('fields' => array('order'), 'type' => 'ASC')); $grid->setOrderfield('order'); $grid->registerAddrequest('myarticle', 'addarticlelink', array('title' => 'Artikel linken', 'sectionid' => $section->getId())); $grid->registerDeleterequest('myarticle', 'deletearticlelink', array('title' => 'Link met artikel verwijderen', 'id' => '{id}')); $grid->registerEditrequest('myarticle', 'editArticle', array('id' => '{articleid}', 'title' => 'Artikel aanpassen', 'myacl' => array('target' => '{this}', 'right' => 'edit', 'default' => false))); $view->assign('grid', $grid); } $aclcontroller = new myaclController(); $acllist = $aclcontroller->listacl(array('targetoutput' => '_return_', 'objecttype' => 'myarticlesectionObject', 'objectid' => $parameters['id'])); $view->assign('section', $section); $view->assign('acllist', $acllist); return $view->fetch('myarticle_editsection.tpl'); } else { return false; } } else { return false; } }
public function managepromotions($parameters = array()) { require FRAMEWORK . DS . 'conf' . DS . 'mycafetaria.php'; $view = new ui($this); $grid = new mygrid('promotions'); $grid->setModel(new cafetariapromotieModel()); $grid->registerEditrequest('mycafetaria', 'editpromotion', array('title' => 'Promotie aanpassen', 'id' => '{id}')); $view->assign('promotions', $grid); $articles = new mygrid('articles_promotions'); $articles->setModel(new processedmyarticlesectionlinkModel()); $articles->setDefaultconditions(array('sectionid' => array('mode' => '=', 'value' => $promotionarticlesection))); $articles->setOrderfield('order'); $articles->registerAddrequest('mycafetaria', 'addpromotext', array('title' => 'Artikel toevoegen', 'sectionid' => $promotionarticlesection)); $articles->registerEditrequest('mycafetaria', 'editpromotext', array('title' => 'Artikel aanpassen', 'id' => '{articleid}')); $view->assign('articles', $articles); $this->response->assign($this->self, 'innerHTML', $view->fetch('mycafetaria_managepromotions.tpl')); }