function testGetCampaignType()
 {
     $aTestValues = array(-2 => OX_CAMPAIGN_TYPE_ECPM, -1 => OX_CAMPAIGN_TYPE_OVERRIDE, 0 => OX_CAMPAIGN_TYPE_REMNANT);
     for ($i = 1; $i <= 10; $i++) {
         $aTestValues[$i] = OX_CAMPAIGN_TYPE_CONTRACT_NORMAL;
     }
     foreach ($aTestValues as $priority => $expectedResult) {
         $result = OX_Util_Utils::getCampaignType($priority);
         $this->assertEqual($expectedResult, $result);
     }
 }
        $aCampaign['activate'] = '-';
    }
    if (!empty($aCampaign['expire_time'])) {
        $oExpireDate = new Date($aCampaign['expire_time']);
        $oTz = $oExpireDate->tz;
        $oExpireDate->setTZbyID('UTC');
        $oExpireDate->convertTZ($oTz);
        $aCampaign['expire'] = $oExpireDate->format($date_format);
    } else {
        $aCampaign['expire'] = '-';
    }
    if ($aCampaign['type'] == DataObjects_Campaigns::CAMPAIGN_TYPE_MARKET_CONTRACT) {
        $aCampaign['system'] = true;
        $aCampaign['type'] = OX_Util_Utils::getCampaignType($aCampaign['priority']);
    } else {
        $aCampaign['type'] = OX_Util_Utils::getCampaignType($aCampaign['priority']);
    }
    if ($aCampaign['priority'] == -1) {
        $aCampaign['priority'] = $strOverride;
    } elseif ($aCampaign['priority'] == -2) {
        $aCampaign['priority'] = $strCampaignECPM;
    } elseif ($aCampaign['priority'] == 0) {
        $aCampaign['priority'] = $strLow;
    } else {
        $aCampaign['priority'] = $strHigh . ' (' . $aCampaign['priority'] . ')';
    }
    $aCampaigns[$campaignId] = $aCampaign;
}
$aCount = array('campaigns' => 0, 'campaigns_hidden' => 0);
$campaignshidden = 0;
if (isset($aCampaigns) && is_array($aCampaigns) && count($aCampaigns) > 0) {
예제 #3
0
 /**
  * Returns campaign type description translation key based on a given priority.
  * Uses getCampaignType to calculate the campaign type.
  * Type => labels map as follows:
  *  - Contract:
  *      -1 (Exclusive) strExclusiveContract
  *      1-10 (High) strStandardContract
  *  - Remnant
  *      0 (Low) strRemnant
  *
  * @param int $priority
  * @return translation key for a given campaign type description
  */
 static function getCampaignTypeDescriptionTranslationKey($priority)
 {
     $type = OX_Util_Utils::getCampaignType($priority);
     if ($type == OX_CAMPAIGN_TYPE_REMNANT) {
         //Remnant - Low priority
         return 'strRemnantInfo';
     } else {
         if ($type == OX_CAMPAIGN_TYPE_CONTRACT_EXCLUSIVE) {
             //Contract - ($priority = -1 (Exclusive)
             return 'strExclusiveContractInfo';
         } else {
             if ($type == OX_CAMPAIGN_TYPE_CONTRACT_NORMAL) {
                 //Contract - from 1 to 10 (High/Normal)
                 return 'strStandardContractInfo';
             } else {
                 if ($type == OX_CAMPAIGN_TYPE_ECPM) {
                     //Remnant - Low priority ($priority = -2)
                     return 'strECPMInfo';
                 }
             }
         }
     }
     //no type yet no key, sorry
     return null;
 }
function buildCampaignForm($campaign, &$oComponent = null)
{
    global $pref;
    $form = new OA_Admin_UI_Component_Form("campaignform", "POST", $_SERVER['SCRIPT_NAME']);
    $form->forceClientValidation(true);
    $form->addElement('hidden', 'campaignid', $campaign['campaignid']);
    $form->addElement('hidden', 'clientid', $campaign['clientid']);
    $form->addElement('hidden', 'expire_time', $campaign['expire_time']);
    $form->addElement('hidden', 'target_old', isset($campaign['target_value']) ? (int) $campaign['target_value'] : 0);
    $form->addElement('hidden', 'target_type_old', isset($campaign['target_type']) ? $campaign['target_type'] : '');
    $form->addElement('hidden', 'weight_old', isset($campaign['weight']) ? (int) $campaign['weight'] : 0);
    $form->addElement('hidden', 'status_old', isset($campaign['status']) ? (int) $campaign['status'] : 1);
    $form->addElement('hidden', 'previousweight', isset($campaign["weight"]) ? $campaign["weight"] : '');
    $form->addElement('hidden', 'previoustarget', isset($campaign["target"]) ? $campaign["target"] : '');
    $form->addElement('hidden', 'previousactive', isset($campaign["active"]) ? $campaign["active"] : '');
    $form->addElement('hidden', 'previousimpressions', isset($campaign["impressions"]) ? $campaign["impressions"] : '');
    $form->addElement('hidden', 'previousclicks', isset($campaign["clicks"]) ? $campaign["clicks"] : '');
    $form->addElement('hidden', 'previousconversions', isset($campaign["conversions"]) ? $campaign["conversions"] : '');
    //campaign inactive note (if any)
    if (isset($campaign['status']) && $campaign['status'] != OA_ENTITY_STATUS_RUNNING) {
        $aReasons = getCampaignInactiveReasons($campaign);
        $form->addElement('custom', 'campaign-inactive-note', null, array('inactiveReason' => $aReasons), false);
    }
    //form sections
    $newCampaign = empty($campaign['campaignid']);
    $remnantEcpmEnabled = !empty($pref['campaign_ecpm_enabled']);
    $contractEcpmEnabled = !empty($pref['contract_ecpm_enabled']);
    buildBasicInformationFormSection($form, $campaign, $newCampaign, $remnantEcpmEnabled, $contractEcpmEnabled);
    buildDateFormSection($form, $campaign, $newCampaign);
    buildPricingFormSection($form, $campaign, $newCampaign, $remnantEcpmEnabled, $contractEcpmEnabled);
    buildPluggableFormSection($oComponent, 'afterPricingFormSection', $form, $campaign, $newCampaign);
    buildHighPriorityFormSection($form, $campaign, $newCampaign);
    buildLowAndExclusivePriorityFormSection($form, $campaign, $newCampaign);
    buildDeliveryCappingFormSection($form, $GLOBALS['strCappingCampaign'], $campaign, null, null, true, $newCampaign);
    buildMiscFormSection($form, $campaign, $newCampaign);
    //form controls
    $form->addElement('controls', 'form-controls');
    $form->addElement('submit', 'submit', $GLOBALS['strSaveChanges']);
    //validation rules
    $translation = new OX_Translation();
    $nameRequiredMsg = $translation->translate($GLOBALS['strXRequiredField'], array($GLOBALS['strName']));
    $form->addRule('campaignname', $nameRequiredMsg, 'required');
    $form->addFormRule('checkIfCampaignTypeSpecified');
    $typeRequiredMsg = $translation->translate($GLOBALS['strXRequiredField'], array($GLOBALS['strPricingModel']));
    $form->addRule('revenue_type', $typeRequiredMsg, 'required');
    //  $form->addRule('impressions', 'TODO message', 'formattedNumber');
    //  $form->addRule('clicks', 'TODO message', 'formattedNumber');
    //    if ($conf['logging']['trackerImpressions']) {
    //      $form->addRule('conversions', 'TODO message', 'formattedNumber');
    //    }
    //  $form->addRule('weight', 'TODO message', 'wholeNumber-');
    //  $form->addRule('target_value', 'TODO message', 'wholeNumber-');
    //set form values
    $form->setDefaults($campaign);
    $form->setDefaults(array('impressions' => !isset($campaign['impressions']) || $campaign['impressions'] == '' || $campaign['impressions'] < 0 ? '-' : $campaign['impressions'], 'clicks' => !isset($campaign['clicks']) || $campaign['clicks'] == '' || $campaign['clicks'] < 0 ? '-' : $campaign['clicks'], 'conversions' => !isset($campaign['conversions']) || $campaign['conversions'] == '' || $campaign['conversions'] < 0 ? '-' : $campaign['conversions']));
    if (!empty($campaign['activate_date'])) {
        $oDate = new Date($campaign['activate_date']);
        $startDateSet = 't';
        $startDateStr = $oDate->format('%d %B %Y ');
    } else {
        $startDateSet = 'f';
        $startDateStr = '';
    }
    if (!empty($campaign['expire_date'])) {
        $oDate = new Date($campaign['expire_date']);
        $endDateSet = 't';
        $endDateStr = $oDate->format('%d %B %Y ');
    } else {
        $endDateSet = 'f';
        $endDateStr = '';
    }
    $form->setDefaults(array('campaign_type' => $newCampaign ? '' : OX_Util_Utils::getCampaignType($campaign['priority']), 'impr_unlimited' => isset($campaign["impressions"]) && $campaign["impressions"] >= 0 ? 'f' : 't', 'click_unlimited' => isset($campaign["clicks"]) && $campaign["clicks"] >= 0 ? 'f' : 't', 'conv_unlimited' => isset($campaign["conversions"]) && $campaign["conversions"] >= 0 ? 'f' : 't', 'startSet' => $startDateSet, 'endSet' => $endDateSet, 'start' => $startDateStr, 'end' => $endDateStr, 'priority' => $campaign['priority'] > '0' && $campaign['campaignid'] != '' ? 2 : $campaign['priority'], 'high_priority_value' => $campaign['priority'] > '0' ? $campaign['priority'] : 5, 'target_value' => !empty($campaign['target_value']) ? $campaign['target_value'] : '-', 'weight' => isset($campaign["weight"]) ? $campaign["weight"] : $pref['default_campaign_weight'], 'revenue_type' => isset($campaign["revenue_type"]) ? $campaign["revenue_type"] : MAX_FINANCE_CPM));
    return $form;
}
예제 #5
0
        $campaigns[$row_campaigns['campaignid']]['expire'] = $oExpireDate->format($date_format);
    } else {
        $campaigns[$row_campaigns['campaignid']]['expire'] = '-';
    }
    if ($row_campaigns['priority'] == -1) {
        $campaigns[$row_campaigns['campaignid']]['priority'] = $strExclusive;
    } elseif ($row_campaigns['priority'] == -2) {
        $campaigns[$row_campaigns['campaignid']]['priority'] = $strCampaignECPM;
    } elseif ($row_campaigns['priority'] == 0) {
        $campaigns[$row_campaigns['campaignid']]['priority'] = $strLow;
    } else {
        $campaigns[$row_campaigns['campaignid']]['priority'] = $strHigh . ' (' . $row_campaigns['priority'] . ')';
    }
    $campaigns[$row_campaigns['campaignid']]['status'] = $row_campaigns['status'];
    $campaigns[$row_campaigns['campaignid']]['anonymous'] = $row_campaigns['anonymous'];
    $campaigns[$row_campaigns['campaignid']]['type'] = OX_Util_Utils::getCampaignType($row_campaigns['priority']);
}
$aCount = array('campaigns' => 0, 'campaigns_hidden' => 0);
$campaignshidden = 0;
if (isset($campaigns) && is_array($campaigns) && count($campaigns) > 0) {
    reset($campaigns);
    while (list($key, $campaign) = each($campaigns)) {
        $aCount['campaigns']++;
        if ($hideinactive == true && ($campaign['status'] != OA_ENTITY_STATUS_RUNNING || $campaign['status'] == OA_ENTITY_STATUS_RUNNING && count($campaign['banners']) == 0 && count($campaign['banners']) < $campaign['count'])) {
            $aCount['campaigns_hidden']++;
            unset($campaigns[$key]);
        }
    }
}
$oTpl->assign('clientId', $clientid);
$oTpl->assign('aCampaigns', $campaigns);
예제 #6
0
 function addVastCompanionsToForm(&$form, $selectableCompanions)
 {
     $form->addElement('header', 'companion_status', "Companion banner");
     $doCampaigns = OA_Dal::factoryDO('campaigns');
     $doCampaigns->campaignid = $GLOBALS['campaignid'];
     $doCampaigns->find();
     $doCampaigns->fetch();
     if (OX_Util_Utils::getCampaignType($doCampaigns->priority) == OX_CAMPAIGN_TYPE_CONTRACT_NORMAL) {
         $form->addElement('html', 'companion_help_contract', '<br/><b>Note:</b> Revive Adserver currently doesn\'t support the display of a companion banner for "Contract" campaigns.
                          <br/>If you wish to display a companion banner, please select a "Remnant" or "Override" campaign.');
         return;
     }
     $helpLinkPlayer = VideoAdsHelper::getHelpLinkVideoPlayerConfig();
     $form->addElement('html', 'companion_help', 'To associate a companion banner to this video ad, select a banner from the companion banner dropdown. This banner will appear for the duration of the video ad. <br/>
     					You will need to specify where this companion banner appears on the page while setting up your video ad in the video player plugin configuration. <a href="' . $helpLinkPlayer . '" target="_blank">Learn more</a>
     					');
     $form->addElement('select', 'vast_companion_banner_id', 'Companion banner', $selectableCompanions);
 }
예제 #7
0
 /**
  * Returns campaign type description translation key based on a given priority.
  * Uses getCampaignType to calculate the campaign type.
  * Type => labels map as follows:
  *  - Contract:
  *        -1 (Override) strOverride
  *      1-10 (High)     strStandardContract
  *  - Remnant
  *         0 (Low)      strRemnant
  *
  * @param int $priority
  * @return translation key for a given campaign type description
  */
 static function getCampaignTypeDescriptionTranslationKey($priority)
 {
     $type = OX_Util_Utils::getCampaignType($priority);
     if ($type == OX_CAMPAIGN_TYPE_REMNANT) {
         return 'strRemnantInfo';
     } else {
         if ($type == OX_CAMPAIGN_TYPE_OVERRIDE) {
             return 'strOverrideInfo';
         } else {
             if ($type == OX_CAMPAIGN_TYPE_CONTRACT_NORMAL) {
                 return 'strStandardContractInfo';
             } else {
                 if ($type == OX_CAMPAIGN_TYPE_ECPM) {
                     return 'strECPMInfo';
                 }
             }
         }
     }
     return null;
 }