/** * @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 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); }
/** * @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()); }
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 Job()); if ($foundation) { $query->addAndCondition(QueryCriteria::equal('IsFoundationJob', 1)); } $now = new DateTime(); $six_months_ago = new DateTime(); $query->addAndCondition(QueryCriteria::equal('IsActive', 1)); $post_date = $six_months_ago->sub(new DateInterval('P6M')); $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'))); $query->addOrder(QueryOrder::desc('PostedDate')); $query->addOrder(QueryOrder::desc('ID')); list($jobs, $size) = $this->getAll($query, 0, PHP_INT_MAX); return new ArrayList($jobs); }
/** * @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; }
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); }
public function getServicesOffered() { $query = new QueryObject(new ConsultantServiceOfferedType()); $query->addOrder(QueryOrder::asc('Type')); list($list, $size) = $this->consultant_service_offered_type_repository->getAll($query, 0, 1000); return new ArrayList($list); }
/** * @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 getAllOrdered() { $query = new QueryObject(); $query->addOrder(QueryOrder::desc('Created')); return parent::getAll($query); }
/** * @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); }
/** * @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); }
/** * @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); }
/** * @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; }
/** * @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 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(); } }
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(); }
/** * @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; }