public function addsectionlink($parameters = array()) { if (isset($parameters['sectionid'])) { $newlink = new myarticlesectionlinkObject(); $newlink->setArticleid($parameters['articleid']); $newlink->setSectionid($parameters['sectionid']); $model = new myarticlesectionlinkModel(); $newlink->setOrder($model->getmax('order', array('sectionid' => array('mode' => '=', 'value' => $parameters['sectionid']))) + 1); $flash = new popupController(); $testcond = array('AND' => array(array('sectionid' => array('mode' => '=', 'value' => $parameters['sectionid'])), array('articleid' => array('mode' => '=', 'value' => $parameters['articleid'])))); if (count($model->get($testcond)) > 0) { $flash->createflash(array('name' => 'warning', 'type' => 'warning', 'content' => 'Deze sectie was reeds gelinked')); return false; } try { $model->save($newlink); } 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']); return true; } else { $view = new ui($this); $grid = new mygrid('sections'); $grid->setModel(new myarticlesectionModel()); $grid->registerRequest('name', 'myarticle', 'addsectionlink', array('sectionid' => '{id}', 'articleid' => $parameters['articleid'], 'oldgrid' => $parameters['-gridid-'], 'myacl' => array('target' => '{this}', 'right' => 'manage_articlelinks', 'default' => false))); $view->assign('grid', $grid); return $view->fetch('myarticle_addsectionlink.tpl'); } }
public function setObjectorder($parameters = array()) { $id = $parameters['id']; $gridid = $parameters['gridid']; $popup = new popupController(); $grid = new mygrid($gridid); $model = $grid->getModel(); $linkmodel = $grid->getModel(); $object = $model->getfromId($id); if (count($object) == 1) { $object = $object[0]; $view = new ui($this); $form = new form($parameters); $form->addField(new hiddenField('gridid', $gridid)); $form->addField(new hiddenField('id', $id)); $form->addField(new textField('order', 'Order', $object->_get($grid->getOrderfield()), array('required', 'numeric', 'range:1<->' . $model->getMax($grid->getOrderfield(), $grid->getConditions())))); if ($form->validate()) { $curlink = $object; if ($object->_get($grid->getOrderfield()) > $form->getFieldvalue('order')) { $cond = array($grid->getOrderfield() => array('mode' => 'BETWEEN', 'value' => $form->getFieldvalue('order'), 'topvalue' => $object->_get($grid->getOrderfield()))); $links = $linkmodel->get(array('AND' => array($cond, $grid->getConditions()))); try { foreach ($links as $link) { $link->setOrder($link->getOrder() + 1); $linkmodel->save($link); } $curlink->setOrder($form->getFieldvalue('order')); $linkmodel->save($curlink); } catch (Exception $e) { $popup->createflash(array('name' => 'error', 'type' => 'error', 'content' => 'De wijziging is niet doorgevoerd! Raadpleeg de informaticadienst.')); return false; } } elseif ($object->_get($grid->getOrderfield()) < $form->getFieldvalue('order')) { $cond = array($grid->getOrderfield() => array('mode' => 'BETWEEN', 'value' => $object->_get($grid->getOrderfield()), 'topvalue' => $form->getFieldvalue('order'))); $links = $linkmodel->get(array('AND' => array($cond, $grid->getConditions()))); try { foreach ($links as $link) { $link->setOrder($link->getOrder() - 1); $linkmodel->save($link); } $curlink->setOrder($form->getFieldvalue('order')); $linkmodel->save($curlink); } catch (Exception $e) { $popup->createflash(array('name' => 'error', 'type' => 'error', 'content' => 'De wijziging is niet doorgevoerd! Raadpleeg de informaticadienst.')); return false; } } else { $popup->createflash(array('name' => 'warning', 'type' => 'warning', 'content' => 'De nieuwe plaats was dezelfde als de oude plaats. Er is dus niets gewijzigd.')); $this->response->assign('gridextra_' . $gridid, 'innerHTML', ''); return false; } $popup->createflash(array('name' => 'success', 'type' => 'success', 'content' => 'De wijziging is goed doorgevoerd.')); $gridcontr = new mygridController(); $gridcontr->reloadgrid($gridid); $this->response->assign('gridextra_' . $gridid, 'innerHTML', ''); } elseif (!$form->isSent()) { $view->assign('form', $form); $view->assign('closeextra', new ajaxrequest('mygrid', 'closeextra', array('id' => 'gridextra_' . $gridid))); $this->response->assign('gridextra_' . $gridid, 'innerHTML', $view->fetch($parameters['viewprefix'] . 'mygrid_setobjectorder.tpl')); } } }
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']); } }
public function editpromotext($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('mycafetaria', 'editpromotextversion', array('id' => '{id}', 'articleid' => $parameters['id'], 'title' => 'Versie aanpassen')); $view->assign('grid', $grid); return $view->fetch('myarticle_editarticle.tpl'); } else { return false; } }