/** * 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; }
/** * @return String redirect click url (redirect through click.php script) */ private function getRedirectClickUrl(Pap_Common_Banner $banner = null, Pap_Common_User $user, $specialDesturl = '', Pap_Db_Channel $channel = null, $data1 = '', $data2 = '') { $clickUrl = Pap_Tracking_TrackerBase::getScriptUrl("click.php"); $clickUrl .= "?".Pap_Tracking_Request::getAffiliateClickParamName()."=".$user->getRefId(); $clickUrl .= $this->getBannerParams($banner); if ($specialDesturl != '') { $clickUrl .= "&".Pap_Tracking_Request::getSpecialDestinationUrlParamName()."=".urlencode($specialDesturl); } 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; } return $clickUrl; }