/** * 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; }
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); } } } }