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