public function addpage($parameters = array()) { $view = new ui($this); $form = new mygridform($parameters, $parameters['-gridid-'], 'edit'); $form->addField(new hiddenField('parentid', $parameters['parentid'])); $form->addField(new textField('title', 'Titel', '', array('required'))); if ($form->validate()) { $pagemodel = new pageModel(); $newpage = new pageObject(); $newpage->setTemplate('page.tpl'); $newpage->setParentid($parameters['parentid']); $newpage->setTitle($parameters['title']); $newpage->setOrder($pagemodel->getmax('order', array('parentid' => array('mode' => '=', 'value' => $parameters['parentid']))) + 1); $flash = new popupController(); try { $pagemodel->save($newpage); } 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.')); $this->response->assign('gridextra_' . $parameters['-gridid-'], 'innerHTML', ''); return true; } elseif (!$form->isSent()) { $view->assign('form', $form); return $view->fetch('mypageadmin_addpage.tpl'); } }
public function wikieditversion($parameters = array()) { $view = new ui($this); $articlemodel = new myarticleModel(); $versionmodel = new myarticleversionModel(); $version = $versionmodel->getfromId($parameters['id']); if (count($version) == 1) { $version = $version[0]; $form = new mygridform($parameters, $parameters['-gridid-'], 'edit'); $form->addField(new textField('title', 'Titel', $version->getTitle(), array('required'))); $form->addField(new hiddenField('start', time())); $form->addField(new hiddenField('alias', $parameters['alias'])); $form->addField(new hiddenField('limit', '')); $form->addField(new hiddenField('stop', -1)); $form->addField(new hiddenField('section', $parameters['section'])); $form->addField(new rteField('content', 'Inhoud', $version->getContent(), array('required'))); $draft = new selectField('state', 'Bewaar als', array('required')); $draft->addOption(new selectoptionField('Actieve versie', 'Actief', true)); $draft->addOption(new selectoptionField('Draft', 'Draft', false)); $form->addField($draft); $form->addField(new hiddenField('articleid', $parameters['articleid'])); $form->addField(new hiddenField('id', $parameters['id'])); if ($form->validate()) { $newversion = new myarticleversionObject(); $newversion->setArticleid($parameters['articleid']); $newversion->setAuthor(myauth::getCurrentuser()->getId()); $newversion->setAuthorname(myauth::getCurrentuser()->getName()); $newversion->setCreationdate(time()); $newversion->setTitle($form->getFieldvalue('title')); $newversion->setState($form->getFieldvalue('state')); $newversion->setStartpublishdate($form->getFieldvalue('start')); $newversion->setContent($form->getFieldvalue('content')); if ($form->getFieldvalue('limit') == 'limit') { $newversion->setStoppublishdate($form->getFieldvalue('stop')); } else { $newversion->setStoppublishdate(-1); } try { if ($form->getFieldvalue('state') == 'Actief') { $articleidcond = array('articleid' => array('mode' => '=', 'value' => $parameters['articleid'])); $statecond = array('state' => array('mode' => '=', 'value' => 'Actief')); $prevactive = $versionmodel->get(array('AND' => array($articleidcond, $statecond))); foreach ($prevactive as $prev) { // This could have been if equal to 1 and just do the one, but this method is "self-healing" if multiple versions get flagged active $prev->setState('Gearchiveerd'); $versionmodel->save($prev); } } $versionmodel->save($newversion); } 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_add_' . $parameters['-gridid-'], 'type' => 'success', 'content' => 'De gegevens zijn goed aangepast.')); $this->response->assign('gridextra_' . $parameters['-gridid-'], 'innerHTML', ''); return true; } elseif (!$form->isSent()) { $view->assign('form', $form); return $view->fetch('myarticle_editversion.tpl'); } else { return false; } } else { return false; } }
protected function buildform($parameters = array()) { $form = new mygridform($parameters, $parameters['-gridid-'], 'edit', 'keukenpakket', 'editPatient'); $form->setPhasedrequest(new ajaxrequest('keukenpakket', 'updateform')); $form->addField(new hiddenField('id', $parameters['id'])); $form->addField(new hiddenField('title', $parameters['title'])); $patientmodel = new keukenpatientModel(); $flash = new popupController(); $patients = $patientmodel->getfromId($parameters['id']); if (count($patients) == 1) { $patient = $patients[0]; $dieetselect = new selectField('dieet', 'Dieet', array('required'), true); $form->addField($dieetselect); $drankselect = new selectField('drank', 'Drank', array('required')); $form->addField($drankselect); } else { $flash->createflash(array('name' => 'err', 'type' => 'error', 'content' => 'Deze patiënt werd niet teruggevonden!')); } return $form; }
public function addTreshold($parameters = array()) { $view = new ui($this); $flash = new popupController(); $model = new directorywatchertresholdModel(); $tresholds = $model->getfromPath('_default_'); $cmodel = new dirstatusModel(); $current = $cmodel->getfromId($parameters['currentid']); $current = $current[0]; if (count($tresholds) == 1) { $treshold = $tresholds[0]; $form = new mygridform($parameters, $parameters['-gridid-'], 'edit'); $form->addField(new hiddenField('title', $parameters['title'])); $form->addField(new hiddenField('currentid', $parameters['currentid'])); $form->addField(new textField('numfiles', 'Aantal bestanden', $treshold->getNumfiles(), array('required', 'numeric'))); $form->addField(new textField('lastfiletime', 'Laatst aangepast', $treshold->getLastfiletime(), array('required', 'numeric'))); $form->addField(new textField('oldestfiletime', 'Oudste bestand', $treshold->getOldestfiletime(), array('required', 'numeric'))); $form->addField(new textField('exists', 'Bestaat', $treshold->getExists(), array('required', 'numeric', 'range:-1<->1'))); $form->addField(new textField('mail', 'Mail', $treshold->getMail(), array('required', 'numeric', 'range:0<->1'))); $form->addField(new textField('mailto', 'Mail naar', $treshold->getMailto(), array('required'))); if ($form->validate()) { $newtreshold = new directorywatchertresholdObject(); $newtreshold->setPath($current->getPath()); $newtreshold->setNumfiles($form->getFieldvalue('numfiles')); $newtreshold->setLastfiletime($form->getFieldvalue('lastfiletime')); $newtreshold->setOldestfiletime($form->getFieldvalue('oldestfiletime')); $newtreshold->setExists($form->getFieldvalue('exists')); $newtreshold->setMail($form->getFieldvalue('mail')); $newtreshold->setMailto($form->getFieldvalue('mailto')); try { $model->save($newtreshold); } catch (Exception $e) { $flash->createflash(array('name' => 'err', 'type' => 'error', 'content' => 'De gegevens werden niet aangepast.')); return false; } $flash->createflash(array('name' => 'success', 'type' => 'success', 'content' => 'De gegevens zijn goed aangepast.')); $this->response->assign('gridextra_' . $parameters['-gridid-'], 'innerHTML', ''); $grid = new mygrid($parameters['-gridid-']); $grid->unregisterRequest('-add-'); $grid->registerEditrequest('directorywatcher', 'editTreshold', array('title' => 'Treshold aanpassen', 'id' => '{id}')); $grid->registerDeleterequest('directorywatcher', 'deleteTreshold', array('title' => 'Treshold verwijderen', 'id' => '{id}', 'currentid' => $current->getId())); $grid->setDefaultconditions(array('path' => array('mode' => '=', 'value' => $current->getPath()))); return true; } elseif (!$form->isSent()) { $view->assign('form', $form); return $view->fetch('directorywatcher_edittreshold.tpl'); } else { return false; } } else { $flash->createflash(array('name' => 'err', 'type' => 'error', 'content' => 'De standaard treshold werd niet gevonden.')); return false; } }
public function addacl($parameters) { include FRAMEWORK . DS . 'conf' . DS . 'myacl.php'; $view = new ui($this); $form = new mygridform($parameters, $parameters['-gridid-'], 'edit'); $objecttype = $parameters['objecttype']; $objectid = $parameters['objectid']; $form->addField(new suggestselectField('myacl', 'getRequesterlist', 'requester', 'Aanvrager', '', array('required'), array('objectype' => $objecttype != 'securitytarget' ? $objecttype : $objectid))); if ($objecttype == 'securitytarget') { $rights = $myacl[$objectid]['rights']; } else { $rights = $myacl[$objecttype]['rights']; } $object = new $objecttype(); $object->setId($objectid); if (myacl::isAllowed(myauth::getCurrentuser(), $object, '_ALL_')) { $form->addField(new checkboxField('form_all', 'Full control', '_ALL_', false)); $form->addField(new checkboxField('form_managerights', 'Rechten beheren', 'managerights', false)); } foreach ($rights as $right => $rightconf) { $form->addField(new checkboxField('form_' . $right, $rightconf['description'], $right, false)); } $form->addField(new hiddenField('objecttype', $objecttype)); $form->addField(new hiddenField('objectid', $objectid)); $form->addField(new hiddenField('module', $parameters['module'])); if ($form->validate()) { $requestertypes = $myacl[$objecttype != 'securitytarget' ? $objecttype : $objectid]['requesters']; $requesters = array(); foreach ($form->getFieldvalue('requester') as $requestername) { foreach ($requestertypes as $type => $conf) { $modelname = str_replace('Object', 'Model', $type); $model = new $modelname(); $func = $conf['getfunction']; $res = $model->{$func}($requestername); if (count($res) == 1) { $requesters[] = $res[0]; break; } } } $selectedrights = array(); if ($form->getFieldvalue('form_all') == '_ALL_') { $selectedrights['_ALL_'] = '_ALL_'; } else { if ($form->getFieldvalue('form_managerights') == 'managerights') { $selectedrights['managerights'] = 'managerights'; } foreach ($rights as $right => $rightconf) { if ($form->getFieldvalue('form_' . $right) == $right) { $selectedrights[$right] = $right; if (isset($rightconf['requires'])) { foreach ($rightconf['requires'] as $required) { $selectedrights[$required] = $required; } } } } } try { $object = new $objecttype(); $object->setId($objectid); foreach ($requesters as $requester) { foreach ($selectedrights as $selectedright) { myacl::setAcl($requester, $object, $selectedright, 1); } } } catch (Exception $e) { $flash = new popupController(); $flash->createflash(array('name' => 'err', 'type' => 'error', 'content' => 'De gegevens zijn niet goed doorgevoerd! Raadpleeg de informaticadienst.')); return false; } $this->response->assign('gridextra_' . $parameters['-gridid-'], 'innerHTML', ''); $flash = new popupController(); $flash->createflash(array('name' => 's', 'type' => 'success', 'content' => 'De gegevens zijn goed doorgevoerd.')); return true; } elseif (!$form->isSent()) { $view->assign('form', $form); return $view->fetch('myacl_addacl.tpl'); } }
public function buildeditform($parameters = array()) { $form = new mygridform($parameters, $parameters['-gridid-'], 'edit', 'mymoduleadmin', 'editmodule'); $form->setPhasedrequest(new ajaxrequest('mymoduleadmin', 'updateeditform')); $themodule = $parameters['themodule']; if (isset($parameters['__field__'])) { $changedfield = $parameters['__field__']; $form->setFocusfield($changedfield); } $form->addField(new hiddenField('moduleid', $parameters['moduleid'])); $title = isset($parameters['name']) ? $parameters['name'] : $themodule->getTitle(); $form->addField(new textField('name', 'Titel', $title, array('required'))); $mod = isset($parameters['module']) ? $parameters['module'] : $themodule->getName(); $modules = $this->getModulelist(); $moduleselect = new selectField('module', 'Module', array('required')); foreach ($modules as $module => $description) { $selected = $module == $mod ? true : false; $moduleselect->addOption(new selectoptionField($module, $module, $selected, $description)); } $form->addField($moduleselect); $act = isset($parameters['moduleaction']) ? $parameters['moduleaction'] : $themodule->getAction(); $actions = $this->getActions($mod); $actionselect = new selectField('moduleaction', 'Actie', array('required')); if (!isset($actions[$act])) { $act = $themodule->getAction(); if (!isset($actions[$act])) { $actionselect->addOption(new selectoptionField('', '', true)); } } foreach ($actions as $action => $actionconf) { $selected = $action == $act ? true : false; $actionselect->addOption(new selectoptionField($action, $action, $selected, $actionconf['description'])); } $form->addField($actionselect); $options = $this->getOptions($mod, $act); $args = $themodule->getArguments(); foreach ($options as $option => $values) { $tmp = new selectField($option, $option, array('required')); $opt = isset($parameters[$option]) ? $parameters[$option] : $args[$option]; foreach ($values as $id => $name) { $selected = $id == $opt ? true : false; $tmp->addOption(new selectoptionField($name, $id, $selected)); } $form->addField($tmp); } return $form; }
public function editpromotion($parameters = array()) { $view = new ui($this); $model = new cafetariapromotieModel(); $promo = $model->getfromId($parameters['id']); if (count($promo) == 1) { $promo = $promo[0]; $form = new mygridform($parameters, 'promotions', 'edit'); $form->addField(new datepickerField('start', 'Start', true, $promo->getStarttime(), array('required'))); $form->addField(new datepickerField('stop', 'Einde', true, $promo->getStoptime(), array('required'))); $form->addField(new hiddenField('id', $parameters['id'])); if ($form->validate()) { $promo->setStarttime($form->getFieldvalue('start')); $promo->setStoptime($form->getFieldvalue('stop')); try { $model->save($promo); } catch (Exception $e) { $flash = new popupController(); $flash->createflash(array('name' => 'error', 'type' => 'error', 'content' => 'De gegevens zijn niet aangepast! Raadpleeg de informaticadienst.')); return false; } $flash = new popupController(); $flash->createflash(array('name' => 'success', 'type' => 'success', 'content' => 'De gegevens zijn goed aangepast.')); $this->response->assign('gridextra_' . $parameters['-gridid-'], 'innerHTML', ''); return true; } elseif (!$form->isSent()) { $view->assign('form', $form); return $view->fetch('mycafetaria_editpromotion.tpl'); } } }