Ejemplo n.º 1
0
 private function recursivegetpages($parent, $depth)
 {
     $output = array();
     $pageModel = new pageModel();
     $target = new securitytarget();
     $target->setId('menu');
     $pages = $pageModel->get(array('parentid' => array('mode' => '=', 'value' => $parent)), array('fields' => array('order'), 'type' => 'ASC'));
     foreach ($pages as $page) {
         $tmp = array();
         if (myacl::isAllowed(myauth::getCurrentuser(), $page, 'view') && myacl::isAllowed($page, $target, 'show', true)) {
             $tmp['page'] = $page;
             if ($depth < $this->maxdepth || $this->maxdepth == -1) {
                 $tmp['subpages'] = $this->recursivegetpages($page->getId(), $depth + 1);
             }
             if (count($tmp['subpages']) == 0) {
                 unset($tmp['subpages']);
                 $tmp['status_subpages'] = 'nosubpages';
             } else {
                 $tmp['status_subpages'] = "subpages";
             }
             if ($page->getId() == myauth::getCurrentpageid()) {
                 $tmp['status'] = 'active';
             } elseif (isset($this->tree_id[$page->getId()])) {
                 $tmp['status'] = 'subpage_active';
             } else {
                 $tmp['status'] = 'inactive';
             }
             $output[] = $tmp;
         }
     }
     return $output;
 }
Ejemplo n.º 2
0
 public function deletemodule($parameters = array())
 {
     $view = new ui($this);
     $flash = new popupController();
     $model = new processedmoduleModel();
     $modules = $model->getfromId($parameters['moduleid']);
     if (count($modules) == 1) {
         $module = $modules[0];
         $linkmodel = new modulepageModel();
         $links = $linkmodel->getfromModuleid($parameters['moduleid']);
         $pages = array();
         if (count($links) > 0) {
             $all = false;
             foreach ($links as $link) {
                 $pageids[] = $link->getPageid();
                 if ($link->getPageid() == -1) {
                     $all = true;
                 }
             }
             $pagemodel = new pageModel();
             $pages = $pagemodel->get(array('id' => array('mode' => 'IN', 'value' => $pageids)));
             if ($all) {
                 $newpage = new pageObject();
                 $newpage->setId(-1);
                 $newpage->setTitle('Alle pagina\'s');
                 array_unshift($pages, $newpage);
             }
         }
         if ($parameters['sure'] == 'sure') {
             try {
                 $linkmodel->deletebyModuleid($parameters['moduleid']);
                 $model->delete($module);
             } catch (Exception $e) {
                 $flash->createflash(array('name' => 'error', 'type' => 'error', 'content' => 'De module werd niet goed verwijderd!'));
                 return false;
             }
             $flash->createflash(array('name' => 'success', 'type' => 'success', 'content' => 'De module werd goed verwijderd.'));
             $this->response->assign('gridextra_' . $parameters['-gridid-'], 'innerHTML', '');
             return true;
         } else {
             $view->assign('module', $module);
             $view->assign('pages', $pages);
             return $view->fetch('mymoduleadmin_deletemodule.tpl');
         }
     } else {
         $flash->createflash(array('name' => 'error', 'type' => 'error', 'content' => 'De module werd niet gevonden!'));
         return false;
     }
 }