Ejemplo n.º 1
0
 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());
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 4
0
    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!"); 
        }
    }
Ejemplo n.º 6
0
	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;
	}
Ejemplo n.º 7
0
    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;
    }
Ejemplo n.º 8
0
    /**
     * @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);
    }