Beispiel #1
0
 public function DateSortedJobs()
 {
     $query = new QueryObject(new JobPage());
     $request = Controller::curr()->getRequest();
     if ($request->requestVar('foundation')) {
         $query->addAndCondition(QueryCriteria::equal('FoundationJob', 1));
     }
     $now = new DateTime();
     $query->addAndCondition(QueryCriteria::equal('Active', 1));
     $post_date = $now->sub(new DateInterval('P6M'));
     $query->addAndCondition(QueryCriteria::greaterOrEqual('JobPostedDate', $post_date->format('Y-m-d')));
     $query->addAndCondition(QueryCriteria::greaterOrEqual('ExpirationDate', $now->format('Y-m-d')));
     $query->addOrder(QueryOrder::desc('JobPostedDate'));
     $query->addOrder(QueryOrder::desc('ID'));
     list($jobs, $size) = $this->repository->getAll($query, 0, 1000);
     return new ArrayList($jobs);
 }
 public function getDateSortedJobs($foundation = 0)
 {
     $query = new QueryObject(new JobPage());
     if ($foundation) {
         $query->addAndCondition(QueryCriteria::equal('FoundationJob', 1));
     }
     $now = new DateTime();
     $six_months_ago = new DateTime();
     $query->addAndCondition(QueryCriteria::equal('Active', 1));
     $post_date = $six_months_ago->sub(new DateInterval('P6M'));
     $query->addAndCondition(QueryCriteria::greaterOrEqual('JobPostedDate', $post_date->format('Y-m-d')));
     $query->addAndCondition(QueryCriteria::greaterOrEqual('ExpirationDate', $now->format('Y-m-d')));
     $query->addOrder(QueryOrder::desc('JobPostedDate'));
     $query->addOrder(QueryOrder::desc('ID'));
     list($jobs, $size) = $this->getAll($query, 0, 1000);
     return new ArrayList($jobs);
 }
 public function getJobsByKeywordTypeAndSortedBy($keywords, $type_id, $sort_by)
 {
     $query = new QueryObject(new Job());
     $now = new DateTime();
     $six_months_ago = new DateTime();
     $post_date = $six_months_ago->sub(new DateInterval('P6M'));
     $query->addAndCondition(QueryCriteria::equal('IsActive', 1));
     $query->addAndCondition(QueryCriteria::greaterOrEqual('PostedDate', $post_date->format('Y-m-d H:i:s')));
     $query->addAndCondition(QueryCriteria::greaterOrEqual('ExpirationDate', $now->format('Y-m-d H:i:s')));
     if (!empty($keywords)) {
         $query->addAndCondition(QueryCompoundCriteria::compoundOr([QueryCriteria::like('Title', trim($keywords)), QueryCriteria::like('Description', trim($keywords))]));
     }
     if (intval($type_id) > 0) {
         $query->addAndCondition(QueryCriteria::equal('TypeID', $type_id));
     }
     if (!empty($sort_by)) {
         switch (strtolower($sort_by)) {
             case 'coa':
                 $query = $query->addOrder(QueryOrder::desc('IsCOANeeded'));
                 break;
             case 'foundation':
                 $query = $query->addOrder(QueryOrder::desc('IsFoundationJob'));
                 break;
             case 'company':
                 $query = $query->addOrder(QueryOrder::asc('CompanyName'));
                 break;
             case 'posted':
                 $query = $query->addOrder(QueryOrder::desc('PostedDate'));
                 $query = $query->addOrder(QueryOrder::desc('ID'));
                 break;
             case 'location':
                 $query = $query->addOrder(QueryOrder::asc('LocationType'));
                 break;
         }
     }
     list($jobs, $size) = $this->getAll($query, 0, PHP_INT_MAX);
     return new ArrayList($jobs);
 }
Beispiel #4
0
 /**
  * @param mixed|null $day
  * @param int|null $location
  * @return SummitEvent[]
  * @throws Exception
  */
 public function getSchedule($day = null, $location = null)
 {
     $query = new QueryObject();
     $query->addAndCondition(QueryCriteria::equal('Published', 1));
     if (!is_null($day)) {
         if (!$day instanceof DateTime) {
             $day = new DateTime($day);
         }
         $start = $day->setTime(0, 0, 0)->format("Y-m-d H:i:s");
         $end = $day->add(new DateInterval('PT23H59M59S'))->format("Y-m-d H:i:s");
         $query->addAndCondition(QueryCriteria::greaterOrEqual('StartDate', $this->convertDateFromTimeZone2UTC($start)));
         $query->addAndCondition(QueryCriteria::lowerOrEqual('EndDate', $this->convertDateFromTimeZone2UTC($end)));
     }
     if (!is_null($location)) {
         $query->addAndCondition(QueryCriteria::equal('LocationID', intval($location)));
     }
     $query->addOrder(QueryOrder::asc('StartDate'))->addOrder(QueryOrder::asc('EndDate'))->addOrder(QueryOrder::asc('Title'));
     return new ArrayList(AssociationFactory::getInstance()->getOne2ManyAssociation($this, 'Events', $query)->toArray());
 }
 public function purgeActionRequests($batch_size, $older_than_x_hours = 48)
 {
     $merge_request_repository = $this->merge_request_repository;
     $delete_request_repository = $this->delete_request_repository;
     return $this->tx_manager->transaction(function () use($merge_request_repository, $delete_request_repository, $batch_size, $older_than_x_hours) {
         $query1 = new QueryObject();
         $query1->addAndCondition(QueryCriteria::greaterOrEqual("ADDDATE(Created, INTERVAL {$older_than_x_hours}  HOUR)", 'NOW()', false));
         list($list1, $size) = $merge_request_repository->getAll($query1, 0, $batch_size);
         foreach ($list1 as $res) {
             $merge_request_repository->delete($res);
         }
         $query2 = new QueryObject();
         $query2->addAndCondition(QueryCriteria::greaterOrEqual("ADDDATE(Created, INTERVAL {$older_than_x_hours}  HOUR)", 'NOW()', false));
         list($list2, $size) = $delete_request_repository->getAll($query2, 0, $batch_size);
         foreach ($list2 as $res) {
             $delete_request_repository->delete($res);
         }
     });
 }
Beispiel #6
0
 /**
  * @param mixed|null $day
  * @return SummitEvent[]
  * @throws Exception
  */
 public function getSchedule($day = null)
 {
     $query = new QueryObject();
     $query->addAndCondition(QueryCriteria::equal('Published', 1));
     if (!is_null($day)) {
         if (!$day instanceof DateTime) {
             $day = new DateTime($day);
         }
         $day->setTime(0, 0, 0);
         $query->addAndCondition(QueryCriteria::greaterOrEqual('StartDate', $day->format('Y-m-d H:i:s')));
         $query->addAndCondition(QueryCriteria::lowerOrEqual('EndDate', $day->add(new DateInterval('PT23H59M59S'))->format('Y-m-d H:i:s')));
     }
     $query->addOrder(QueryOrder::asc('StartDate'));
     return AssociationFactory::getInstance()->getOne2ManyAssociation($this, 'Events', $query)->toArray();
 }
 public function getArticlesToSort($article_id, $new_rank, $old_rank, $is_new, $is_remove, $type)
 {
     $slider = $featured = $approved = 0;
     if ($type == 'slider') {
         $slider = 1;
         $approved = 1;
     } elseif ($type == 'featured') {
         $featured = 1;
         $approved = 1;
     } elseif ($type == 'recent') {
         $approved = 1;
     }
     $query = new QueryObject(new News());
     $query->addAndCondition(QueryCriteria::notEqual('ID', $article_id));
     $query->addAndCondition(QueryCriteria::equal('Slider', $slider));
     $query->addAndCondition(QueryCriteria::equal('Featured', $featured));
     $query->addAndCondition(QueryCriteria::equal('Approved', $approved));
     if ($is_new) {
         $query->addAndCondition(QueryCriteria::greaterOrEqual('Rank', $new_rank));
         $rank_delta = 1;
     } elseif ($is_remove) {
         $query->addAndCondition(QueryCriteria::greaterOrEqual('Rank', $old_rank));
         $rank_delta = -1;
     } else {
         if ($old_rank < $new_rank) {
             $query->addAndCondition(QueryCriteria::greaterOrEqual('Rank', $old_rank));
             $query->addAndCondition(QueryCriteria::lowerOrEqual('Rank', $new_rank));
             $rank_delta = -1;
         } else {
             $query->addAndCondition(QueryCriteria::greaterOrEqual('Rank', $new_rank));
             $query->addAndCondition(QueryCriteria::lowerOrEqual('Rank', $old_rank));
             $rank_delta = 1;
         }
     }
     list($other_articles, $count) = $this->getAll($query);
     $return_array = array($other_articles, $rank_delta);
     return $return_array;
 }
 /**
  * @return ISurveyTemplate
  */
 public function getCurrentSurveyTemplate()
 {
     $query = new QueryObject();
     $now = new \DateTime('now', new DateTimeZone('UTC'));
     $query->addAndCondition(QueryCriteria::lowerOrEqual('StartDate', $now->format('Y-m-d H:i:s')));
     $query->addAndCondition(QueryCriteria::greaterOrEqual('EndDate', $now->format('Y-m-d H:i:s')));
     $query->addAndCondition(QueryCriteria::equal('Enabled', 1));
     return $this->template_repository->getBy($query);
 }