Пример #1
0
 /**
  * update
  * @param int $_user_no
  * @param array $_data
  * @param array $_chg
  * @return boolean
  */
 public function updateRecord($_user_no, $_data, $_chg)
 {
     $adapter = GlobalAdapterFeature::getStaticAdapter();
     $connection = $adapter->getDriver()->getConnection();
     $connection->beginTransaction();
     $this->db->exchanegArray($_data);
     $role_no = gv('role_no', $_data);
     $chg_user = gv('chg_user', $_chg);
     $chg_lv = gv('chg_lv', $_chg);
     try {
         $row = $this->db->updateRecord($_user_no);
         if ($row && $chg_user) {
             $r1 = new UserRoleTable($adapter);
             $r1->deleteRole($role_no);
             $row = $r1->insertRecord($role_no, gv('user_no', $_data));
         }
         if ($row && $chg_lv) {
             $r2 = new ControllerRoleTable($adapter);
             $r2->deleteRole($role_no);
             $row = $r2->insertRecord($role_no, gv('level', $_data));
         }
         if ($row) {
             $connection->commit();
             return true;
         }
     } catch (\Exception $e) {
         $connection->rollback();
         if (IS_TEST) {
             echo $e->getMessage();
         }
         return false;
     }
 }
Пример #2
0
 public function __construct($options = null)
 {
     if ($options == null) {
         //Fullname
         $this->add(array('name' => 'fullname', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Họ và tên của khách hàng !'))))));
         //Username
         $this->add(array('name' => 'username', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Tên đăng nhập của khách hàng !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'username', 'adapter' => GlobalAdapterFeature::getStaticAdapter()), 'break_chain_on_failure' => true), array('name' => 'StringLength', 'options' => array('min' => 3, 'max' => 50, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Tên đăng nhập lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Tên đăng nhập nhỏ hơn %max% ký tự !'))))));
         //Email
         $this->add(array('name' => 'email', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Địa chỉ Email !'))), array('name' => 'EmailAddress', 'options' => array('messages' => array(\Zend\Validator\EmailAddress::INVALID_FORMAT => 'Bạn phải nhập đúng định dạng Email !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'email', 'adapter' => GlobalAdapterFeature::getStaticAdapter())))));
         //Username
         $this->add(array('name' => 'phone', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Số điện thoại của khách hàng !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'phone', 'adapter' => GlobalAdapterFeature::getStaticAdapter()), 'break_chain_on_failure' => true), array('name' => 'StringLength', 'options' => array('min' => 10, 'max' => 11, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Số điện thoại lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Số điện thoại nhỏ hơn %max% ký tự !'))))));
         //Password
         $this->add(array('name' => 'password', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Mật khẩu của khách hàng !'))), array('name' => 'StringLength', 'options' => array('min' => 3, 'max' => 50, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Mật khẩu lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Mật khẩu nhỏ hơn %max% ký tự !'))))));
         //Password
         $this->add(array('name' => 'confirm-password', 'required' => false, 'validators' => array(array('name' => 'ZendVN\\Validator\\ConfirmPassword', 'options' => array('field' => 'password')))));
     }
     if ($options['task'] == 'edit') {
         //Fullname
         $this->add(array('name' => 'fullname', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Họ và tên của khách hàng !'))))));
         //Username
         $this->add(array('name' => 'username', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Tên đăng nhập của khách hàng !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'username', 'adapter' => GlobalAdapterFeature::getStaticAdapter(), 'exclude' => array('field' => 'id', 'value' => $options['id'])), 'break_chain_on_failure' => true), array('name' => 'StringLength', 'options' => array('min' => 3, 'max' => 50, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Tên đăng nhập lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Tên đăng nhập nhỏ hơn %max% ký tự !'))))));
         //Email
         $this->add(array('name' => 'email', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Địa chỉ Email !'))), array('name' => 'EmailAddress', 'options' => array('messages' => array(\Zend\Validator\EmailAddress::INVALID_FORMAT => 'Bạn phải nhập đúng định dạng Email !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'email', 'adapter' => GlobalAdapterFeature::getStaticAdapter(), 'exclude' => array('field' => 'id', 'value' => $options['id']))))));
         //Phone
         $this->add(array('name' => 'phone', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Số điện thoại của khách hàng !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'phone', 'adapter' => GlobalAdapterFeature::getStaticAdapter(), 'exclude' => array('field' => 'id', 'value' => $options['id'])), 'break_chain_on_failure' => true), array('name' => 'StringLength', 'options' => array('min' => 10, 'max' => 11, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Số điện thoại lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Số điện thoại nhỏ hơn %max% ký tự !'))))));
         //Password
         $this->add(array('name' => 'password', 'required' => false, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('min' => 3, 'max' => 50, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Mật khẩu lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Mật khẩu nhỏ hơn %max% ký tự !'))))));
         //Password
         $this->add(array('name' => 'confirm-password', 'required' => false, 'validators' => array(array('name' => 'ZendVN\\Validator\\ConfirmPassword', 'options' => array('field' => 'password')))));
     }
 }
Пример #3
0
 /**
  * update
  * @param int $_user_no
  * @param array $_data
  * @param boolean $_chg_user
  * @return boolean
  */
 public function updateRecord($_user_no, $_data, $_chg_user)
 {
     $adapter = GlobalAdapterFeature::getStaticAdapter();
     $connection = $adapter->getDriver()->getConnection();
     $connection->beginTransaction();
     $this->db->exchanegArray($_data);
     try {
         $row = $this->db->updateRecord($_user_no);
         if ($row && $_chg_user) {
             $tpl_route_no = gv('tpl_route_no', $_data);
             $r = new TplRouteUserTable($adapter);
             $r->deleteRouteUser($tpl_route_no);
             $row = $r->insertRecord($tpl_route_no, gv('user_no', $_data));
         }
         if ($row) {
             $connection->commit();
             return true;
         }
     } catch (\Exception $e) {
         $connection->rollback();
         if (IS_TEST) {
             echo $e->getMessage();
         }
         return false;
     }
 }
Пример #4
0
 public function getRecordWhere($data)
 {
     $result = null;
     $adapter = GlobalAdapterFeature::getStaticAdapter();
     $connection = $adapter->getDriver()->getConnection($data);
     $connection->beginTransaction();
     try {
         function add($datas)
         {
             global $data;
             $data = $datas;
         }
         add($data);
         function set(Select $select)
         {
             global $data;
             foreach ($data as $key => $value) {
                 $select->where->like($key, "%{$value}%");
             }
         }
         $result = $this->area->select(function (Select $select) {
             set($select);
         });
         $connection->commit();
     } catch (\Exception $e) {
         $connection->rollback();
     }
     return $result;
 }
Пример #5
0
 public function __construct($_sessionConfig = null, $_request = null)
 {
     $this->adapter = GlobalAdapterFeature::getStaticAdapter();
     $this->tblgw = new TableGateway($this->tableName, $this->adapter);
     $this->sessionConfig = $_sessionConfig;
     $this->request = $_request;
 }
Пример #6
0
 public function __construct($options = null)
 {
     if ($options == null) {
         //Tên công ty
         $this->add(array('name' => 'name', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Tên doanh nghiệp !'))))));
         //Phone
         $this->add(array('name' => 'phone', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Số điện thoại của doanh nghiệp !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'phone', 'adapter' => GlobalAdapterFeature::getStaticAdapter()), 'break_chain_on_failure' => true), array('name' => 'StringLength', 'options' => array('min' => 5, 'max' => 20, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Số điện thoại lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Số điện thoại nhỏ hơn %max% ký tự !'))))));
         //địa chỉ
         $this->add(array('name' => 'address', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Địa chỉ doanh nghiệp !'))))));
         //Giới thiệu
         $this->add(array('name' => 'intro', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Giới thiệu doanh nghiệp !'))))));
         //Liên hệ
         $this->add(array('name' => 'contact', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Liên hệ doanh nghiệp !'))))));
     }
     if ($options['task'] == 'edit') {
         //Tên công ty
         $this->add(array('name' => 'name', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Tên doanh nghiệp !'))))));
         //Phone
         $this->add(array('name' => 'phone', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Số điện thoại của doanh nghiệp !'))), array('name' => 'StringLength', 'options' => array('min' => 5, 'max' => 20, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Số điện thoại lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Số điện thoại nhỏ hơn %max% ký tự !'))))));
         //địa chỉ
         $this->add(array('name' => 'address', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Địa chỉ doanh nghiệp !'))))));
         //Giới thiệu
         $this->add(array('name' => 'intro', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Giới thiệu doanh nghiệp !'))))));
         //Liên hệ
         $this->add(array('name' => 'contact', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Liên hệ doanh nghiệp !'))))));
     }
 }
Пример #7
0
 /**
  * Sets up the fixture, for example, opens a network connection.
  * This method is called before a test is executed.
  *
  * @return void
  */
 protected function setUp()
 {
     $tablegatewayConfig = new DbTableGatewayOptions(array('idColumn' => 'id', 'nameColumn' => 'name', 'modifiedColumn' => 'updated_at', 'lifetimeColumn' => 'lifetime', 'dataColumn' => 'data'));
     $this->adapter = new TableGateway('core_session', GlobalAdapterFeature::getStaticAdapter());
     $this->object = new DbTableGateway($this->adapter, $tablegatewayConfig);
     $this->testArray = array('foo' => 'bar', 'bar' => array('foo' => uniqid()));
 }
Пример #8
0
 /**
  * Get DB adapter
  * @return \Zend\Db\Adapter\Adapter
  */
 public function getAdapter()
 {
     if (!$this->_adapter) {
         $this->_adapter = \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter();
     }
     return $this->_adapter;
 }
Пример #9
0
 public function __construct($adapter = null)
 {
     if ($adapter == null) {
         $adapter = GlobalAdapterFeature::getStaticAdapter();
     }
     parent::__construct($this->tableName, $adapter);
 }
Пример #10
0
 public function __construct($name = 'workflowform')
 {
     //         $this->setDbAdapter($dbAdapter);
     // we want to ignore the name passed
     parent::__construct($name);
     $dbAdapter = GlobalAdapterFeature::getStaticAdapter();
     if ($dbAdapter != null) {
         $this->setDbAdapter($dbAdapter);
     } else {
         throw new \Exception('no dbAdapter loaded');
     }
     //         $workflowElement = new Collection('workflow');
     //         $workflowElement->setOptions(array(
     //             'label' => 'Workflow',
     //             'target_element' => array(
     //                 'type' => 'CookingAssist\Form\WorkflowFieldset')
     //         ));
     //         $this->add($workflowElement);
     $this->add(array('name' => 'Id', 'type' => 'Hidden'));
     $this->add(array('name' => 'Title', 'type' => 'Text', 'options' => array('label' => 'Titel')));
     $this->add(array('name' => 'Tipp', 'type' => 'Text', 'options' => array('label' => 'Tipp')));
     $submitElement = new Submit('Submit');
     $submitElement->setValue('Hinzufügen');
     $this->add($submitElement);
 }
Пример #11
0
 /**
  * Initialize constructor and save instance of \Zend\Db\TableGateway\TableGateway($name) in self::$tables
  */
 public function __construct()
 {
     if (!empty($this->name) and !array_key_exists($this->name, self::$tables)) {
         self::$tables[$this->name] = new TableGateway\TableGateway($this->name, TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter());
     }
     $this->init();
 }
Пример #12
0
 public function __construct(TableGateway $tableGateway)
 {
     $this->tableGateway = $tableGateway;
     $adapter = \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter();
     $this->adapter = $adapter;
     $this->resultSetPrototype = new ResultSet();
     $this->applicationTable = new ApplicationTable();
 }
Пример #13
0
 /**
  * 
  * @param \Zend\Db\Adapter\Adapter $adapter
  */
 public function __construct()
 {
     $adapter = \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter();
     $this->adapter = $adapter;
     $this->resultSetPrototype = new ResultSet();
     $this->resultSetPrototype->setArrayObjectPrototype(new Application());
     $this->initialize();
 }
Пример #14
0
 /**
  * Saves the properties to the database.
  *
  * This performs an intelligent insert/update, and reloads the
  * properties with fresh data from the table on success.
  *
  * @return mixed The primary key value(s), as an associative array if the
  *     key is compound, or a scalar if the key is single-column.
  */
 public function save()
 {
     // Since this object is frequently stored in the session, we should
     // reconnect to the database as part of the save action to prevent
     // exceptions:
     $this->sql = new Sql(GlobalAdapterFeature::getStaticAdapter(), $this->table);
     return parent::save();
 }
Пример #15
0
 /**
  * Setup method -- make sure static adapter is available for testing.
  *
  * @return void
  */
 public static function prepareAdapter()
 {
     try {
         DbGlobalAdapter::getStaticAdapter();
     } catch (\Zend\Db\TableGateway\Exception\RuntimeException $e) {
         DbGlobalAdapter::setStaticAdapter(DbAdapterFactory::getAdapter());
     }
 }
Пример #16
0
 public function __construct($object)
 {
     $config = Reader::getConfig($object);
     if (!array_key_exists('table', $config)) {
         throw new NoTableFoundException();
     }
     $this->table = $config['table'];
     $this->adapter = GlobalAdapterFeature::getStaticAdapter();
 }
Пример #17
0
 public function __construct($name = 'workflow')
 {
     $dbAdapter = Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter();
     $this->setDbAdapter($dbAdapter);
     parent::__construct($name);
     $this->add(array('name' => 'id', 'type' => 'Hidden'));
     $this->add(array('name' => 'title', 'type' => 'Text', 'options' => array('label' => 'Titel')));
     $this->add(array('name' => 'tipp', 'type' => 'Text', 'options' => array('label' => 'Tipp')));
 }
Пример #18
0
 public function __construct()
 {
     $this->add(array('name' => 'username', 'filters' => array(array('name' => 'StringTrim'), array('name' => 'StringToLower')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Tên đăng nhập'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 4, 'messages' => array('stringLengthTooShort' => 'Tên đăng nhập phải có từ 4 đến 32 kí tự'))), array('name' => 'Regex', 'break_chain_on_failure' => true, 'options' => array('pattern' => "/^[a-z0-9_-]{4,32}\$/", 'messages' => array('regexNotMatch' => 'Chỉ chấp nhận các kí tự là chữ, chữ số, dấu - và dấu _'))), array('name' => 'Db\\NoRecordExists', 'options' => array('table' => 'users', 'field' => 'username', 'adapter' => \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(), 'messages' => array('recordFound' => "Tên đăng nhập này đã được sử dụng"))))));
     $this->add(array('name' => 'password', 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 6, 'messages' => array('stringLengthTooShort' => 'Mật khẩu phải có từ 6 kí tự trở lên'))))));
     $this->add(array('name' => 'password2', 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Xác nhận mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 6, 'messages' => array('stringLengthTooShort' => 'Mật khẩu phải có từ 6 kí tự trở lên'))), array('name' => 'Identical', 'break_chain_on_failure' => true, 'options' => array('token' => 'password', 'messages' => array('notSame' => 'Xác nhận mật khẩu không chính xác'))))));
     $this->add(array('name' => 'fullName', 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Tên đầy đủ'))))));
     $this->add(array('name' => 'email', 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Email'))), array('name' => 'EmailAddress', 'break_chain_on_failure' => true, 'options' => array('messages' => array('emailAddressInvalidFormat' => 'Địa chỉ email không hợp lệ'))))));
     $this->add(array('name' => 'mobile', 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Mobile'))))));
     $this->getEventManager()->trigger('init', $this);
 }
Пример #19
0
 public function __construct($id = null)
 {
     if ($id == null) {
         $this->add(array("name" => "name", "required" => true, "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Username không được rỗng")), "break_chain_on_failure" => true), array("name" => "dbNoRecordExists", "options" => array("messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Username này đã tồn tại"), "table" => "user", "field" => "name", "adapter" => GlobalAdapterFeature::getStaticAdapter())))));
         $this->add(array("name" => "email", "required" => true, "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Email không được rỗng")), "break_chain_on_failure" => true), array("name" => "EmailAddress", "options" => array("messages" => array(\Zend\Validator\EmailAddress::INVALID_FORMAT => "Email không đúng quy định")), "break_chain_on_failure" => true), array("name" => "dbNoRecordExists", "options" => array("messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Email này đã tồn tại"), "table" => "user", "field" => "email", "adapter" => GlobalAdapterFeature::getStaticAdapter())))));
     } else {
         $this->add(array("name" => "name", "required" => true, "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Username không được rỗng")), "break_chain_on_failure" => true), array("name" => "dbNoRecordExists", "options" => array("messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Username này đã tồn tại"), "table" => "user", "field" => "name", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "exclude" => array("field" => "id", "value" => $id))))));
         $this->add(array("name" => "email", "required" => true, "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Email không được rỗng")), "break_chain_on_failure" => true), array("name" => "EmailAddress", "options" => array("messages" => array(\Zend\Validator\EmailAddress::INVALID_FORMAT => "Email không đúng quy định")), "break_chain_on_failure" => true), array("name" => "dbNoRecordExists", "options" => array("messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Email này đã tồn tại"), "table" => "user", "field" => "email", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "exclude" => array("field" => "id", "value" => $id))))));
     }
 }
Пример #20
0
 public function __construct(array $options = null)
 {
     //name
     $this->add(array('name' => "username", "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Dữ liệu không được rỗng")), "break_chain_on_failure" => "true"), array("name" => "StringLength", "options" => array("min" => "3", "max" => "200", "messages" => array(\Zend\Validator\StringLength::TOO_SHORT => "Số ký tự phải lớn hơn hoặc bằng %min%", \Zend\Validator\StringLength::TOO_LONG => "Số ký tự phải nhỏ hơn hoặc bằng %max%")), "break_chain_on_failure" => "true"), array("name" => "DbNoRecordExists", "options" => array("table" => "user", "field" => "username", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Username đã tồn tại")), "break_chain_on_failure" => "true"))));
     //email
     $this->add(array('name' => "email", "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Dữ liệu không được rỗng")), "break_chain_on_failure" => "true"), array("name" => "EmailAddress", "options" => array("messages" => array(\Zend\Validator\EmailAddress::INVALID_FORMAT => "Email không hợp lệ", \Zend\Validator\EmailAddress::INVALID_HOSTNAME => "Email không hợp lệ", \Zend\Validator\EmailAddress::INVALID => "Email không hợp lệ", \Zend\Validator\EmailAddress::DOT_ATOM => "Email không hợp lệ")), "break_chain_on_failure" => "true"), array("name" => "DbNoRecordExists", "options" => array("table" => "user", "field" => "email", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Email đã tồn tại")), "break_chain_on_failure" => "true"))));
     //password
     $this->add(array('name' => "password", "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Dữ liệu không được rỗng")), "break_chain_on_failure" => "true"), array("name" => "Regex", "options" => array("pattern" => "#^(?=.*\\d)(?=.*[A-Z])(?=.*\\W).{8,15}\$#", "messages" => array(\Zend\Validator\Regex::NOT_MATCH => "password phải có ít nhất 1 ký tự HOA,1 thường ,1 đặc biệt @,một số 1")), "break_chain_on_failure" => "true"), array("name" => "StringLength", "options" => array("min" => "8", "max" => "15", "messages" => array(\Zend\Validator\StringLength::TOO_SHORT => "mật khẩu phải có ít nhất 8 ký tự", \Zend\Validator\StringLength::TOO_LONG => "mật khẩu phải ngắn hơn 15 ký tự")), "break_chain_on_failure" => "true"))));
     //fullname
     $this->add(array('name' => "fullname", "required" => false));
 }
Пример #21
0
 public function __construct(array $options = null)
 {
     $exclude = null;
     //danh cho edit
     if ($options["id"] != null) {
         $exclude = array("field" => "id", "value" => $options["id"]);
     }
     //name
     $this->add(array('name' => "name", "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Dữ liệu không được rỗng")), "break_chain_on_failure" => "true"), array("name" => "StringLength", "options" => array("min" => "3", "max" => "200", "messages" => array(\Zend\Validator\StringLength::TOO_SHORT => "Số ký tự phải lớn hơn hoặc bằng %min%", \Zend\Validator\StringLength::TOO_LONG => "Số ký tự phải nhỏ hơn hoặc bằng %max%")), "break_chain_on_failure" => "true"), array("name" => "DbNoRecordExists", "options" => array("table" => "category", "field" => "name", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "exclude" => $exclude, "messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Category name đã tồn tại")), "break_chain_on_failure" => "true"))));
     //status
     $this->add(array('name' => "status", "required" => true));
 }
Пример #22
0
 /**
  * Set configuration
  *
  * @param \Zend\Config\Config $config VuFind configuration
  *
  * @return void
  */
 public function setConfig($config)
 {
     // DEBUGGER
     if (!$config->System->debug == false) {
         $writer = new Writer\Stream('php://output');
         $formatter = new \Zend\Log\Formatter\Simple('<pre>%timestamp% %priorityName%: %message%</pre>' . PHP_EOL);
         $writer->setFormatter($formatter);
         $this->addWriters($writer, 'debug-' . (is_int($config->System->debug) ? $config->System->debug : '5'));
     }
     // Activate database logging, if applicable:
     if (isset($config->Logging->database)) {
         $parts = explode(':', $config->Logging->database);
         $table_name = $parts[0];
         $error_types = isset($parts[1]) ? $parts[1] : '';
         $columnMapping = array('priority' => 'priority', 'message' => 'message', 'logtime' => 'timestamp', 'ident' => 'ident');
         // Make Writers
         $filters = explode(',', $error_types);
         $writer = new Writer\Db(DbGlobalAdapter::getStaticAdapter(), $table_name, $columnMapping);
         $this->addWriters($writer, $filters);
     }
     // Activate file logging, if applicable:
     if (isset($config->Logging->file)) {
         $parts = explode(':', $config->Logging->file);
         $file = $parts[0];
         $error_types = isset($parts[1]) ? $parts[1] : '';
         // Make Writers
         $filters = explode(',', $error_types);
         $writer = new Writer\Stream($file);
         $this->addWriters($writer, $filters);
     }
     // Activate email logging, if applicable:
     if (isset($config->Logging->email)) {
         // Set up the logger's mailer to behave consistently with VuFind's
         // general mailer:
         $parts = explode(':', $config->Logging->email);
         $email = $parts[0];
         $error_types = isset($parts[1]) ? $parts[1] : '';
         // use smtp
         $mailer = $this->getServiceLocator()->get('Mailer');
         $msg = $mailer->getNewMessage()->addFrom($config->Site->email)->addTo($email)->setSubject('VuFind Log Message');
         // Make Writers
         $filters = explode(',', $error_types);
         $writer = new Writer\Mail($msg, $mailer->getTransport());
         $this->addWriters($writer, $filters);
     }
     // Null writer to avoid errors
     if (count($this->writers) == 0) {
         $nullWriter = 'Zend\\Log\\Writer\\Null';
         $this->addWriter(new $nullWriter());
     }
 }
Пример #23
0
 public function getRecord($id = null)
 {
     $result = null;
     $adapter = GlobalAdapterFeature::getStaticAdapter();
     $connection = $adapter->getDriver()->getConnection();
     $connection->beginTransaction();
     try {
         $result = $this->enterprise->getRecord($id);
         $connection->commit();
     } catch (\Exception $e) {
         $connection->rollback();
     }
     return $result;
 }
Пример #24
0
 public function __construct(array $options = null)
 {
     $exclude = null;
     //danh cho edit
     if ($options["id"] != null) {
         $exclude = array("field" => "id", "value" => $options["id"]);
     }
     //name
     $this->add(array('name' => "name", "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Dữ liệu không được rỗng")), "break_chain_on_failure" => "true"), array("name" => "StringLength", "options" => array("min" => "3", "max" => "200", "messages" => array(\Zend\Validator\StringLength::TOO_SHORT => "Số ký tự phải lớn hơn hoặc bằng %min%", \Zend\Validator\StringLength::TOO_LONG => "Số ký tự phải nhỏ hơn hoặc bằng %max%")), "break_chain_on_failure" => "true"), array("name" => "DbNoRecordExists", "options" => array("table" => "book", "field" => "name", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "exclude" => $exclude, "messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Username đã tồn tại")), "break_chain_on_failure" => "true"))));
     //name
     $this->add(array('name' => "price", "validators" => array(array("name" => "Digits", "options" => array("messages" => array(\Zend\Validator\Digits::NOT_DIGITS => "Nội dung nhập vào phải là số")), "break_chain_on_failure" => "true"))));
     //picture
     $this->add(array('name' => "image", "required" => false, "validators" => array(array("name" => "FileSize", "options" => array("min" => "2KB", "max" => "2MB", "messages" => array(\Zend\Validator\File\Size::TOO_BIG => "Dung lượng lớn nhất cho phép là '%max%' nhưng '%size%' lớn hơn", \Zend\Validator\File\Size::TOO_SMALL => "Dung lượng nhỏ nhất cho phép là '%min%' nhưng '%size%' nhỏ hơn")), "break_chain_on_failure" => "true"), array("name" => "FileExtension", "options" => array("extension" => array("png", "jpg"), "messages" => array(\Zend\Validator\File\Extension::FALSE_EXTENSION => "phần mở rộng không phù hợp")), "break_chain_on_failure" => "true"))));
     //status
     $this->add(array('name' => "status", "required" => true));
     //status
     $this->add(array('name' => "sale_off_type", "required" => false));
 }
Пример #25
0
 public function __construct()
 {
     $this->adapter = GlobalAdapterFeature::getStaticAdapter();
     $this->sqlObj = new Sql($this->adapter);
     $now = getdate();
     //Thời gian truy cập hiện tại
     $this->day = $now["mday"];
     //Ngày hiện tại
     $this->month = $now["mon"];
     //Tháng hiện tại
     $this->year = $now["year"];
     //Năm hiện tại
     $this->accessToday();
     //Thông kê lượt truy cập trong ngày
     $this->totalCounterToday();
     //Tổng truy cập trong ngày
     $this->deleteAccessYesterday();
     //Xóa dữ liệu thống kê ngày hôm trước
 }
Пример #26
0
 public function __construct()
 {
     $dbAdapter = Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter();
     $this->setDbAdapter($dbAdapter);
     parent::__construct('recipefieldset');
     $this->add(array('name' => 'noOfPeople', 'type' => 'Text', 'options' => array('label' => 'Anzahl Personen')));
     // Add Text for kcal.
     //TODO: Rescrict input to integers
     $kcalElement = new Text('kcal');
     $kcalElement->setLabel('Anzahl Kalorien');
     $this->add($kcalElement);
     // Add Checkbox for publicFlag
     $publicFlagElement = new Checkbox('publicFlag');
     $publicFlagElement->setLabel('Möchten Sie das Rezept öffentlich speichern?');
     $this->add($publicFlagElement);
     $typeElement = new MultiCheckbox('typeId');
     $typeElement->setLabel('Rezept Typ');
     $possibleValues = array('Sommermenu', 'Herbstmenu', 'Wintermenu', 'Frühlingsmenu');
     $typeElement->setValueOptions($possibleValues);
     $this->add($typeElement);
     $selectString = 'SELECT * FROM Levels';
     //$select->getSqlString();
     $result = $dbAdapter->query($selectString, Adapter::QUERY_MODE_EXECUTE);
     $levels = array();
     foreach ($result as $row) {
         $levels[] = $row['Shortname'];
     }
     $levelElement = new Select('level');
     $levelElement->setLabel('Schwierigkeit');
     $levelElement->setValueOptions($levels);
     /*array('einfach','schwierig'));*/
     $this->add($levelElement);
     // Add steps
     $this->addSteps(4);
     $stepNumbers = range(1, $this->maxNoOfSteps);
     $addStepSelect = new Select('stepNumber');
     $addStepSelect->setLabel('Anzahl Schritte wählen');
     $addStepSelect->setValueOptions($stepNumbers);
     $addStepSelect->setAttribute('id', 'noOfStepSelect');
     $addStepSelect->setAttribute('onchange', 'show()');
     $this->add($addStepSelect);
 }
Пример #27
0
 /**
  * update
  * @param int $_user_no
  * @param array $_data
  * @return boolean
  */
 public function updateRecord($_user_no, $_data)
 {
     $adapter = GlobalAdapterFeature::getStaticAdapter();
     $connection = $adapter->getDriver()->getConnection();
     $connection->beginTransaction();
     $this->db->exchanegArray($_data);
     try {
         $row = $this->db->updateRecord($_user_no);
         if ($row) {
             $connection->commit();
             return true;
         }
     } catch (\Exception $e) {
         $connection->rollback();
         if (IS_TEST) {
             echo $e->getMessage();
         }
         return false;
     }
 }
Пример #28
0
 public function __construct(array $options = null)
 {
     $exclude = null;
     $requirePassword = true;
     //danh cho edit
     if ($options["id"] != null) {
         $exclude = array("field" => "id", "value" => $options["id"]);
         $requirePassword = false;
     }
     //name
     $this->add(array('name' => "username", "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Dữ liệu không được rỗng")), "break_chain_on_failure" => "true"), array("name" => "StringLength", "options" => array("min" => "3", "max" => "200", "messages" => array(\Zend\Validator\StringLength::TOO_SHORT => "Số ký tự phải lớn hơn hoặc bằng %min%", \Zend\Validator\StringLength::TOO_LONG => "Số ký tự phải nhỏ hơn hoặc bằng %max%")), "break_chain_on_failure" => "true"), array("name" => "DbNoRecordExists", "options" => array("table" => "user", "field" => "username", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "exclude" => $exclude, "messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Username đã tồn tại")), "break_chain_on_failure" => "true"))));
     //email
     $this->add(array('name' => "email", "validators" => array(array("name" => "EmailAddress", "options" => array("messages" => array(\Zend\Validator\EmailAddress::INVALID_FORMAT => "Email không hợp lệ", \Zend\Validator\EmailAddress::INVALID_HOSTNAME => "Email không hợp lệ", \Zend\Validator\EmailAddress::INVALID => "Email không hợp lệ", \Zend\Validator\EmailAddress::DOT_ATOM => "Email không hợp lệ")), "break_chain_on_failure" => "true"), array("name" => "DbNoRecordExists", "options" => array("table" => "user", "field" => "email", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "exclude" => $exclude, "messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Email đã tồn tại")), "break_chain_on_failure" => "true"))));
     //password
     $this->add(array('name' => "password", "required" => $requirePassword, "validators" => array(array("name" => "Regex", "options" => array("pattern" => "#^(?=.*\\d)(?=.*[A-Z])(?=.*\\W).{8,15}\$#", "messages" => array(\Zend\Validator\Regex::NOT_MATCH => "password phải có ít nhất 1 ký tự HOA,1 thường ,1 đặc biệt @,một số 1")), "break_chain_on_failure" => "true"), array("name" => "StringLength", "options" => array("min" => "8", "max" => "15", "messages" => array(\Zend\Validator\StringLength::TOO_SHORT => "mật khẩu phải có ít nhất 8 ký tự", \Zend\Validator\StringLength::TOO_LONG => "mật khẩu phải ngắn hơn 15 ký tự")), "break_chain_on_failure" => "true"))));
     //email
     $this->add(array('name' => "image", "required" => false, "validators" => array(array("name" => "FileSize", "options" => array("min" => "2KB", "max" => "2MB", "messages" => array(\Zend\Validator\File\Size::TOO_BIG => "Dung lượng lớn nhất cho phép là '%max%' nhưng '%size%' lớn hơn", \Zend\Validator\File\Size::TOO_SMALL => "Dung lượng nhỏ nhất cho phép là '%min%' nhưng '%size%' nhỏ hơn")), "break_chain_on_failure" => "true"), array("name" => "FileExtension", "options" => array("extension" => array("png", "jpg"), "messages" => array(\Zend\Validator\File\Extension::FALSE_EXTENSION => "phần mở rộng không phù hợp")), "break_chain_on_failure" => "true"))));
     //status
     $this->add(array('name' => "status", "required" => true));
 }
Пример #29
0
 /**
  * @param null|string $name
  */
 public function __construct($serviceLocator, $options = null)
 {
     parent::__construct($serviceLocator);
     $this->setServiceLocator($serviceLocator);
     $this->setAttribute('method', 'post');
     $this->setAttribute('class', 'f');
     $this->setAttribute('autocomplete', 'off');
     $this->setOptions(['layout' => 'form-2-cols']);
     $filter = $this->getInputFilter();
     $group = new DisplayGroup('Signup');
     $group->setLabel('Đăng kí');
     $this->add($group);
     $fullName = new Text('fullName');
     $fullName->setLabel('Tên đầy đủ của bạn');
     $fullName->setAttributes(['maxlength' => 255, 'class' => 'input-xlarge inputFieldWithTitle']);
     $group->addElement($fullName);
     $this->add($fullName);
     $filter->add(array('name' => 'fullName', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập tên của bạn'))))));
     $username = new Text('username');
     $username->setLabel('Tên đăng nhập:');
     $username->setAttributes(['maxlength' => 255, 'class' => 'input-xlarge inputFieldWithTitle']);
     $this->add($username);
     $group->addElement($username);
     $filter->add(array('name' => 'username', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập tên đăng nhập'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 4, 'messages' => array('stringLengthTooShort' => 'Tên đăng nhập phải có từ 4 đến 32 kí tự'))), array('name' => 'Regex', 'break_chain_on_failure' => true, 'options' => array('pattern' => "/^[a-z0-9_-]{4,32}\$/", 'messages' => array('regexNotMatch' => 'Chỉ chấp nhận các kí tự là chữ, chữ số, dấu - và dấu _'))), array('name' => 'Db\\NoRecordExists', 'options' => array('table' => 'users', 'field' => 'username', 'adapter' => \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(), 'messages' => array('recordFound' => "Tên đăng nhập này đã được sử dụng"))))));
     // code
     $password = new Password('password');
     $password->setLabel('Mật khẩu');
     $password->setAttributes(['class' => 'input-xlarge inputFieldWithTitle']);
     $this->add($password);
     $group->addElement($password);
     $filter->add(array('name' => 'password', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 6, 'messages' => array('stringLengthTooShort' => 'Mật khẩu phải có từ 6 kí tự trở lên'))))));
     $password2 = new Password('password2');
     $password2->setLabel('Xác nhận mật khẩu:');
     $password2->setAttributes(['class' => 'input-xlarge inputFieldWithTitle']);
     $this->add($password2);
     $group->addElement($password2);
     $filter->add(array('name' => 'password2', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 6, 'messages' => array('stringLengthTooShort' => 'Mật khẩu phải có từ 6 kí tự trở lên'))), array('name' => 'Identical', 'break_chain_on_failure' => true, 'options' => array('token' => 'password', 'messages' => array('notSame' => 'Xác nhận mật khẩu không chính xác'))))));
     $this->add(array('name' => 'submit', 'options' => array('clearBefore' => true), 'attributes' => array('type' => 'submit', 'value' => 'Đăng kí', 'id' => 'btnSave', 'class' => 'btn btn-primary')));
 }
Пример #30
0
 /**
  * @param null|string $name
  */
 public function __construct($serviceLocator, $options = null)
 {
     parent::__construct($serviceLocator);
     $this->setServiceLocator($serviceLocator);
     $this->setAttribute('method', 'post');
     $this->setAttribute('class', 'f');
     $this->setAttribute('autocomplete', 'off');
     $this->setOptions(['layout' => 'form-2-cols']);
     $filter = $this->getInputFilter();
     $group = new DisplayGroup('Signup');
     $group->setLabel('Đăng kí');
     $this->add($group);
     // name
     $email = new Text('email');
     $email->setLabel('Email:');
     $email->setAttributes(['maxlength' => 255]);
     $this->add($email);
     $group->addElement($email);
     $filter->add(array('name' => 'email', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập địa chỉ email'))), array('name' => 'EmailAddress', 'break_chain_on_failure' => true, 'options' => array('messages' => array('emailAddressInvalidFormat' => 'Địa chỉ email không hợp lệ', 'emailAddressInvalidHostname' => 'Không tồn tại máy chủ mail', 'hostnameInvalidHostname' => 'Không tồn tại hostname như trên', 'hostnameInvalidLocalName' => 'Không tồn tại hostname như trên', 'hostnameLocalNameNotAllowed' => 'Không tồn tại hostname như vậy', 'emailAddressDotAtom' => 'Không tồn tại định dạng E-mail như trên', 'emailAddressQuotedString' => "Định dạng không hợp lệ", 'emailAddressInvalidLocalPart' => 'Định dạng không hợp lệ', 'hostnameUnknownTld' => 'Domain name không hợp lệ'))), array('name' => 'Db\\NoRecordExists', 'options' => array('table' => 'users', 'field' => 'email', 'adapter' => \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(), 'messages' => array('recordFound' => "Email này đã được sử dụng"))))));
     $username = new Text('username');
     $username->setLabel('Tên đăng nhập:');
     $username->setAttributes(['maxlength' => 255]);
     $this->add($username);
     $group->addElement($username);
     $filter->add(array('name' => 'username', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập tên đăng nhập'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 4, 'messages' => array('stringLengthTooShort' => 'Tên đăng nhập phải có từ 4 đến 32 kí tự'))), array('name' => 'Regex', 'break_chain_on_failure' => true, 'options' => array('pattern' => "/^[a-z0-9_-]{4,32}\$/", 'messages' => array('regexNotMatch' => 'Chỉ chấp nhận các kí tự là chữ thường, chữ số, dấu - và dấu _'))), array('name' => 'Db\\NoRecordExists', 'options' => array('table' => 'users', 'field' => 'username', 'adapter' => \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(), 'messages' => array('recordFound' => "Tên đăng nhập này đã được sử dụng"))))));
     // code
     $password = new Password('password');
     $password->setLabel('Mật khẩu');
     $this->add($password);
     $group->addElement($password);
     $filter->add(array('name' => 'password', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 6, 'messages' => array('stringLengthTooShort' => 'Mật khẩu phải có từ 6 kí tự trở lên'))), array('name' => 'Regex', 'break_chain_on_failure' => true, 'options' => array('pattern' => "/^[a-zA-Z0-9]{4,32}\$/", 'messages' => array('regexNotMatch' => 'Mật khẩu chỉ bao gồm chữ hoa, thường và số'))))));
     $password2 = new Password('password2');
     $password2->setLabel('Xác nhận mật khẩu:');
     $this->add($password2);
     $group->addElement($password2);
     $filter->add(array('name' => 'password2', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa xác nhận Mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 6, 'messages' => array('stringLengthTooShort' => 'Mật khẩu phải có từ 6 kí tự trở lên'))), array('name' => 'Identical', 'break_chain_on_failure' => true, 'options' => array('token' => 'password', 'messages' => array('notSame' => 'Xác nhận mật khẩu không chính xác'))))));
     $this->add(array('name' => 'submit', 'options' => array('clearBefore' => true), 'attributes' => array('type' => 'submit', 'value' => 'Đăng kí', 'id' => 'btnSave', 'class' => 'btn btn-primary')));
 }