/** * generates code for .htaccess mod_rewrite * */ private function generateHtaccessCode($prefix, $separator, $suffix) { if($separator == '') { $separator = '/'; } $aid = Pap_Tracking_Request::getAffiliateClickParamName(); $bid = Pap_Tracking_Request::getBannerClickParamName(); $channel = Pap_Tracking_Request::getChannelParamName(); $data1 = Pap_Tracking_Request::getClickData1ParamName(); $tb = new Pap_Tracking_TrackerBase(); $scriptUrl = $tb->getScriptUrl("click.php"); $separators = str_replace($separator, '', '_-/'); $htaccessCode = "# Start Post Affiliate SEO Code----\n RewriteEngine On\n RewriteRule ^".$prefix."([a-zA-Z0-9".$separators."]+)".$suffix."\$ $scriptUrl?$aid=\$1 [R=301,L]\n RewriteRule ^".$prefix."([a-zA-Z0-9".$separators."]+)".$separator."([a-zA-Z0-9".$separators."]+)".$suffix."\$ $scriptUrl?$aid=\$1&$bid=\$2 [R=301,L]\n RewriteRule ^".$prefix."([a-zA-Z0-9".$separators."]+)".$separator."([a-zA-Z0-9".$separators."]+)".$separator."([a-zA-Z0-9".$separators."]+)".$suffix."\$ $scriptUrl?$aid=\$1&$bid=\$2&$channel=\$3 [R=301,L]\n RewriteRule ^".$prefix."([a-zA-Z0-9".$separators."]+)".$separator."([a-zA-Z0-9".$separators."]+)".$separator."([a-zA-Z0-9".$separators."]+)".$separator."([a-zA-Z0-9".$separators."]+)".$suffix."\$ $scriptUrl?$aid=\$1&$bid=\$2&$channel=\$3&$data1=\$4 [R=301,L]\n # End of Post Affiliate SEO Code\n"; return $htaccessCode; }
public static function getBannerScriptUrl($userId, $bannerId, $channelId = null, $parentBannerId = null){ $url = Gpf_Paths::getInstance()->getFullScriptsUrl().'banner.php'. '?'; $url .= Gpf_Settings::get(Pap_Settings::PARAM_NAME_USER_ID).'='.$userId; $url .= '&'.Gpf_Settings::get(Pap_Settings::PARAM_NAME_BANNER_ID).'='.$bannerId; if($channelId != null){ $url .= '&'.Pap_Tracking_Request::getChannelParamName().'='.$channelId; } if($parentBannerId != null) { $url .= '&'.Pap_Tracking_Request::getRotatorBannerParamName().'='.$parentBannerId; } return $url; }
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; }
/** * @return String url parameters style click url (requires integration code on landing page) */ private function getUrlParametersClickUrl(Pap_Common_Banner $banner = null, Pap_Common_User $user, $specialDesturl = '', Pap_Db_Channel $channel = null, $urlSeparator = '?', $data1 = '', $data2 = '') { $clickUrl = $this->getDestinationUrl($banner, $specialDesturl, $user); $anchorParams = ''; if($urlSeparator !== '#' && $anchorPos = strpos($clickUrl, '#')) { $anchorParams = substr($clickUrl, $anchorPos); $clickUrl = substr($clickUrl, 0, $anchorPos); } $firstParamSeparator = '&'; if ($urlSeparator !== '#') { $clickUrl .= (strpos($clickUrl, '?') === false) ? $urlSeparator : $firstParamSeparator; } else { $clickUrl .= (strpos($clickUrl, '#') === false) ? $urlSeparator : $firstParamSeparator; } $clickUrl .= Pap_Tracking_Request::getAffiliateClickParamName()."=".$user->getRefId(); $clickUrl .= $this->getBannerParams($banner); if($channel != null && is_object($channel)) { $clickUrl .= "&".Pap_Tracking_Request::getChannelParamName()."=".$channel->getValue(); } if ($data1 != '') { $clickUrl .= "&".Pap_Tracking_Request::getExtraDataParamName(1)."=".$data1; } if ($data2 != '') { $clickUrl .= "&".Pap_Tracking_Request::getExtraDataParamName(2)."=".$data2; } $clickUrl .= $anchorParams; return $clickUrl; }