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 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 showspecdetails($parameters = array()) { $view = new ui($this); $specmodel = new wdokterspecialismeModel(); $spec = $specmodel->getfromId($parameters['specid']); if (count($spec) == 1) { $spec = $spec[0]; $view->assign('specialisme', $spec); $closerequest = new ajaxrequest('mydoktervanwacht', 'showoverzicht', array()); $view->assign('closerequest', $closerequest); if ($parameters['history'] != 'history') { $this->response->addWaypoint('mydoktervanwacht', 'showspecdetails', uniqid(), array('specid' => $parameters['specid'], 'startofmonth' => $parameters['startofmonth'], 'endofmonth' => $parameters['endofmonth'])); } $output = array(); $startofmonth = isset($parameters['startofmonth']) ? $parameters['startofmonth'] : mktime(00, 00, 00, date('m'), 01, date('Y')); $endofmonth = isset($parameters['endofmonth']) ? $parameters['endofmonth'] : mktime(00, 00, 00, date('m') + 1, 01, date('Y')) - 1; $wachtdokterModel = new wachtdokterviewModel(); $speccond = array('specialisme' => array('mode' => '=', 'value' => $parameters['specid'])); for ($i = $startofmonth; $i < $endofmonth; $i += 86400) { $start = array('start' => array('mode' => 'BETWEEN', 'value' => $i + 1, 'topvalue' => $i + 86400 - 1)); $stop = array('stop' => array('mode' => 'BETWEEN', 'value' => $i, 'topvalue' => $i + 86400 - 1)); $big = array('AND' => array(array('start' => array('mode' => '<', 'value' => $i + 1)), array('stop' => array('mode' => '>', 'value' => $i + 86400 - 1)))); $cond = array('OR' => array($start, $stop, $big)); $dokters = $wachtdokterModel->get(array('AND' => array($speccond, $cond)), array('fields' => array('start'), 'type' => 'ASC')); $outputdokters = array(); foreach ($dokters as $dokter) { $tmpdok = array(); $tmpdok['dokter'] = $dokter; if (myacl::isAllowed(myauth::getCurrentuser(), $spec, 'managewacht')) { if ($dokter->getStart() > $i - 1) { $tmpdok['request'] = new ajaxrequest('mydoktervanwacht', 'deletedoktervanwacht', array('id' => $dokter->getId(), 'specid' => $parameters['specid'], 'startofmonth' => $startofmonth, 'endofmonth' => $endofmonth)); } } $outputdokters[] = $tmpdok; } $tmp = array(); $tmp['dokters'] = $outputdokters; $tmp['start'] = $i; if (myacl::isAllowed(myauth::getCurrentuser(), $spec, 'managewacht')) { $tmp['addrequest'] = new ajaxrequest('mydoktervanwacht', 'adddoktervanwacht', array('specid' => $parameters['specid'], 'startofmonth' => $startofmonth, 'endofmonth' => $endofmonth, 'start' => $tmp['start'])); } $output[] = $tmp; } $view->assign('list', $output); $prevmonth = date('m', $startofmonth) - 1 < 1 ? 12 : date('m', $startofmonth) - 1; $prevyear = date('m', $startofmonth) - 1 < 1 ? date('Y', $startofmonth) - 1 : date('Y', $startofmonth); $startofprevmonth = mktime(00, 00, 00, $prevmonth, 01, $prevyear); $endofprevmonth = $startofmonth - 1; $prevrequest = new ajaxrequest('mydoktervanwacht', 'showspecdetails', array('specid' => $parameters['specid'], 'startofmonth' => $startofprevmonth, 'endofmonth' => $endofprevmonth)); $view->assign('prevrequest', $prevrequest); $nextmonth = date('m', $startofmonth) + 1 > 12 ? 1 : date('m', $startofmonth) + 1; $nextyear = date('m', $startofmonth) + 1 > 12 ? date('Y', $startofmonth) + 1 : date('Y', $startofmonth); $startofnextmonth = $endofmonth + 1; $endofnextmonth = mktime(00, 00, 00, $nextmonth + 1, 01, $nextyear) - 1; $nextrequest = new ajaxrequest('mydoktervanwacht', 'showspecdetails', array('specid' => $parameters['specid'], 'startofmonth' => $startofnextmonth, 'endofmonth' => $endofnextmonth)); $view->assign('nextrequest', $nextrequest); $this->response->assign($this->self, 'innerHTML', $view->fetch('mydoktervanwacht_specdetails.tpl')); if (myacl::isAllowed(myauth::getCurrentuser(), $spec, 'managerights')) { $aclcontroller = new myaclController(); $aclcontroller->listacl(array('targetoutput' => 'acllist_wachtdokter_' . $parameters['specid'], 'objecttype' => 'wdokterspecialismeObject', 'objectid' => $parameters['specid'])); } } }