Ejemplo n.º 1
0
 /**
  * Render form element
  * 
  * @param  Zend_View_Interface $view 
  * @return string
  */
 public function render(Zend_View_Interface $view = null)
 {
     $_baseUrl = $this->getView()->baseUrl();
     $this->_view->headScript()->appendFile("{$_baseUrl}/js/cible.form.element.pagepicker.js");
     $pages_list = Cible_FunctionsPages::getAllPagesDetailsArray(0, Cible_Controller_Action::getDefaultEditLanguage());
     $_pages = array();
     foreach ($pages_list as $page) {
         $tmp = array('ID' => $page['P_ID'], 'Title' => $page['PI_PageTitle'], 'onClick' => str_replace(array('%PAGEID%', '%PAGEINDEX%'), array($page['P_ID'], $page['PI_PageIndex']), $this->_onClick));
         if (!empty($page['child'])) {
             $tmp['child'] = $this->fillChildren($page['child']);
         }
         array_push($_pages, $tmp);
     }
     $content = $this->getView()->collapsibleTree($_pages, array('id' => $this->getId(), 'images' => array('close' => $this->getView()->baseUrl() . '/themes/default/images/treeview-open.gif', 'open' => $this->getView()->baseUrl() . '/themes/default/images/treeview-close.gif'), 'class' => 'collapsible_tree'));
     foreach ($this->getDecorators() as $decorator) {
         $decorator->setElement($this);
         $content = $decorator->render($content);
     }
     return $content;
 }
Ejemplo n.º 2
0
 public static function buildUlLiMenu($baseUrl, $parentID = 0, $lang = null)
 {
     if ($lang == null) {
         $lang = Zend_Registry::get('currentEditLanguage');
     }
     $pages_list = Cible_FunctionsPages::getAllPagesDetailsArray(0, $lang);
     $_pages = array();
     foreach ($pages_list as $page) {
         $tmp = array('ID' => $page['P_ID'], 'Title' => $page['PI_PageTitle'], 'onClick' => "{$baseUrl}/page/index/index/ID/{$page['P_ID']}");
         if (!empty($page['child'])) {
             $tmp['child'] = self::fillULLIChildren($baseUrl, $page['child']);
         }
         array_push($_pages, $tmp);
     }
     return $_pages;
 }
 function addAction()
 {
     // page title
     $this->view->title = "Ajout d'un groupe d'administrateur";
     // js import
     $this->view->headScript()->appendFile($this->view->baseUrl() . '/js/administrator.js');
     /********** ACTIONS ***********/
     $form = new FormExtranetGroup(array('baseDir' => $this->view->baseUrl()));
     $form->setDecorators(array('PrepareElements', array('ViewScript', array('viewScript' => 'administrator-group/formGroup.phtml'))));
     $returnLink = $this->view->url(array('controller' => 'administrator-group', 'action' => 'index'));
     $form->getElement('cancel')->setAttrib('onclick', 'document.location.href="' . $returnLink . '"');
     $this->view->form = $form;
     if ($this->_request->isPost()) {
         $formData = $this->_request->getPost();
         if ($form->isValid($formData)) {
             // validate name is unique
             $findGroup = new ExtranetGroupsIndex();
             $select = $findGroup->select()->where('EGI_Name = ?', $form->getValue('EGI_Name'));
             $findGroupData = $findGroup->fetchAll($select);
             // name is allready use
             if ($findGroupData->count() > 0) {
                 $form->getElement('EGI_Name')->addError('Un autre groupe possède déjà ce nom');
             } else {
                 // create group
                 $groupData = new ExtranetGroups();
                 $row = $groupData->createRow();
                 $row->EG_Status = $form->getValue('EG_Status');
                 $row->save();
                 $groupID = $row->EG_ID;
                 // create index group as many language in the system
                 $languages = Cible_FunctionsGeneral::getAllLanguage();
                 foreach ($languages as $language) {
                     $groupData = new ExtranetGroupsIndex();
                     $row = $groupData->createRow();
                     $row->EGI_GroupID = $groupID;
                     $row->EGI_LanguageID = $language["L_ID"];
                     $row->EGI_Name = $form->getValue('EGI_Name');
                     $row->EGI_Description = $form->getValue('EGI_Description');
                     $row->save();
                 }
                 // get pages data
                 $pagesArray = Cible_FunctionsPages::getAllPagesDetailsArray();
                 // save group pages permissions
                 if (!empty($_POST["submitSave"])) {
                     // save pages access
                     //$this->deleteGroupPagesPermissions($newInsertID);
                     $this->saveGroupPagesPermissions($groupID, $pagesArray, $_POST, "structure");
                     $this->saveGroupPagesPermissions($groupID, $pagesArray, $_POST, "data");
                     // save roles
                     //$this->deleteGroupRoles($newInsertID);
                     $this->saveGroupRoles($groupID, $_POST);
                 }
                 header("location:" . $returnLink);
             }
         }
     }
 }