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) {
/** * 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; }
$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);
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); }
/** * 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; }