/**
  * @param int $offset
  * @param int $limit
  * @return array
  */
 public function getAllApproved($offset = 0, $limit = 100)
 {
     $query = new QueryObject(new MarketPlaceReview());
     $query->addAndCondition(QueryCriteria::equal('Approved', 1));
     $query->addOrder(QueryOrder::desc('Created'));
     return $this->getAll($query, $offset, $limit);
 }
 /**
  * @param int $n
  * @return IElection[]
  */
 public function getLatestNElections($n)
 {
     $query = new QueryObject(new Election());
     $query->addOrder(QueryOrder::desc('ElectionsOpen'));
     list($list, $count) = $this->getAll($query, 0, $n);
     return $list;
 }
 public function getLastIdInserted($summit_id)
 {
     $query = new QueryObject(new SummitType());
     $query->addAndCondition(QueryCriteria::equal('SummitID', $summit_id));
     $query->addOrder(QueryOrder::desc('ID'));
     list($list, $count) = $this->getAll($query, 0, 1);
     return array_pop($list)->ID;
 }
 /**
  * @param int $offset
  * @param int $limit
  * @return array
  */
 public function getAllPosted($offset = 0, $limit = 10)
 {
     $query = new QueryObject();
     $query->addAndCondition(QueryCriteria::equal('Active', 1));
     $query->addAndCondition(QueryCriteria::greater('ExpirationDate', date('Y-m-d')));
     $query->addOrder(QueryOrder::desc('JobPostedDate'));
     return $this->getAll($query, $offset, $limit);
 }
Beispiel #5
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'));
                 break;
             case 'location':
                 $query = $query->addOrder(QueryOrder::asc('LocationType'));
                 break;
         }
     }
     list($jobs, $size) = $this->getAll($query, 0, PHP_INT_MAX);
     return new ArrayList($jobs);
 }
 public function sortCompanyService(&$query, $sort, $dir)
 {
     switch ($sort) {
         case 'company':
             $query->addAlias(QueryAlias::create('Company'));
             if ($dir == 'asc') {
                 $query->addOrder(QueryOrder::asc('Company.Name'));
             } else {
                 $query->addOrder(QueryOrder::desc('Company.Name'));
             }
             break;
         case 'name':
             if ($dir == 'asc') {
                 $query->addOrder(QueryOrder::asc('Name'));
             } else {
                 $query->addOrder(QueryOrder::desc('Name'));
             }
         case 'type':
             $query->addAlias(QueryAlias::create('MarketPlaceType'));
             if ($dir == 'asc') {
                 $query->addOrder(QueryOrder::asc('MarketPlaceType.Name'));
             } else {
                 $query->addOrder(QueryOrder::desc('MarketPlaceType.Name'));
             }
         case 'status':
             if ($dir == 'asc') {
                 $query->addOrder(QueryOrder::asc('Active'));
             } else {
                 $query->addOrder(QueryOrder::desc('Active'));
             }
             break;
         case 'updated':
             if ($dir == 'asc') {
                 $query->addOrder(QueryOrder::asc('LastEdited'));
             } else {
                 $query->addOrder(QueryOrder::desc('LastEdited'));
             }
             break;
         case 'updatedby':
             $query->addAlias(QueryAlias::create('Member'));
             if ($dir == 'asc') {
                 $query->addOrder(QueryOrder::asc('Member.Email'));
             } else {
                 $query->addOrder(QueryOrder::desc('Member.Email'));
             }
             break;
         default:
             if ($dir == 'asc') {
                 $query->addOrder(QueryOrder::asc('ID'));
             } else {
                 $query->addOrder(QueryOrder::desc('ID'));
             }
             break;
     }
 }
 public function getArchivedNews($offset = 0, $limit = 1000, $searchTerm)
 {
     if (isset($searchTerm) && trim($searchTerm) !== '') {
         $archivedNewsQuery = $this->buildGeArchivedNewsQuery($searchTerm);
         $list = $archivedNewsQuery->sort('Created DESC')->limit($limit, $offset)->toArray();
     } else {
         $query = new QueryObject(new News());
         $query->addAndCondition(QueryCriteria::equal('Archived', '1'));
         $query->addOrder(QueryOrder::desc('Created'));
         list($list, $count) = $this->getAll($query, $offset, $limit);
     }
     return $list;
 }
 /**
  * @return IJobAlertEmail
  */
 public function getLastOne()
 {
     $query = new QueryObject(new EventAlertEmail());
     $query->addOrder(QueryOrder::desc('Created'));
     return $this->getBy($query);
 }
 public function getAllOrdered()
 {
     $query = new QueryObject();
     $query->addOrder(QueryOrder::desc('Created'));
     return parent::getAll($query);
 }
    /**
     * @param SS_HTTPRequest $request
     * @param string $template_class
     * @param string $ss_tpl_name
     * @return array
     */
    private function buildList(SS_HTTPRequest $request, $template_class = 'SurveyTemplate', $ss_tpl_name = 'SurveyBuilderListSurveys')
    {
        Requirements::javascript('themes/openstack/javascript/querystring.jquery.js');
        Requirements::javascript('survey_builder/js/survey.sangria.surveys.list.filter.js');
        $query_templates = new QueryObject(new SurveyTemplate());
        $query_templates->addAndCondition(QueryCriteria::equal('ClassName', $template_class));
        list($templates, $count) = $this->survey_template_repository->getAll($query_templates, 0, PHP_INT_MAX);
        $page = intval($request->getVar('page'));
        $survey_template_id = intval($request->getVar('survey_template_id'));
        $question_id = intval($request->getVar('question_id'));
        $question_value = Convert::raw2sql($request->getVar('question_value'));
        $question_value2 = Convert::raw2sql($request->getVar('question_value2'));
        $question_value = !empty($question_value) ? $question_value : $question_value2;
        $order = Convert::raw2sql($request->getVar('order'));
        $order_dir = Convert::raw2sql($request->getVar('dir'));
        if ($page === 0) {
            $page = 1;
        }
        $offset = ($page - 1) * self::SurveysPageSize;
        $sort_fields = ['id' => 'ID', 'created' => 'Created', 'updated' => 'LastEdited'];
        $query_surveys = new QueryObject(new Survey());
        $selected_template = $survey_template_id > 0 ? $this->survey_template_repository->getById($survey_template_id) : $templates[0];
        if ($survey_template_id === 0) {
            Controller::curr()->redirect($request->getURL(true) . '?survey_template_id=' . $selected_template->ID);
        }
        $query_surveys->addAndCondition(QueryCriteria::id('Survey.TemplateID', $selected_template->getIdentifier()))->addAndCondition(QueryCriteria::id('Survey.IsTest', 0));
        if ($question_id > 0 && !empty($question_value)) {
            // filter by question ...
            $query_surveys->addAlias(QueryAlias::create('Steps')->addAlias(QueryAlias::create('Answers')->addAlias(QueryAlias::create('Question'))));
            $query_surveys->addAndCondition(QueryCompoundCriteria::compoundAnd([QueryCriteria::id('SurveyQuestionTemplate.ID', $question_id), QueryCriteria::like('SurveyAnswer.Value', $question_value)]));
        }
        if (empty($order)) {
            $query_surveys->addOrder(QueryOrder::asc('ID'));
        } else {
            if ($order_dir === 'ASC') {
                $query_surveys->addOrder(QueryOrder::asc($sort_fields[$order]));
            } else {
                $query_surveys->addOrder(QueryOrder::desc($sort_fields[$order]));
            }
        }
        list($surveys, $count_surveys) = $this->survey_repository->getAll($query_surveys, $offset, self::SurveysPageSize);
        // build pager
        $pages = '';
        $max_page = intval(ceil($count_surveys / self::SurveysPageSize));
        for ($i = 1; $i < $max_page; $i++) {
            $pages .= sprintf("<li %s ><a href=\"%s?%s\">%s</a></li>", $page === $i ? "class=\"active\"" : "", $this->owner->Link($ss_tpl_name), $this->getPagerLink($i), $i);
        }
        $pager = <<<HTML
<nav>
    <ul class="pagination pagination-sm">
        {$pages}
    </ul>
</nav>
HTML;
        $result = ['Templates' => new ArrayList($templates), 'Surveys' => new ArrayList($surveys), 'Questions' => new ArrayList($selected_template->getAllFilterableQuestions()), 'Pager' => $pager];
        return $result;
    }
 /**
  * @return INews[]
  */
 public function getStandByNews()
 {
     $query = new QueryObject(new News());
     $query->addAndCondition(QueryCriteria::equal('Featured', '0'));
     $query->addAndCondition(QueryCriteria::equal('Slider', '0'));
     $query->addAndCondition(QueryCriteria::equal('Approved', '0'));
     $query->addAndCondition(QueryCriteria::equal('Archived', '0'));
     $query->addAndCondition(QueryCriteria::equal('Deleted', '0'));
     $query->addOrder(QueryOrder::desc('Date'));
     //$query->addOrder(QueryOrder::asc('Rank'));
     list($list, $count) = $this->getAll($query, 0, 1000);
     return $list;
 }