public function managemodules($parameters = array())
 {
     $view = new ui($this);
     $grid = new mygrid('modules');
     $grid->setModel(new processedmoduleModel());
     $grid->setNosortfield(array('arguments'));
     $grid->registerAddrequest('mymoduleadmin', 'addmodule', array('title' => 'Module toevoegen'));
     $grid->registerEditrequest('mymoduleadmin', 'editmodule', array('title' => 'Module aanpassen', 'moduleid' => '{id}'));
     $grid->registerDeleterequest('mymoduleadmin', 'deletemodule', array('title' => 'Module verwijderen', 'moduleid' => '{id}'));
     $view->assign('grid', $grid);
     $this->response->assign($this->self, 'innerHTML', $view->fetch('mymoduleadmin_managemodules.tpl'));
 }
 public function listacl($parameters = array())
 {
     $target = isset($parameters['targetoutput']) ? $parameters['targetoutput'] : $this->self;
     $view = new ui($this);
     $conds = array();
     $add = false;
     $showobject = true;
     $showrequester = true;
     if (isset($parameters['objecttype'])) {
         $conds[] = array('objecttype' => array('mode' => '=', 'value' => $parameters['objecttype']));
         $conds[] = array('objectid' => array('mode' => '=', 'value' => $parameters['objectid']));
         $add = true;
         $showobject = false;
         $gridid = 'listacl_o_' . $parameters['objecttype'] . '_' . $parameters['objectid'];
     }
     $view->assign('showobject', $showobject);
     if (isset($parameters['requestertype'])) {
         $conds[] = array('requestertype' => array('mode' => '=', 'value' => $parameters['requestertype']));
         $conds[] = array('requesterid' => array('mode' => '=', 'value' => $parameters['requesterid']));
         $showrequester = false;
         $gridid = 'listacl_r_' . $parameters['requestertype'] . '_' . $parameters['requesterid'];
     }
     $view->assign('showrequester', $showrequester);
     $grid = new mygrid($gridid);
     $grid->setModel(new processedmyaclModel());
     $grid->setDefaultconditions(array('AND' => $conds));
     $grid->setDefaultorder(array('fields' => array('requester', 'rightdesc'), 'type' => 'ASC'));
     if ($add) {
         $object = new $parameters['objecttype']();
         $object->setId($parameters['objectid']);
         if (myacl::isAllowed(myauth::getCurrentuser(), $object, 'managerights')) {
             $grid->registerAddrequest('myacl', 'addacl', array_merge(array('title' => 'Recht toevoegen'), $parameters));
             $grid->registerDeleterequest('myacl', 'deleteacl', array('title' => 'Recht verwijderen', 'id' => '{id}'));
         }
     }
     $view->assign('acllist', $grid);
     if ($target == '_return_') {
         return $view->fetch('myacl_listacl.tpl');
     } else {
         $this->response->assign($target, 'innerHTML', $view->fetch('myacl_listacl.tpl'));
     }
 }
 public function editArticle($parameters = array())
 {
     $view = new ui($this);
     $articlemodel = new myarticleModel();
     $versionmodel = new myarticleversionModel();
     $article = $articlemodel->getfromId($parameters['id']);
     if (count($article) == 1) {
         $article = $article[0];
         $view->assign('article', $article);
         $aliasform = new mygridform($parameters, $parameters['-gridid-'], 'edit');
         $aliasform->addField(new textField('alias', 'Werktitel', $article->getAlias(), array('required')));
         $aliasform->addField(new hiddenField('id', $parameters['id']));
         $aliasform->addField(new hiddenField('title', $parameters['title']));
         if ($aliasform->validate()) {
             $article->setAlias($aliasform->getFieldvalue('alias'));
             $flash = new popupController();
             try {
                 $articlemodel->save($article);
             } 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.'));
             $gridcontroller = new mygridController();
             unset($parameters['hidden_form_id']);
             $parameters['alias'] = '';
             $gridcontroller->editrequest($parameters);
             return true;
         } elseif (!$aliasform->isSent()) {
             $view->assign('aliasform', $aliasform);
         } else {
             return false;
         }
         $versionsids = $article->getVersion();
         $grid = new mygrid('articleversions-' . $article->getId());
         $grid->setModel(new myarticleversionModel());
         $idcond = array('articleid' => array('mode' => '=', 'value' => $parameters['id']));
         $grid->setDefaultconditions($idcond);
         $grid->setDefaultorder(array('fields' => array('state', 'creationdate'), 'type' => 'DESC'));
         $grid->registerEditrequest('myarticle', 'editversion', array('id' => '{id}', 'articleid' => $parameters['id'], 'title' => 'Versie aanpassen', 'myacl' => array('target' => $article, 'right' => 'create_newversion', 'default' => false)));
         $view->assign('grid', $grid);
         if (myacl::isAllowed(myauth::getCurrentuser(), $article, 'manage_sectionlinks')) {
             $sectiongrid = new mygrid('sections_' . $article->getId());
             $sectiongrid->setModel(new processedmyarticlesectionlinkModel());
             $sectiongrid->setDefaultconditions($idcond);
             $sectiongrid->registerAddrequest('myarticle', 'addsectionlink', array('articleid' => $article->getId(), 'title' => 'Nieuwe sectie linken'));
             $sectiongrid->registerDeleterequest('myarticle', 'deletesectionlink', array('id' => '{id}', 'title' => 'Link met sectie verwijderen'));
             $view->assign('sectiongrid', $sectiongrid);
         }
         $aclcontroller = new myaclController();
         $view->assign('acllist', $aclcontroller->listacl(array('targetoutput' => '_return_', 'objecttype' => 'myarticleObject', 'objectid' => $parameters['id'])));
         return $view->fetch('myarticle_editarticle.tpl');
     } else {
         return false;
     }
 }
 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 pathdetails($parameters = array())
 {
     $view = new ui($this);
     $flash = new popupController();
     $model = new dirstatusModel();
     $current = $model->getfromId($parameters['id']);
     if (count($current) == 1) {
         $current = $current[0];
         $view->assign('current', $current);
         $closerequest = new ajaxrequest('mygrid', 'closeextra', array('id' => 'gridextra_' . $parameters['-gridid-']));
         $view->assign('closerequest', $closerequest);
         $history = new mygrid('directorywatcher_' . $current->getId());
         $history->setModel(new dirstatusModel());
         $history->setDefaultconditions(array('path' => array('mode' => '=', 'value' => $current->getPath())));
         $history->setDefaultorder(array('fields' => array('reporttime'), 'type' => 'DESC'));
         $view->assign('history', $history);
         $testmodel = new directorywatchertresholdModel();
         $treshold = new mygrid('treshold_' . $current->getId());
         $treshold->setModel($testmodel);
         $currentresholds = $testmodel->getfromPath($current->getPath());
         if (count($currentresholds) == 0) {
             $treshold->registerAddrequest('directorywatcher', 'addTreshold', array('title' => 'Treshold toevoegen', 'currentid' => $current->getId()));
             $parent = $current->getParent();
             $parenttresholds = array();
             if ($parent != '') {
                 $parentobj = $model->getfromPath($parent);
                 $parentobj = $parentobj[0];
                 $parenttresholds = $testmodel->getfromPath($parent);
                 while (count($parenttresholds) == 0 && $parent != '') {
                     $parent = $parentobj->getParent();
                     $parentobj = $model->getfromPath($parent);
                     $parentobj = $parentobj[0];
                     $parenttresholds = $testmodel->getfromPath($parent);
                 }
             }
             if (count($parenttresholds) == 0 && $parent == '') {
                 $parent = '_default_';
                 $parenttresholds = $testmodel->getfromPath($parent);
             }
             $treshold->setDefaultconditions(array('path' => array('mode' => '=', 'value' => $parent)));
             $treshold->unregisterRequest('-edit-');
             $treshold->unregisterRequest('-delete-');
         } else {
             $treshold->setDefaultconditions(array('path' => array('mode' => '=', 'value' => $current->getPath())));
             $treshold->unregisterRequest('-add-');
             $treshold->registerEditrequest('directorywatcher', 'editTreshold', array('title' => 'Treshold aanpassen', 'id' => '{id}'));
             $treshold->registerDeleterequest('directorywatcher', 'deleteTreshold', array('title' => 'Treshold verwijderen', 'id' => '{id}', 'currentid' => $current->getId()));
         }
         $view->assign('tresholdgrid', $treshold);
         $this->response->assign('gridextra_' . $parameters['-gridid-'], 'innerHTML', $view->fetch('directorywatcher_pathdetails.tpl'));
         $this->response->script('var myFx = new Fx.Scroll(window).toElement(\'gridextra_' . $parameters['-gridid-'] . '\')');
     } else {
         $flash->createflash(array('name' => 'err', 'type' => 'error', 'content' => 'Dit path werd niet gevonden.'));
         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'));
 }