function buildHeaderModel($aEntities)
{
    global $phpAds_TextDirection;
    $aConf = $GLOBALS['_MAX']['CONF'];
    $advertiserId = $aEntities['clientid'];
    $campaignId = $aEntities['campaignid'];
    $agencyId = OA_Permission::getAgencyId();
    $entityString = _getEntityString($aEntities);
    $aOtherEntities = $aEntities;
    unset($aOtherEntities['campaignid']);
    $otherEntityString = _getEntityString($aOtherEntities);
    $advertiser = phpAds_getClientDetails($advertiserId);
    $advertiserName = $advertiser['clientname'];
    $campaignDetails = Admin_DA::getPlacement($campaignId);
    $campaignName = $campaignDetails['name'];
    if (!OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER)) {
        $campaignEditUrl = "campaign-edit.php?clientid={$advertiserId}&campaignid={$campaignId}";
    }
    $builder = new OA_Admin_UI_Model_InventoryPageHeaderModelBuilder();
    $oHeaderModel = $builder->buildEntityHeader(array(array('name' => $advertiserName, 'url' => '', 'id' => $advertiserId, 'entities' => getAdvertiserMap($agencyId), 'htmlName' => 'clientid'), array('name' => $campaignName, 'url' => $campaignEditUrl, 'id' => $campaignId, 'entities' => getCampaignMap($advertiserId), 'htmlName' => 'campaignid'), array('name' => '')), 'banners', 'list');
    return $oHeaderModel;
}
        } else {
            $clientid = -1;
            //if no advertisers set to non-existent id
            $campaignid = -1;
            //also reset campaign id
        }
    }
} else {
    if (!isset($aAdvertisers[$clientid])) {
        $page = basename($_SERVER['PHP_SELF']);
        OX_Admin_Redirect::redirect($page);
    }
}
//get campaigns - if there was any client id derived
if ($clientid > 0) {
    $aCampaigns = getCampaignMap($clientid);
    if (empty($campaignid)) {
        //if it's empty
        if ($session['prefs']['inventory_entities'][OA_Permission::getEntityId()]['campaignid'][$clientid]) {
            //try previous one from session
            $sessionCampaignId = $session['prefs']['inventory_entities'][OA_Permission::getEntityId()]['campaignid'][$clientid];
            if (isset($aCampaigns[$sessionCampaignId])) {
                //check if 'id' from session was not removed
                $campaignid = $sessionCampaignId;
            }
        }
        if (empty($campaignid)) {
            //was empty, is still empty - just pick one, no need for redirect
            $ids = array_keys($aCampaigns);
            $campaignid = !empty($ids) ? $ids[0] : -1;
            //if no campaigns set to non-existent id