Example #1
0
 /**
  * Returns an array of constraints given an entity with params.
  *
  * @param string $entity
  * @param array $aParams
  * @return array
  */
 function _getStatsLimitations($entity, $aParams)
 {
     $aLimitations = array();
     if (!empty($aParams['agency_id'])) {
         switch ($entity) {
             case 'advertiser':
             case 'placement':
             case 'ad':
                 $aLimitations[] = "a.agencyid={$aParams['agency_id']}";
                 break;
             case 'publisher':
             case 'zone':
                 $aLimitations[] = "p.agencyid={$aParams['agency_id']}";
                 break;
             default:
                 $aLimitations[] = "p.agencyid={$aParams['agency_id']}";
                 $aLimitations[] = "a.agencyid={$aParams['agency_id']}";
         }
     }
     if (!empty($aParams['publisher_id'])) {
         SqlBuilder::_addLimitation($aLimitations, 'publisher_id', 'z.affiliateid', $aParams['publisher_id']);
     }
     if (!empty($aParams['advertiser_id'])) {
         SqlBuilder::_addLimitation($aLimitations, 'advertiser_id', 'm.clientid', $aParams['advertiser_id']);
     }
     if (!empty($aParams['zone_id'])) {
         SqlBuilder::_addLimitation($aLimitations, 'zone_id', 's.zone_id', $aParams['zone_id']);
     }
     if (!empty($aParams['placement_id'])) {
         SqlBuilder::_addLimitation($aLimitations, 'placement_id', 'd.campaignid', $aParams['placement_id']);
     }
     if (!empty($aParams['ad_id'])) {
         SqlBuilder::_addLimitation($aLimitations, 'ad_id', 's.ad_id', $aParams['ad_id']);
     }
     if (!empty($aParams['day_begin'])) {
         $aLimitations[] = "s.date_time>='{$aParams['day_begin']}'";
     }
     if (!empty($aParams['day_end'])) {
         $aLimitations[] = "s.date_time<='{$aParams['day_end']}'";
     }
     return $aLimitations;
 }