예제 #1
0
 /**
  * Verifica se uma reunião já existe
  * 
  * @param type $al
  * @param type $dia
  * @return type
  */
 public function exists($al, $dia)
 {
     $zfDate = new \Zend\Validator\Date(array('format' => 'd/m/Y'));
     if ($zfDate->isValid($dia)) {
         $dia = implode('-', array_reverse(explode('/', $dia)));
     }
     return (int) $this->gateway->exists($al, $dia);
 }
 public function editAction()
 {
     $sl = $this->getServiceLocator();
     $userService = $sl->get('User\\Service\\User');
     /* @var $userService \User\Service\User */
     $user = $userService->getUser();
     $userMapper = $this->getServiceLocator()->get('User\\Model\\UserMapper');
     $data = $this->getRequest()->getPost()->toArray();
     $json = new JsonModel();
     if ($data['name'] == 'fullName') {
         $fullName = strip_tags($data['value']);
         $user->setFullName(trim($fullName));
         $userMapper->updateUser($user);
     }
     if ($data['name'] == 'birthdate') {
         $brithday = strip_tags($data['value']);
         $validator = new \Zend\Validator\Date();
         if ($validator->isValid($brithday)) {
             $user->setBirthdate($brithday);
             $userMapper->updateUser($user);
         } else {
             $json->setVariables(['code' => 1, 'messages' => ['Sai định dạng ngày tháng file.']]);
         }
     }
     if ($data['name'] == 'gender') {
         $user->setGender(strip_tags($data['value']));
         $userMapper->updateUser($user);
     }
     if ($data['name'] == 'cityId') {
         return $json->setVariables(['code' => 1, 'messages' => strip_tags($data['value'])]);
     }
     if ($data['name'] == 'districId') {
         $user->setDistrictId(strip_tags($data['value']));
         if (!empty($data['city'])) {
             $user->setCityId(strip_tags($data['city']));
         }
         $userMapper->updateUser($user);
     }
     if ($data['name'] == 'address') {
         $user->setAddress(strip_tags($data['value']));
         $userMapper->updateUser($user);
     }
     if ($data['name'] == 'mobile') {
         $validator = new \Zend\Validator\Digits();
         if ($validator->isValid($data['value'])) {
             $user->setMobile(strip_tags($data['value']));
             $userMapper->updateUser($user);
         }
     }
     if ($data['name'] == 'email') {
         $validator = new \Zend\Validator\EmailAddress();
         if ($validator->isValid($data['value'])) {
             $user->setEmail(strip_tags($data['value']));
             $userMapper->updateUser($user);
         }
     }
     return '';
 }
예제 #3
0
 public function index02Action()
 {
     echo "<h3 style='color:red;font-weight:bold'>" . __METHOD__ . "</h3>";
     $validator = new \Zend\Validator\Date("Y.m.d");
     $input = "1992-11-17";
     $input = "1992.01.17";
     if (!$validator->isValid($input)) {
         $message = $validator->getMessages();
         echo current($message);
     } else {
         echo "ok";
     }
     return false;
 }
예제 #4
0
 /**
  * Convert the date format from the post data array to the database format value
  * 
  * @see Zend\Stdlib\Hydrator\Strategy.StrategyInterface::hydrate()
  */
 public function hydrate($value)
 {
     if (is_string($value) && "" === $value) {
         $value = null;
     } elseif (is_string($value)) {
         $date = new \DateTime();
         $validator = new \Zend\Validator\Date(array('format' => 'd/m/Y H:i:s', 'locale' => 'it'));
         if ($validator->isValid($value)) {
             $thedate = $date->createFromFormat('d/m/Y H:i:s', $value);
             $value = $thedate->format('Y-m-d H:i:s');
         }
         if (strlen($value) > 10) {
             $thedate = $date->createFromFormat('d/m/Y H:i', $value);
             if ($thedate) {
                 $value = $thedate->format('Y-m-d H:i');
             }
         }
     }
     if (is_string($value)) {
         $value = new DateTime($value);
     }
     return $value;
 }
예제 #5
0
 /**
  * @param $data
  * @return Paginator
  *
  */
 public function pesquisar($data)
 {
     $sql = new Sql($this->getAdapter());
     $select = $this->getSql()->select();
     $select->join('coleta', 'coleta.id_coleta = registro.id_coleta', array('data'));
     $validator = new \Zend\Validator\Date();
     if ($validator->isValid($data["data_ini"]) and !$validator->isValid($data["data_end"])) {
         $select->where->greaterThanOrEqualTo('coleta.data', $data["data_ini"]);
     }
     if (!$validator->isValid($data["data_ini"]) and $validator->isValid($data["data_end"])) {
         $select->where->lessThanOrEqualTo('coleta.data', $data["data_end"]);
     }
     if ($validator->isValid($data["data_ini"]) and $validator->isValid($data["data_end"])) {
         $select->where->greaterThanOrEqualTo('coleta.data', $data["data_ini"]);
         $select->where->and->lessThanOrEqualTo('coleta.data', $data["data_end"]);
     }
     if (strlen($data["palavra"]) > 2) {
         if ($validator->isValid($data["data_ini"]) or $validator->isValid($data["data_end"])) {
             $select->where->and;
         }
         $select->where->like('registro.cidade', '%' . $data["palavra"] . '%');
         $select->where->or->like('registro.estado', '%' . $data["palavra"] . '%');
         $select->where->or->like('registro.objeto', '%' . $data["palavra"] . '%');
         $select->where->or->like('registro.uasg', '%' . $data["palavra"] . '%');
         $select->where->or->like('registro.orgao1', '%' . $data["palavra"] . '%');
         $select->where->or->like('registro.orgao2', '%' . $data["palavra"] . '%');
         $select->where->or->like('registro.orgao3', '%' . $data["palavra"] . '%');
         $select->where->or->like('registro.edital', '%' . $data["palavra"] . '%');
         $select->where->or->like('registro.item_material', '%' . $data["palavra"] . '%');
         $select->where->or->like('registro.item_servico', '%' . $data["palavra"] . '%');
     }
     $select->order("coleta.data");
     //echo $select->getSqlString();
     $adapter = new DbSelect($select, $sql);
     $paginator = new Paginator($adapter);
     return $paginator;
 }
예제 #6
0
 public function testErrorShowTwice()
 {
     $element = new Element\Date('birth');
     $element->setFormat('Y-m-d');
     $element->setValue('2010-13-13');
     $validator = new \Zend\Validator\Date();
     $validator->isValid($element->getValue());
     $element->setMessages($validator->getMessages());
     $markup = $this->helper->__invoke($element);
     $this->assertEquals(2, count(explode("<ul><li>The input does not appear to be a valid date</li></ul>", $markup)));
 }
 public function activeAction()
 {
     $error = array();
     $title = 'Kích hoạt tin > Thêm mới';
     $this->headTitle($title)->setSeparator(" - ")->append("Hệ thống quản trị website");
     $view = new ViewModel();
     //danh sách loại tin
     $listItemTypeNews = $this->getTable()->itemInselectBox($this->_arrParam, array('task' => 'list-item-type-news'));
     //Thông tin dịch vụ tài khoản cao cấp
     $itemStatisticService = $this->getTable()->getItem($this->identity()->id, array('task' => 'get-item-statistic-service'));
     if (!empty($itemStatisticService)) {
         $infoAccountService = \Zend\Json\Json::decode($itemStatisticService['info_service_account']);
         $normal = $infoAccountService->normal;
         $vip = $infoAccountService->vip;
         $hot = $infoAccountService->hot;
         $free = $infoAccountService->free;
         $chinhchu = $infoAccountService->chinhchu;
         $date_start = $infoAccountService->date_start;
         $date_end = $infoAccountService->date_end;
         $service_account = $infoAccountService->service_account;
     }
     $item = $this->getTable()->getItem($this->_arrParam, array('task' => 'get-item'));
     if ($this->getRequest()->isPost()) {
         //Kiểm tra chọn select box
         if (empty($this->_arrPost['sltEventType'])) {
             $error[] = 'Bạn phải chọn loại tin!';
         }
         if (empty($this->_arrPost['txtEndDate'])) {
             $error[] = 'Ngày hết hạn không được trống!';
             $validator = new \Zend\Validator\Date(array('format' => 'dd/MM/yyyy'));
             if (!$validator->isValid($this->_arrPost['txtEndDate'])) {
                 $error[] = 'Ngày hết hạn không hợp lệ!';
             }
         }
         //Kiểm tra  thời hạn sử dụng tài khoản cao cấp
         if ($date_end != 'Vô hạn') {
             $hansudung = explode("-", $date_end);
             //tính số ngày còn lại sử dụng dịch vụ
             $month = !empty($hansudung[1]) ? $hansudung[1] : '';
             $day = !empty($hansudung[0]) ? $hansudung[0] : '';
             $year = !empty($hansudung[2]) ? $hansudung[2] : '';
             $remain = ceil((mktime(0, 0, 0, $month, $day, $year) - time()) / 86400);
             if ($remain <= 0) {
                 $error[] = $service_account . ' của bạn đã hết hạn sử dụng!';
             }
         }
         //Kiểm tra xem số tin kích hoạt nếu hết tin thì không cho kích hoạt loại tin đó
         //Tin miễn phí
         if ($this->_arrPost['sltEventType'] == 1) {
             if ($free == 0) {
                 $error[] = 'Bạn đã hết tin Miễn phí để kích hoạt!';
             }
             $free = $free - 1;
             //sau khi kích hoạt tin trừ đi 1 lần kích hoạt
         }
         //Tin Thường
         if ($this->_arrPost['sltEventType'] == 2) {
             if ($normal == 0) {
                 $error[] = 'Bạn đã hết tin Thường để kích hoạt!';
             }
             $normal = $normal - 1;
             //sau khi kích hoạt tin trừ đi 1 lần kích hoạt
         }
         //Tin VIP
         if ($this->_arrPost['sltEventType'] == 3) {
             if ($vip == 0) {
                 $error[] = 'Bạn đã hết tin VIP để kích hoạt!';
             }
             $vip = $vip - 1;
             //sau khi kích hoạt tin trừ đi 1 lần kích hoạt
         }
         //Tin HOT
         if ($this->_arrPost['sltEventType'] == 4) {
             if ($hot == 0) {
                 $error[] = 'Bạn đã hết tin HOT để kích hoạt!';
             }
             $hot = $hot - 1;
             //sau khi kích hoạt tin trừ đi 1 lần kích hoạt
         }
         //Tin Chính chủ
         if ($this->_arrPost['sltEventType'] == 5) {
             if ($chinhchu == 0) {
                 $error[] = 'Bạn đã hết tin Chính Chủ để kích hoạt!';
             }
             $chinhchu = $chinhchu - 1;
             //sau khi kích hoạt tin trừ đi 1 lần kích hoạt
         }
         if (empty($error)) {
             //cập nhật trạng thái
             $data = array('id' => $this->_arrPost['id'], 'status' => 5, 'type_news' => $this->_arrPost['sltEventType'], 'date_end' => $this->_arrPost['txtEndDate']);
             $this->getTable()->saveItem($data, array('task' => 'edit'));
             //lưu lịch sử giao dịch
             $dataHitory = array('service_id' => $this->_arrPost['id'], 'type_news' => $this->_arrPost['sltEventType'], 'user_id' => $this->identity()->id, 'date_time' => date('d/m/Y h:i:s'));
             $this->getTable()->saveItem($dataHitory, array('task' => 'save-history-transaction'));
             //Cập nhật lại số tin đã dùng
             $array = array('service_account' => $service_account, 'normal' => $normal, 'vip' => $vip, 'hot' => $hot, 'free' => $free, 'chinhchu' => $chinhchu, 'date_start' => $date_start, 'date_end' => $date_end);
             $infoServiceAccountJson = \Zend\Json\Json::encode($array);
             $dataUser = array('id' => $this->identity()->id, 'info_service_account' => $infoServiceAccountJson);
             $this->getTable()->saveItem($dataUser, array('task' => 'update-info-user'));
             $this->redirect()->toUrl('/user/real-estate/');
         }
     }
     $view->setVariables(array('arrParam' => $this->_arrParam, 'currentController' => $this->_currentController, 'item' => $item, 'error' => $error, 'listItemTypeNews' => $listItemTypeNews));
     return $view;
 }