public function attachToFinalCriteria(Criteria $criteria) { if (!is_null($this->get('_partner_permissions_exist'))) { if (is_null($this->get('_in_id'))) { $mandatoryParameter = "_in_id"; throw new kCoreException("Mandatory parameter {$mandatoryParameter} missing from the filter", kCoreException::MISSING_MANDATORY_PARAMETERS, $mandatoryParameter); } $permissions = explode(',', $this->get('_partner_permissions_exist')); $tmpCriteria = new Criteria(); $tmpCriteria->addSelectColumn(PermissionPeer::PARTNER_ID); $tmpCriteria->addAnd(PermissionPeer::NAME, $permissions, Criteria::IN); $ids = explode(',', $this->get('_in_id')); $tmpCriteria->addAnd(PermissionPeer::PARTNER_ID, $ids, Criteria::IN); $tmpCriteria->addAnd(PermissionPeer::STATUS, PermissionStatus::ACTIVE, Criteria::EQUAL); $stmt = PermissionPeer::doSelectStmt($tmpCriteria); $this->setIdIn($stmt->fetchAll(PDO::FETCH_COLUMN)); $this->unsetByName('_partner_permissions_exist'); } return parent::attachToFinalCriteria($criteria); }
public function attachToFinalCriteria(Criteria $c) { $fromHour = $c->getNewCriterion(DwhHourlyPartnerPeer::HOUR_ID, $this->get('_gte_hour_id'), Criteria::GREATER_EQUAL); $theDate = $c->getNewCriterion(DwhHourlyPartnerPeer::DATE_ID, $this->get('_gte_date_id')); $theDate->addAnd($fromHour); $fromDate = $c->getNewCriterion(DwhHourlyPartnerPeer::DATE_ID, $this->get('_gte_date_id'), Criteria::GREATER_THAN); $fromDate->addOr($theDate); $c->addAnd($fromDate); $this->unsetByName('_gte_hour_id'); $this->unsetByName('_gte_date_id'); $toHour = $c->getNewCriterion(DwhHourlyPartnerPeer::HOUR_ID, $this->get('_lte_hour_id'), Criteria::LESS_EQUAL); $theDate = $c->getNewCriterion(DwhHourlyPartnerPeer::DATE_ID, $this->get('_lte_date_id')); $theDate->addAnd($toHour); $toDate = $c->getNewCriterion(DwhHourlyPartnerPeer::DATE_ID, $this->get('_lte_date_id'), Criteria::LESS_THAN); $toDate->addOr($theDate); $c->addAnd($toDate); $this->unsetByName('_lte_hour_id'); $this->unsetByName('_lte_date_id'); return parent::attachToFinalCriteria($c); }
public function attachToFinalCriteria(Criteria $criteria) { $jobTypeAndSubTypeIn = $this->get("_in_job_type_and_sub_type"); if ($jobTypeAndSubTypeIn !== null) { $finalTypesAndSubTypes = array(); $arr = explode(self::JOB_TYPE_AND_SUB_TYPE_MAIN_DELIMITER, $jobTypeAndSubTypeIn); foreach ($arr as $jobTypeIn) { list($jobType, $jobSubTypes) = explode(self::JOB_TYPE_AND_SUB_TYPE_TYPE_DELIMITER, $jobTypeIn); $finalTypesAndSubTypes[$jobType] = $jobSubTypes; } if (count($finalTypesAndSubTypes)) { $mainCriterion = null; foreach ($finalTypesAndSubTypes as $finalJobType => $finalSubTypes) { if ($mainCriterion) { if (strlen(trim($finalSubTypes))) { $finalSubTypesArr = explode(self::JOB_TYPE_AND_SUB_TYPE_SUB_DELIMITER, $finalSubTypes); $jobTypeCriterion = $criteria->getNewCriterion(BatchJobPeer::JOB_TYPE, $finalJobType); $jobTypeCriterion->addAnd($criteria->getNewCriterion(BatchJobPeer::JOB_SUB_TYPE, $finalSubTypesArr, Criteria::IN)); $mainCriterion->addOr($jobTypeCriterion); } else { $jobTypeCriterion = $criteria->getNewCriterion(BatchJobPeer::JOB_TYPE, $finalJobType); $mainCriterion->addOr($jobTypeCriterion); } } else { if (strlen(trim($finalSubTypes))) { $finalSubTypesArr = explode(self::JOB_TYPE_AND_SUB_TYPE_SUB_DELIMITER, $finalSubTypes); $mainCriterion = $criteria->getNewCriterion(BatchJobPeer::JOB_TYPE, $finalJobType); $mainCriterion->addAnd($criteria->getNewCriterion(BatchJobPeer::JOB_SUB_TYPE, $finalSubTypesArr, Criteria::IN)); } else { $mainCriterion = $criteria->getNewCriterion(BatchJobPeer::JOB_TYPE, $finalJobType); } } } $criteria->addAnd($mainCriterion); } } $this->set("_in_job_type_and_sub_type", null); parent::attachToFinalCriteria($criteria); }