Ejemplo n.º 1
0
 public function loginAction()
 {
     $form = new Z_Admin_Form();
     $form->setElementDecorators(array('ViewHelper'));
     $form->addElement('text', 'login', array('required' => true, 'class' => 'ui-state-active ui-corner-bottom z-login-input'));
     $form->addElement('Password', 'password', array('required' => true, 'class' => 'ui-state-active ui-corner-bottom z-login-input'));
     $form->addElement('Checkbox', 'remember', array());
     $form->addElement('Submit', 'submit', array('label' => 'Войти', 'class' => 'ui-state-default ui-corner-bl submit', 'onMouseOver' => '$(this).addClass("ui-state-hover ui-state-active")', 'onMouseOut' => '$(this).removeClass("ui-state-hover ui-state-active")'));
     if ($_POST && !isset($_POST['logout'])) {
         if ($form->isValid($_POST)) {
             $data = $form->getValues();
             if (Z_Auth::getInstance()->login($data['login'], $data['password'], $data['remember'] ? true : false)) {
                 jQuery::evalScript('z_menu_show();');
                 $this->ajaxGo('/' . $this->getRequest()->getModuleName() . '/');
             } else {
                 Z_FlashMessenger::addMessage('Логин или пароль не верны');
             }
         } else {
             Z_FlashMessenger::addMessage('Введите логин и пароль');
         }
     }
     if (Z_Auth::getInstance()->getUser()->getLogin() != 'guest') {
         $this->_forward('logout');
         return;
     }
     $this->view->form = $form;
 }
Ejemplo n.º 2
0
 protected function getFormInstance()
 {
     if ($this->z_form === NULL) {
         $this->z_form = new Z_Admin_Form();
         //добавляем элементы формы на основании даннх из БД
         $modelForms = new Z_Model_Resourceforms();
         $modelFormsParams = new Z_Model_Resourceformsparams();
         $elements = $modelForms->fetchAll(array('resourceid=?' => $this->z_resourceInfo->id), 'orderid asc');
         $isRoot = Z_Auth::getInstance()->getUser()->getRole() == 'root';
         foreach ($elements as $element) {
             if ($element->type == 'MultiImage') {
                 $element->type = 'File';
             }
             if ($element->show_check) {
                 //    				try{
                 if (!eval($element->show_check)) {
                     continue;
                 }
                 //    				}
                 //    				catch (Exception $e){
                 //    					continue;
                 //    				}
             }
             $elementClass = 'Z_Admin_Form_Element_' . ucfirst($element->type);
             if ($element->only_for_root && $isRoot || !$element->only_for_root) {
                 $elementOptions = array('label' => $element->label, 'description' => $element->description, 'required' => $element->required, 'value' => $element->value);
                 $params = $modelFormsParams->fetchAll(array('formid=?' => $element->id));
                 foreach ($params as $param) {
                     $elementOptions[$param->title] = $param->is_eval ? eval($param->value) : $param->value;
                 }
                 $this->z_form->addElement(new $elementClass($element->field, $elementOptions));
             }
         }
         //пользовательское доопределение формы
         $this->getForm($this->z_form);
         //разбиваем элементы на группы
         $groupArray = array();
         foreach ($this->z_form->getElements() as $el) {
             if ($group = $el->getAttrib('displayGroup')) {
                 $groupId = Z_Transliterator::translateCyr($group);
                 if (!isset($groupArray[$group])) {
                     $groupArray[$group] = array();
                 }
                 $groupArray[$group][] = $el->getName();
             }
         }
         foreach ($groupArray as $groupKey => $groupEl) {
             $this->z_form->addDisplayGroup($groupEl, Z_Transliterator::translateCyr($groupKey), array('legend' => $groupKey));
         }
         $this->addSubmitButtonsToForm($this->z_form);
         $this->z_form->getElement('submit')->removeDecorator('Label');
         if (!$this->z_form->getAction()) {
             $this->z_form->setAction($this->view->url(array('id' => $this->_getParam('id'))));
         }
     }
     return $this->z_form;
 }
Ejemplo n.º 3
0
 protected function getForm(Z_Admin_Form $form)
 {
     if ($this->_getParam('action') == 'edit') {
         $currentParam = $this->z_model->find($this->_getParam('id'))->current();
         $type = $currentParam->type;
         if ($type == 'int') {
             $form->addElement(new Z_Admin_Form_Element_Text('value', array('label' => $currentParam->title, 'validators' => array('digits'))));
         } elseif ($type == 'string') {
             $form->addElement(new Z_Admin_Form_Element_Text('value', array('label' => $currentParam->title)));
         } elseif ($type == 'password') {
             $form->addElement(new Z_Admin_Form_Element_Password('value', array('label' => $currentParam->title, 'required' => true)));
         } elseif ($type == 'bool') {
             $form->addElement(new Z_Admin_Form_Element_Select('value', array('label' => $currentParam->title, 'MultiOptions' => array($this->t->_('Нет'), $this->t->_('Да')))));
         } elseif ($type == 'text') {
             $form->addElement(new Z_Admin_Form_Element_Textarea('value', array('label' => $currentParam->title)));
         } elseif ($type == 'file') {
             $form->addElement(new Z_Admin_Form_Element_File('value', array('label' => $currentParam->title, 'validators' => array(array('Size', false, 1024 * 1024 * 5)))));
         } elseif ($type == 'image') {
             $form->addElement(new Z_Admin_Form_Element_File('value', array('label' => $currentParam->title, 'validators' => array(array('Size', false, 1024 * 1024 * 5), array('IsImage')))));
         } elseif ($type == 'html') {
             $form->addElement(new Z_Admin_Form_Element_Mce('value', array('label' => $currentParam->title, 'toolbar' => 'default', 'filemanager' => true)));
         }
     }
 }