private function setRecognizedParams(Pap_Contexts_Action $context) { $context->setUserObject($this->affiliate); $context->setBannerObject($this->banner); $context->setCampaignObject($this->campaign); $context->setAccountId($this->campaign->getAccountId(), Pap_Contexts_Tracking::ACCOUNT_RECOGNIZED_FROM_CAMPAIGN); $context->setTrackingMethod(Pap_Common_Transaction::TRACKING_METHOD_COUPON); $context->getTransaction()->setCouponId($this->coupon->getId()); $context->getTransaction()->set(Pap_Db_Table_Transactions::BANNER_ID, $this->banner->getId()); }
function getValue($code){ if($code === self::VAR_AFF_ID){ return $this->getAffiliateID(); }else if($code === self::VAR_AFF_SIGN){ return $this->getAffiliateSignup(); }else if($code === self::VAR_DEST_URL){ return $this->getDestURL(); }else if($code === self::BANNER_ID){ return $this->banner->getId(); } $valueContext = new Gpf_Plugins_ValueContext($code); $valueContext->setArray(array('user' => $this->user)); Gpf_Plugins_Engine::extensionPoint('PostAffiliate.RebrandPdfBanner_Variables.getValue', $valueContext); if ($valueContext->get() != $code) { return $valueContext->get(); } return $this->fields->getUserFieldValue($code); }
public function getSrcCode(Pap_Common_Banner $banner, Pap_Common_User $user, Pap_Db_Channel $channel = null, $data1 = '', $data2 = ''){ $code = $this->getScriptUrl("imp.php"); $code .= "?".Pap_Tracking_Request::getAffiliateClickParamName()."=".$user->getRefId(); $code .= "&".Pap_Tracking_Request::getBannerClickParamName()."=".$banner->getId(); if ($banner->getParentBannerId() != null) { $code .= "&".Pap_Tracking_Request::getRotatorBannerParamName()."=".$banner->getParentBannerId(); } if($channel != null && is_object($channel)) { $code .= "&".Pap_Tracking_Request::getChannelParamName()."=".$channel->getValue(); } if($data1 != '') { $code .= "&".Pap_Tracking_Request::getExtraDataParamName(1)."=".$data1; } if($data2 != '') { $code .= "&".Pap_Tracking_Request::getExtraDataParamName(2)."=".$data2; } return $code; }
protected function migrateBanners() { Pap3Compatibility_Migration_OutputWriter::log(" Migrating banners....."); $selectBuilder = new Gpf_SqlBuilder_SelectBuilder(); $selectBuilder->select->add('*'); $selectBuilder->from->add('wd_pa_banners', 'b'); $selectBuilder->where->add('b.deleted', '=', '0' ); $result = $selectBuilder->getAllRows(); $count = 0; foreach($result as $record) { $obj = new Pap_Common_Banner(); $obj->setId($record->get('bannerid')); $obj->setCampaignId($record->get('campaignid')); $obj->setAccountId(Pap3Compatibility_Migration_Pap3Constants::DEFAULT_ACCOUNT_ID); if($record->get('destinationurl') != '') { $obj->setDestinationUrl($record->get('destinationurl')); } else { $obj->setDestinationUrl(' '); } $obj->setName($record->get('name')); if($record->get('dateinserted') != '') { $obj->set('dateinserted', $record->get('dateinserted')); } else { $obj->set('dateinserted', Gpf_Common_DateUtils::now()); } $obj->setStatus(($record->get('hidden') == 1 ? 'H' : 'A')); $bannerType = Pap3Compatibility_Migration_Pap3Constants::translateBannerType($record->get('bannertype')); switch($bannerType) { case Pap_Common_Banner_Factory::BannerTypeText: $obj->setData1($record->get('sourceurl')); $obj->setData2($this->replaceVariables($record->get('description'))); break; case Pap_Common_Banner_Factory::BannerTypeImage: $obj->setData1($record->get('sourceurl')); break; case Pap_Common_Banner_Factory::BannerTypeHtml: $obj->setData1('N'); $obj->setData2($this->replaceVariables($record->get('description'))); break; case Pap_Common_Banner_Factory::BannerTypePopup: case Pap_Common_Banner_Factory::BannerTypePopunder: // these banners are not yet supported in PAP4 continue; case Pap_Common_Banner_Factory::BannerTypePromoEmail: $obj->setData1($record->get('sourceurl')); $obj->setData2($this->replaceVariables($record->get('description'))); break; } $obj->setBannerType($bannerType); try { $obj->save(); } catch (Gpf_Exception $e) { Pap3Compatibility_Migration_OutputWriter::log( sprintf(' Warning: banner %s not migrated. Reason: %s', $obj->getId(), $e->getMessage())); } $count++; } Pap3Compatibility_Migration_OutputWriter::log(" ($count) ..... DONE<br/>"); }
private function checkBanner(Pap_Contexts_Tracking $context, Pap_Common_Banner $banner) { if ($this->isAccountRecognizedNotFromDefault($context) && $banner->getAccountId() != $context->getAccountId()) { $context->debug("Banner with Id: ".$banner->getId()." and name '".$banner->getName()."' cannot be used with accountId: '". $context->getAccountId() ."'!"); throw new Gpf_Exception("Banner is from differen account"); } if (!is_null($context->getCampaignObject()) && $context->getCampaignObject()->getId() != $banner->getCampaignId()) { $context->debug("Banner with Id: ".$banner->getId()." cannot be used (it is from different campaign as recognized campaign)!"); throw new Gpf_Exception("Banner is from different campaign as recognized campaign!"); } }
private function getClickParamsArray(Pap_Db_ClickImpression $click, Pap_Contexts_Click $context, Pap_Common_Banner $banner=null) { $columns = array(); $columns[Pap_Db_Table_ClicksImpressions::ACCOUNTID] = $context->getAccountId(); $columns[Pap_Db_Table_ClicksImpressions::USERID] = $context->getUserObject()->getId(); $columns[Pap_Db_Table_ClicksImpressions::BANNERID] = $banner == null ? '' : $banner->getId(); $columns[Pap_Db_Table_ClicksImpressions::PARENTBANNERID] = $banner == null ? '' : $banner->getParentBannerId(); $columns[Pap_Db_Table_ClicksImpressions::CAMPAIGNID] = $context->getCampaignObject() == null ? '' : $context->getCampaignObject()->getId(); $columns[Pap_Db_Table_ClicksImpressions::COUNTRYCODE] = $context->getCountryCode(); $columns[Pap_Db_Table_ClicksImpressions::CDATA1] = $context->getExtraDataFromRequest(1); $columns[Pap_Db_Table_ClicksImpressions::CDATA2] = $context->getExtraDataFromRequest(2); $columns[Pap_Db_Table_ClicksImpressions::CHANNEL] = $this->getChannel($context); $timeNow = new Gpf_DateTime($context->getVisitDateTime()); $columns[Pap_Db_Table_ClicksImpressions::DATEINSERTED] = $timeNow->format("Y-m-d H:00:00"); return $columns; }
function createUpdateIncrementBuild(Pap_Common_Banner $childBanner, $column){ $updateBuild = new Gpf_SqlBuilder_UpdateBuilder(); $updateBuild->from->add(Pap_Db_Table_BannersInRotators::getName()); $updateBuild->set->add($column, "$column+1", false); $updateBuild->where->add(Pap_Db_Table_BannersInRotators::PARENT_BANNER_ID,'=',$this->getId()); $updateBuild->where->add(Pap_Db_Table_BannersInRotators::ROTATED_BANNER_ID,'=',$childBanner->getId()); $c1 = new Gpf_SqlBuilder_CompoundWhereCondition(); $c1->add(Pap_Db_Table_BannersInRotators::VALID_FROM,'=',null); $c1->add(Pap_Db_Table_BannersInRotators::VALID_UNTIL,'=',null); $c2 = new Gpf_SqlBuilder_CompoundWhereCondition(); $c2->add(Pap_Db_Table_BannersInRotators::VALID_FROM,'<',date("Y-m-d H:i:s")); $c2->add(Pap_Db_Table_BannersInRotators::VALID_UNTIL,'>',date("Y-m-d H:i:s")); $c3 = new Gpf_SqlBuilder_CompoundWhereCondition(); $c3->add(Pap_Db_Table_BannersInRotators::VALID_FROM,'=',null); $c3->add(Pap_Db_Table_BannersInRotators::VALID_UNTIL,'>',date("Y-m-d H:i:s")); $c4 = new Gpf_SqlBuilder_CompoundWhereCondition(); $c4->add(Pap_Db_Table_BannersInRotators::VALID_FROM,'<',date("Y-m-d H:i:s")); $c4->add(Pap_Db_Table_BannersInRotators::VALID_UNTIL,'=',null); $c = new Gpf_SqlBuilder_CompoundWhereCondition(); $c->addCondition($c1,'OR'); $c->addCondition($c2,'OR'); $c->addCondition($c3,'OR'); $c->addCondition($c4,'OR'); $updateBuild->where->addCondition($c,'AND'); return $updateBuild; }
/** * @return String seo style click url */ public function getModRewriteClickUrl(Pap_Common_Banner $banner = null, Pap_Common_User $user, $specialDesturl = '', Pap_Db_Channel $channel = null, $siteUrl = null) { $prefix = Gpf_Settings::get(Pap_Settings::MOD_REWRITE_PREFIX_SETTING_NAME); $separator = Gpf_Settings::get(Pap_Settings::MOD_REWRITE_SEPARATOR_SETTING_NAME); $suffix = Gpf_Settings::get(Pap_Settings::MOD_REWRITE_SUFIX_SETTING_NAME); if ($siteUrl === null) { $siteUrl = Gpf_Settings::get(Pap_Settings::MAIN_SITE_URL); } if($siteUrl[strlen($siteUrl)-1] != '/') { $siteUrl .= '/'; } $clickUrl = $siteUrl; $clickUrl .= $prefix.$user->getRefId(); if ($banner != null) { $clickUrl .= $separator.$banner->getId(); } if($channel != null && is_object($channel)) { $clickUrl .= $separator.$channel->getValue(); } $clickUrl .= $suffix; return $clickUrl; }
public function getBannerInWrapper($bannercode, Pap_Common_Banner $banner, Pap_Common_User $user){ $wrapper = new Pap_Db_BannerWrapper(); $wrapper->setId($banner->getWrapperId()); $wrapper->load(); $code = $wrapper->getCode(); $code = $this->replaceConstant(self::CONST_WIDTH, $banner->getWidth(), $code); $code = $this->replaceConstant(self::CONST_HEIGHT, $banner->getHeight(), $code); $code = $this->replaceConstant(self::CONST_HTML, $bannercode, $code); $code = $this->replaceConstant(self::CONST_NAME, $banner->getName(), $code); $code = $this->replaceConstant(self::CONST_BANNERID, $banner->getId(), $code); $completeUrl = $banner->getBannerScriptUrl($user) . '&' . self::URL_PARAM_WRAPPER . '=' . self::URL_VALUE_INNERPAGE; if($banner->getDynamicLink() != '') { $completeUrl .= '&'. Pap_Db_Table_CachedBanners::DYNAMIC_LINK . '=' . urlencode($banner->getDynamicLink()); } $code = $this->replaceConstant(self::CONST_HTMLCOMPL, $completeUrl, $code); $code = $this->replaceConstant(self::CONST_HTMLCOMPL_ENCODED, urlencode($completeUrl), $code); $code = $this->replaceConstant(self::CONST_HTMLCLEAN, $banner->getBannerScriptUrl($user) . '&' . self::URL_PARAM_WRAPPER . '=' . self::URL_VALUE_CLEAN, $code); $code = $this->replaceConstant(self::CONST_CLICKURL, $banner->getClickUrl($user), $code); $code = $this->replaceConstant(self::CONST_TARGETURL, $banner->getDestinationUrl($user), $code); $code = $this->replaceConstant(self::CONST_HTMLJSURL, $banner->getBannerScriptUrl($user), $code); $code = $this->replaceConstant(self::CONST_SEOSTRING, $banner->getSeoString(), $code); return Pap_Common_Banner::cleanIncompleteCode($code); }