コード例 #1
0
 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;
     }
 }
コード例 #2
0
 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;
     }
 }