示例#1
0
文件: Blog.php 项目: arbi/MyCode
 /**
  * 
  * @param string $article
  * @return type
  */
 public function getBlogByArticel($article)
 {
     if (!ClassicValidator::checkCityName($article)) {
         return false;
     }
     $dao = $this->getBlogDao();
     $blog = $dao->getBlogByArticel($article);
     return $blog;
 }
示例#2
0
 public function __invoke($options = array())
 {
     $render = array_key_exists('render', $options) ? $options['render'] : true;
     $searchService = $this->getServiceLocator()->get('service_website_search');
     $options = $searchService->getOptions();
     $request = $this->getServiceLocator()->get('request');
     $getParams = $request->getQuery();
     $setParams = [];
     if (isset($getParams['city']) && ClassicValidator::checkCityName($getParams['city'])) {
         $setParams['city_url'] = $getParams['city'];
         $city = Helper::urlForSearch($getParams['city']);
         //            $setParams['city']      = ;
         if (isset($getParams['guest'])) {
             $setParams['guest'] = $getParams['guest'];
         }
         $date = $searchService->getFixedDate($getParams);
         $setParams['arrival'] = $date['arrival'];
         $setParams['departure'] = $date['departure'];
     }
     $vm = new ViewModel(['options' => $options, 'setParams' => $setParams]);
     $vm->setTemplate($this->viewTemplate);
     return $render ? $this->getView()->render($vm) : $vm;
 }
示例#3
0
 /**
  * Test filter reservation data action
  */
 public function testFilterReservationData()
 {
     // check services and dao`s
     $websiteSearchService = $this->getApplicationServiceLocator()->get('service_website_search');
     $this->assertInstanceOf('\\DDD\\Service\\Website\\Search', $websiteSearchService);
     $cityDao = new City($this->getApplicationServiceLocator(), 'ArrayObject');
     $this->assertInstanceOf('\\DDD\\Dao\\Location\\City', $cityDao);
     $cityName = 'Yerevan';
     $apartmentTitle = 'hollywood-al-pacino';
     $cityResponse = $cityDao->getCityByName($cityName);
     $this->assertTrue(ClassicValidator::checkCityName($cityName), "City Name Validator haven't correct regex");
     $this->assertTrue(ClassicValidator::checkApartmentTitle($apartmentTitle), "Apartment Name Validator haven't correct regex");
     $this->assertArrayHasKey('timezone', $cityResponse);
     // check current date
     $diffHours = 0;
     $boDiffHours = -24;
     $currentDate = Helper::getCurrenctDateByTimezone($cityResponse['timezone'], 'd-m-Y', $diffHours);
     $currentDateForBo = Helper::getCurrenctDateByTimezone($cityResponse['timezone'], 'd-m-Y', $boDiffHours);
     $dateCurrent = new \DateTime("now");
     $dateBoCurrent = new \DateTime("yesterday");
     $this->assertEquals($currentDate, $dateCurrent->format('d-m-Y'), 'Guest timezone logic is not correct');
     $this->assertEquals($currentDateForBo, $dateBoCurrent->format('d-m-Y'), 'Bo User timezone logic is not correct');
 }
示例#4
0
文件: Booking.php 项目: arbi/MyCode
 /**
  * @param array $data
  * @return string
  */
 private function filterReservationData($data)
 {
     $currentDate = date('Y-m-d');
     $cityDao = new City($this->getServiceLocator(), 'ArrayObject');
     if (isset($data['city']) && ClassicValidator::checkCityName($data['city'])) {
         $cityResp = $cityDao->getCityByName(Helper::urlForSearch($data['city']));
         if ($cityResp) {
             /* @var $websiteSearchService \DDD\Service\Website\Search */
             $websiteSearchService = $this->getServiceLocator()->get('service_website_search');
             $diffHours = $websiteSearchService->getDiffHoursForDate();
             $currentDate = Helper::getCurrenctDateByTimezone($cityResp['timezone'], 'd-m-Y', $diffHours);
         }
     }
     if (!isset($data['city']) || !ClassicValidator::checkCityName($data['city']) || !isset($data['apartment']) || !ClassicValidator::checkApartmentTitle($data['apartment']) || !isset($data['guest']) || !is_numeric($data['guest']) || !isset($data['apartment_id']) || !is_numeric($data['apartment_id']) || !isset($data['arrival']) || !ClassicValidator::validateDate($data['arrival'], 'd M Y') || !isset($data['departure']) || !ClassicValidator::validateDate($data['departure'], 'd M Y') || strtotime($data['arrival']) >= strtotime($data['departure']) || strtotime($currentDate) - strtotime($data['arrival']) > 129600 || !isset($data['rate-for-booking']) || !is_numeric($data['rate-for-booking']) || isset($data['apartel_id']) && !is_numeric($data['apartel_id'])) {
         return false;
     }
     return true;
 }
示例#5
0
文件: Search.php 项目: arbi/MyCode
 /**
  *
  * @param array $data
  * @return string
  */
 public function filterSearchData($data)
 {
     $error = '';
     //city
     if (isset($data['city']) && !ClassicValidator::checkCityName($data['city'])) {
         $error .= $this->getTextLineSite(1220);
     }
     if (isset($data['apartel']) && !ClassicValidator::checkApartmentTitle($data['apartel'])) {
         $error .= $this->getTextLineSite(1220);
     }
     return $error;
 }
示例#6
0
文件: Location.php 项目: arbi/MyCode
 /**
  * @param int $cityId
  * @param string $poiSlug
  * @return boolean
  */
 public function getPoiData($cityId, $poiSlug)
 {
     if (!$poiSlug || !ClassicValidator::checkCityName($poiSlug)) {
         return false;
     }
     /* @var $poiDao \DDD\Dao\Geolocation\Poi */
     $poiDao = $this->getPoiDao();
     $poi = $poiDao->getPoiDataBySlug($cityId, Helper::urlForSearch($poiSlug, TRUE));
     if ($poi) {
         $poi['img'] = Helper::getImgByWith('/locations/' . $poi['detail_id'] . '/' . $poi['cover_image'], WebSite::IMG_WIDTH_LOCATION_BIG);
     }
     return $poi;
 }
示例#7
0
文件: Apartment.php 项目: arbi/MyCode
 /**
  * @param array $data
  * @return string
  */
 public function filterQueryData($data)
 {
     $currentDate = date('Y-m-d');
     $cityDao = new City($this->getServiceLocator(), 'ArrayObject');
     if (!isset($data['city'])) {
         $pageSlugExp = explode('--', $data['slug']);
         $citySlug = $pageSlugExp[1];
     } else {
         $citySlug = $data['city'];
     }
     if (isset($citySlug) && ClassicValidator::checkCityName($citySlug)) {
         $cityResp = $cityDao->getCityBySlug(Helper::urlForSearch($citySlug, TRUE));
         if ($cityResp) {
             /* @var $websiteSearchService \DDD\Service\Website\Search */
             $websiteSearchService = $this->getServiceLocator()->get('service_website_search');
             $diffHours = $websiteSearchService->getDiffHoursForDate();
             $currentDate = Helper::getCurrenctDateByTimezone($cityResp['timezone'], 'd-m-Y', $diffHours);
         }
     }
     if (!isset($data['arrival']) || !ClassicValidator::validateDate($data['arrival']) || !isset($data['departure']) || !ClassicValidator::validateDate($data['departure']) || strtotime($data['arrival']) < strtotime($currentDate) || strtotime($data['arrival']) >= strtotime($data['departure'])) {
         return false;
     }
     return true;
 }