function editAction()
 {
     // page title
     $this->view->title = "Information sur le groupe d'administrateur";
     // js import
     $this->view->headScript()->appendFile($this->view->baseUrl() . '/js/administrator.js');
     // get param
     $administratorGroupID = $this->_getParam('administratorGroupID');
     $order = $this->_getParam('order');
     $tablePage = $this->_getParam('tablePage');
     $search = $this->_getParam('search');
     $paramsArray = array("order" => $order, "tablePage" => $tablePage, "search" => $search);
     // get group data
     $groupData = Cible_FunctionsAdministrators::getAdministratorGroupData($administratorGroupID);
     $returnLink = $this->view->url(array('controller' => 'administrator-group', 'action' => 'index', 'administratorGroupID' => null));
     /********** ACTIONS ***********/
     $form = new FormExtranetGroup(array('baseDir' => $this->view->baseUrl(), 'cancelUrl' => "{$returnLink}", 'groupID' => $administratorGroupID));
     $form->setDecorators(array('PrepareElements', array('ViewScript', array('viewScript' => 'administrator-group/formGroup.phtml'))));
     $this->view->form = $form;
     if (!$this->_request->isPost()) {
         $form->populate($groupData->toArray());
     } else {
         $formData = $this->_request->getPost();
         if ($form->isValid($formData)) {
             // validate name is unique
             $findGroup = new ExtranetGroupsIndex();
             $select = $findGroup->select()->where('EGI_Name = ?', $formData['EGI_Name'])->where('EGI_GroupID <> ?', $administratorGroupID);
             $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 {
                 $db = $this->_db;
                 // update group data
                 $where = "EG_ID = {$administratorGroupID}";
                 $db->update('Extranet_Groups', array('EG_Status' => $form->getValue('EG_Status')), $where);
                 // update group index data
                 $where = "EGI_GroupID = {$administratorGroupID} AND EGI_LanguageID = " . Zend_Registry::get("languageID");
                 $db->update('Extranet_GroupsIndex', array('EGI_Name' => $form->getValue('EGI_Name'), 'EGI_Description' => $form->getValue('EGI_Description')), $where);
                 // get pages data
                 $pagesArray = Cible_FunctionsPages::getAllPagesDetailsArray();
                 // save group pages permissions
                 // save pages access
                 $this->deleteGroupPagesPermissions($administratorGroupID);
                 $this->saveGroupPagesPermissions($administratorGroupID, $pagesArray, $_POST, "structure");
                 $this->saveGroupPagesPermissions($administratorGroupID, $pagesArray, $_POST, "data");
                 // save roles
                 $this->deleteGroupRoles($administratorGroupID);
                 $this->saveGroupRoles($administratorGroupID, $_POST);
                 header("location:" . $returnLink);
             }
         }
     }
 }
 public function __construct($options = null, $groupsData = array())
 {
     // variable
     parent::__construct($options);
     $baseDir = $options['baseDir'];
     // html text
     $textAdministratorGroup = new Cible_Form_Element_Html('htmlAdministratorGroup', array('value' => $this->getView()->getCibleText('label_administrator_actives')));
     $this->addElement($textAdministratorGroup);
     $checkBox = new Zend_Form_Element_MultiCheckbox('groups');
     $checkBox->setDecorators(array('ViewHelper', array(array('row' => 'HtmlTag'), array('tag' => 'dd', 'class' => 'checkbox_list'))));
     //$checkBox->setDescription('<em>Example:</em> mydomain.com')
     //->addDecorator('Description', array('escape' => false));
     //show administrator group (first level)
     $groupAdmin = Cible_FunctionsAdministrators::getAdministratorGroupData(1)->toArray();
     $checkBox->addMultiOption("1", $groupAdmin['EGI_Name'] . " (" . $groupAdmin['EGI_Description'] . ")");
     $i = 0;
     foreach ($groupsData as $group) {
         if ($group['EG_Status'] == 'active') {
             $checkBox->addMultiOption($group['EG_ID'], $group['EGI_Name'] . " (" . $group['EGI_Description'] . ")");
         }
         $i++;
     }
     $this->addElement($checkBox);
 }
Пример #3
0
 public function __construct($options = null, $groupsData = array())
 {
     // variable
     parent::__construct($options);
     $baseDir = $options['baseDir'];
     if (array_key_exists('profile', $options)) {
         $profile = $options['profile'];
     } else {
         $profile = false;
     }
     // lastname
     $lname = new Zend_Form_Element_Text('EU_LName');
     $lname->setLabel($this->getView()->getCibleText('form_label_lname'))->setRequired(true)->addFilter('StripTags')->addFilter('StringTrim')->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => $this->getView()->getCibleText('validation_message_empty_field'))))->setAttrib('class', 'stdTextInput')->setAttrib('escape', false);
     $this->addElement($lname);
     // firstname
     $fname = new Zend_Form_Element_Text('EU_FName');
     $fname->setLabel($this->getView()->getCibleText('form_label_fname'))->setRequired(true)->addFilter('StripTags')->addFilter('StringTrim')->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => $this->getView()->getCibleText('validation_message_empty_field'))))->setAttrib('class', 'stdTextInput');
     $this->addElement($fname);
     // email
     $regexValidate = new Cible_Validate_Email();
     $regexValidate->setMessage($this->getView()->getCibleText('validation_message_emailAddressInvalid'), 'regexNotMatch');
     $email = new Zend_Form_Element_Text('EU_Email');
     $email->setLabel($this->getView()->getCibleText('form_label_email'))->setRequired(true)->addFilter('StripTags')->addFilter('StringTrim')->addFilter('StringToLower')->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => $this->getView()->getCibleText('validation_message_empty_field'))))->addValidator($regexValidate)->setAttrib('class', 'stdTextInput');
     $this->addElement($email);
     // username
     $username = new Zend_Form_Element_Text('EU_Username');
     $username->setLabel($this->getView()->getCibleText('form_label_username'))->setRequired(true)->addFilter('StripTags')->addFilter('StringTrim')->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => $this->getView()->getCibleText('validation_message_empty_field'))))->setAttrib('class', 'stdTextInput')->setAttrib('autocomplete', 'off');
     $this->addElement($username);
     // new password
     $password = new Zend_Form_Element_Password('EU_Password');
     $password->setLabel($this->getView()->getCibleText('form_label_newPwd'))->addFilter('StripTags')->addFilter('StringTrim')->setAttrib('class', 'stdTextInput')->setAttrib('autocomplete', 'off');
     $this->addElement($password);
     // password confirmation
     $passwordConfirmation = new Zend_Form_Element_Password('PasswordConfirmation');
     $passwordConfirmation->setLabel($this->getView()->getCibleText('form_label_confirmNewPwd'))->addFilter('StripTags')->addFilter('StringTrim')->setAttrib('class', 'stdTextInput');
     if (!empty($_POST['EU_Password'])) {
         $passwordConfirmation->setRequired(true)->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => $this->getView()->getCibleText('error_message_password_isEmpty'))));
         $Identical = new Zend_Validate_Identical($_POST['EU_Password']);
         $Identical->setMessages(array('notSame' => $this->getView()->getCibleText('error_message_password_notSame')));
         $passwordConfirmation->addValidator($Identical);
     }
     $this->addElement($passwordConfirmation);
     if ($profile != true) {
         // html text
         $textAdministratorGroup = new Cible_Form_Element_Html('htmlAdministratorGroup', array('value' => $this->getView()->getCibleText('label_administrator_actives')));
         $this->addElement($textAdministratorGroup);
         $checkBox = new Zend_Form_Element_MultiCheckbox('groups');
         $checkBox->setDecorators(array('ViewHelper', array(array('row' => 'HtmlTag'), array('tag' => 'dd', 'class' => 'checkbox_list'))));
         //$checkBox->setDescription('<em>Example:</em> mydomain.com')
         //->addDecorator('Description', array('escape' => false));
         //show administrator group (first level)
         $groupAdmin = Cible_FunctionsAdministrators::getAdministratorGroupData(1)->toArray();
         $checkBox->addMultiOption("1", $groupAdmin['EGI_Name'] . " (" . $groupAdmin['EGI_Description'] . ")");
         $i = 0;
         foreach ($groupsData as $group) {
             if ($group['EG_Status'] == 'active') {
                 $checkBox->addMultiOption($group['EG_ID'], $group['EGI_Name'] . " (" . $group['EGI_Description'] . ")");
             }
             $i++;
         }
         $this->addElement($checkBox);
     }
 }