/**
  * @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);
 }
Exemple #2
0
 /**
  * @return ISurveyStep[]
  */
 public function getSteps()
 {
     $query = new QueryObject(new SurveyStep());
     $query->addAlias(QueryAlias::create('Template'));
     $query->addOrder(QueryOrder::asc('Template.Order'));
     return new ArrayList(AssociationFactory::getInstance()->getOne2ManyAssociation($this, 'Steps', $query)->toArray());
 }
 /**
  * @param ISurveyQuestionTemplate $question
  * @return $this
  */
 public function addQuestion(ISurveyQuestionTemplate $question)
 {
     $query = new QueryObject();
     $query->addOrder(QueryOrder::asc('Order'));
     return AssociationFactory::getInstance()->getOne2ManyAssociation($this, 'Questions', $query)->add($question);
     return $this;
 }
 public function exportCCLACompanies()
 {
     //clean output buffer
     ob_end_clean();
     // file name for download
     $filename = "companies_ccla" . date('Ymd') . ".xls";
     header("Content-Disposition: attachment; filename=\"{$filename}\"");
     header("Content-Type: application/vnd.ms-excel");
     $query = new QueryObject();
     $query->addOrder(QueryOrder::asc('Name'));
     list($list, $size) = $this->company_repository->getAll($query, 0, 1000);
     $data = array();
     foreach ($list as $company) {
         $row = array();
         $row['CompanyName'] = $company->Name;
         $row['CCLADate'] = $company->isICLASigned() ? $company->CCLADate : 'N/A';
         $row['CCLASigned'] = $company->isICLASigned() ? 'True' : 'False';
         array_push($data, $row);
     }
     $flag = false;
     foreach ($data as $row) {
         if (!$flag) {
             // display field/column names as first row
             echo implode("\t", array_keys($row)) . "\n";
             $flag = true;
         }
         array_walk($row, array($this, 'cleanData'));
         echo implode("\t", array_values($row)) . "\n";
     }
 }
 /**
  * @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;
 }
 /**
  * @param string $promo_code_type
  * @param int $batch_size
  * @return ISpeakerSummitRegistrationPromoCode
  */
 public function getNextAvailableByType($promo_code_type, $batch_size = 10)
 {
     switch ($promo_code_type) {
         case ISpeakerSummitRegistrationPromoCode::TypeAccepted:
             if (count($this->promo_code_speaker_session_pool) === 0) {
                 $query = new QueryObject(new SpeakerSummitRegistrationPromoCode());
                 $query->addAndCondition(QueryCriteria::equal('Type', $promo_code_type));
                 $query->addAndCondition(QueryCriteria::equal('OwnerID', 0));
                 $query->addAndCondition(QueryCriteria::equal('SpeakerID', 0));
                 $query->addAndCondition(QueryCriteria::equal('SummitID', Summit::get_active()->ID));
                 $query->addOrder(QueryOrder::asc('ID'));
                 list($this->promo_code_speaker_session_pool, $count) = $this->getAll($query, 0, $batch_size);
             }
             return array_shift($this->promo_code_speaker_session_pool);
             break;
         case ISpeakerSummitRegistrationPromoCode::TypeAlternate:
             if (count($this->promo_code_alternate_speaker_session_pool) === 0) {
                 $query = new QueryObject(new SpeakerSummitRegistrationPromoCode());
                 $query->addAndCondition(QueryCriteria::equal('Type', $promo_code_type));
                 $query->addAndCondition(QueryCriteria::equal('OwnerID', 0));
                 $query->addAndCondition(QueryCriteria::equal('SpeakerID', 0));
                 $query->addAndCondition(QueryCriteria::equal('SummitID', Summit::get_active()->ID));
                 $query->addOrder(QueryOrder::asc('ID'));
                 list($this->promo_code_alternate_speaker_session_pool, $count) = $this->getAll($query, 0, $batch_size);
             }
             return array_shift($this->promo_code_alternate_speaker_session_pool);
             break;
     }
     return null;
 }
 /**
  * @param int $offset
  * @param int $count
  * @return array
  */
 public function getUnprocessed($offset, $count)
 {
     $query = new QueryObject(new EventbriteEvent());
     $query->addAndCondition(QueryCriteria::equal('Processed', 0));
     $query->addOrder(QueryOrder::asc('ID'));
     return $this->getAll($query, $offset, $count);
 }
 /**
  * @param int $batch_size
  * @param string $email_alert_to
  * @param string $details_url
  */
 public function makeDigest($batch_size = 15, $email_alert_to, $details_url)
 {
     $email_repository = $this->email_repository;
     $repository = $this->repository;
     $factory = $this->factory;
     $this->tx_manager->transaction(function () use($batch_size, $email_alert_to, $details_url, $repository, $email_repository, $factory) {
         $last_email = $email_repository->getLastOne();
         $query = new QueryObject();
         $query->addAndCondition(QueryCriteria::equal('isPosted', 0));
         $query->addAndCondition(QueryCriteria::equal('isRejected', 0));
         if ($last_email) {
             $query->addAndCondition(QueryCriteria::greater('ID', $last_email->getLastEventRegistrationRequest()->getIdentifier()));
         }
         $query->addOrder(QueryOrder::asc('PostDate'));
         list($list, $size) = $repository->getAll($query, 0, $batch_size);
         if ($list && count($list) > 0) {
             $last_one = end($list);
             reset($list);
             $email = EmailFactory::getInstance()->buildEmail(EVENT_REGISTRATION_REQUEST_EMAIL_FROM, $email_alert_to, "New Event Registration Requests");
             $email->setTemplate('EventAlertEmail');
             $email->populateTemplate(array('RegistrationRequests' => new ArrayList($list), 'Details' => $details_url));
             $email->send();
             $email_repository->add($factory->buildEventAlertEmail($last_one));
         }
     });
 }
 /**
  * @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);
 }
 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;
 }
Exemple #11
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 getPackagesPurchaseOrder()
 {
     $query = new QueryObject(new SummitPackagePurchaseOrder());
     $status = $this->getFilterParamStatus();
     switch ($status) {
         case 'pending':
             $query->addAndCondition(QueryCriteria::equal('Approved', 0));
             $query->addAndCondition(QueryCriteria::equal('Rejected', 0));
             break;
         case 'approved':
             $query->addAndCondition(QueryCriteria::equal('Approved', 1));
             $query->addAndCondition(QueryCriteria::equal('Rejected', 0));
             break;
         case 'rejected':
             $query->addAndCondition(QueryCriteria::equal('Approved', 0));
             $query->addAndCondition(QueryCriteria::equal('Rejected', 1));
             break;
     }
     $query->addOrder(QueryOrder::asc('Created'));
     list($list, $count) = $this->packages_repository->getAll($query, 0, 999999);
     return new ArrayList($list);
 }
Exemple #14
0
 public function getAllSponsorshipPackagesBySummit()
 {
     try {
         $query = new QueryObject(new SummitPackage());
         $summit_id = (int) $this->request->param('SUMMIT_ID');
         $query->addAndCondition(QueryCriteria::equal('SummitSponsorPageID', $summit_id));
         $query->addOrder(QueryOrder::asc("Order"));
         list($list, $count) = $this->sponsorship_package_repository->getAll($query, 0, 999999);
         $res = array();
         foreach ($list as $package) {
             array_push($res, SummitPackageAssembler::toArray($package));
         }
         return $this->ok($res);
     } catch (Exception $ex) {
         SS_Log::log($ex, SS_Log::WARN);
         return $this->serverError();
     }
 }
 /**
  * @param ISurveyStepTemplate $step
  * @return void
  */
 public function addStep(ISurveyStepTemplate $step)
 {
     $query = new QueryObject();
     $query->addOrder(QueryOrder::asc('Order'));
     AssociationFactory::getInstance()->getOne2ManyAssociation($this, 'Steps', $query)->add($step);
 }
 public function getAllOrdered()
 {
     $query = new QueryObject();
     $query->addOrder(QueryOrder::desc('Created'));
     return parent::getAll($query);
 }
 /**
  * @param ICompanyService $new_owner
  */
 public function setOwner(ICompanyService $new_owner)
 {
     $query = new QueryObject($this);
     $query->addOrder(QueryOrder::asc('Order'));
     AssociationFactory::getInstance()->getMany2OneAssociation($this, 'Owner', 'Resources', $query)->setTarget($new_owner);
 }
 /**
  * @param IRegionalSupportedCompanyService $company_service
  * @return void
  */
 public function setCompanyService(IRegionalSupportedCompanyService $company_service)
 {
     $query = new QueryObject($this);
     $query->addOrder(QueryOrder::asc('Order'));
     AssociationFactory::getInstance()->getMany2OneAssociation($this, 'Service', 'RegionalSupports', $query)->setTarget($company_service);
 }
 /**
  * @return IJobAlertEmail
  */
 public function getLastOne()
 {
     $query = new QueryObject(new EventAlertEmail());
     $query->addOrder(QueryOrder::desc('Created'));
     return $this->getBy($query);
 }
 public function getArticlesBySection($section)
 {
     $approved = $slider = $featured = 0;
     if ($section == 'recent') {
         $approved = 1;
     } elseif ($section == 'slider') {
         $slider = 1;
         $approved = 1;
     } elseif ($section == 'featured') {
         $featured = 1;
         $approved = 1;
     }
     $query = new QueryObject(new News());
     $query->addAndCondition(QueryCriteria::equal('Slider', $slider));
     $query->addAndCondition(QueryCriteria::equal('Approved', $approved));
     $query->addAndCondition(QueryCriteria::equal('Featured', $featured));
     $query->addOrder(QueryOrder::asc('Rank'));
     list($articles, $count) = $this->getAll($query);
     return $articles;
 }
 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);
 }
Exemple #22
0
 public static function getProductName($id, $typeid)
 {
     $row = QueryOrder::getProductInfo($id, $typeid);
     $links = array('1' => array('link' => 'lines'), '2' => array('link' => 'hotels'), '3' => array('link' => 'cars'), '4' => array('link' => 'article'), '5' => array('link' => 'spots'), '8' => array('link' => 'visa'), '13' => array('link' => 'tuan'));
     if ($typeid > 13) {
         $module_info = Helper_Archive::getModuleInfo($typeid);
         $link = $module_info['pinyin'];
     } else {
         $link = $links[$typeid]['link'];
     }
     $weburl = GetWebURLByWebid($row['webid']);
     $out = "<a href=\"{$weburl}/{$link}/show_{$row['aid']}.html\" target=\"_blank\">{$row['title']}</a>";
     return $out;
 }
 /**
  * @param bool $only_new_ones
  * @return IRegionalSupport[]
  */
 public function getRegionalSupports($only_new_ones = false)
 {
     $query = new QueryObject($this);
     $query->addOrder(QueryOrder::asc('Order'));
     return AssociationFactory::getInstance()->getOne2ManyAssociation($this, 'RegionalSupports', $query)->toArray();
 }
 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;
     }
 }
 /**
  * @param IQuestionValueTemplate $value
  * @return $this
  */
 public function addValue(IQuestionValueTemplate $value)
 {
     $query = new QueryObject();
     $query->addOrder(QueryOrder::asc('Order'));
     AssociationFactory::getInstance()->getOne2ManyAssociation($this, 'Values', $query)->add($value);
     return $this;
 }
 public function getResources()
 {
     $query = new QueryObject($this);
     $query->addOrder(QueryOrder::asc('Order'));
     return AssociationFactory::getInstance()->getOne2ManyAssociation($this, 'Resources', $query)->toArray();
 }
 /**
  * @return void
  */
 public function clearSpokenLanguages()
 {
     $query = new QueryObject(new SpokenLanguage());
     $query->addOrder(QueryOrder::asc('Order'));
     AssociationFactory::getInstance()->getMany2ManyAssociation($this, 'SpokenLanguages', $query)->removeAll();
 }
Exemple #28
0
 /**
  * @return ISummitVenue[]
  */
 public function getVenues()
 {
     $query = new QueryObject(new SummitVenue());
     $query->addAndCondition(QueryCriteria::equal('ClassName', 'SummitVenue'));
     $query->addOrder(QueryOrder::asc('Order'));
     return AssociationFactory::getInstance()->getOne2ManyAssociation($this, 'Locations', $query)->toArray();
 }
    /**
     * @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;
    }