/**
  * Merge aggregate stats with entity properties (name, children, etc)
  *
  * The overridden method also takes care to remove inactive entities
  * and to enforce the anonymous properties when logged in as advertiser
  * or publisher
  *
  * @param array Query parameters
  * @param string Key name
  * @return array Full entity stats with entity data
  */
 function mergeData($aParams, $key)
 {
     $aEntitiesData = parent::mergeData($aParams, $key);
     if (OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER) || OA_Permission::isAccount(OA_ACCOUNT_TRAFFICKER)) {
         if (is_null($this->aAnonAdvertisers)) {
             $this->aAnonAdvertisers = array();
             $this->aAnonPlacements = array();
             $aPlacements = Admin_DA::fromCache('getPlacements', array('placement_anonymous' => 't'));
             foreach ($aPlacements as $placementId => $placement) {
                 $this->aAnonAdvertisers[$placement['advertiser_id']] = true;
                 $this->aAnonPlacements[$placementId] = true;
             }
         }
     }
     foreach (array_keys($aEntitiesData) as $entityId) {
         if (!isset($this->data[$key][$entityId])) {
             unset($aEntitiesData[$entityId]);
         } elseif ($key == 'advertiser_id' && isset($this->aAnonAdvertisers[$entityId])) {
             $aEntitiesData[$entityId]['hidden'] = true;
         } elseif ($key == 'placement_id' && isset($this->aAnonPlacements[$entityId])) {
             $aEntitiesData[$entityId]['hidden'] = true;
         } elseif ($key == 'ad_id' && isset($this->aAnonPlacements[$aEntitiesData[$entityId]['placement_id']])) {
             $aEntitiesData[$entityId]['hidden'] = true;
         } elseif (OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER)) {
             if (isset($aParams['placement_id'])) {
                 $aEntitiesData[$entityId]['hidden'] = isset($this->aAnonPlacements[$aParams['placement_id']]);
             } else {
                 $aEntitiesData[$entityId]['hidden'] = isset($this->aAnonAdvertisers[OA_Permission::getEntityId()]);
             }
         }
     }
     return $aEntitiesData;
 }