原理,推广者通过论坛自动生成的属于自己的推广链接,分发出去后,其它人通过该链接访问,广告联盟便可记录推广者并给予奖励.

涉及三个文件.cf_conn.php及cf_reg.php,为了让推广链接窗口在帖子中显示.需要修改default这个默认模板.如果用的是第三方模板,需要自己对应模板.\template\default\forum\viewthread_node_body.htm

cf_conn.php的内容为

<?php
/*配置好下面的参数*///edusoho的Mysql数据库IP地址或主机名
$dbhost="localhost";//edusoho的Mysql数据库连接用户名
$dbuser="root";//edusoho的Mysql数据库连接密码
$dbpwd="root";//edusoho的Mysql数据库使用的数据库名称
$dbname="discuz2";//网站网址,如http://www.a.com/,以/结尾
$shop_url="http://www.a.com/";//广告联盟程序安装路径,如http://www.b.com/,以/结尾
$cf_url="ttp://www.b.com/";//广告联盟系统密钥,管理员后台可查到,登录加密用
$cf_syscode="xxxxxxxx";//广告联盟对接的程序普通用户的广告ID
$cf_ad_id=126;//广告联盟对接的程序楼主的广告ID
$cf_ad_idb=123;//ifrmame高度,调试时可以设置20到40可以显示调试信息,完成后设置为0即可隐藏
$cf_iframeheight=20;$conn = mysql_connect($dbhost,$dbuser,$dbpwd);
if (!$conn) die ("对不起,发生错误! 请检查cf_conn.php中数据库的配置是否正确!");
mysql_query("set names gbk");
mysql_select_db($dbname,$conn);//过滤非法字符
function chkstr($paravalue,$paratype){if($paratype==1){$filterstr="(and|or)\\b.+?(>|<|=|in|like)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";if (preg_match("/".$filterstr."/is",$paravalue)==1){   exit("传递的参数类型有错误!");}$inputstr=str_replace("'","''",$paravalue);}elseif($paratype==2){if($paravalue!=""&&is_numeric($paravalue)==false){exit("传递的参数类型有错误!");}else{ $inputstr=$paravalue;}}elseif($paratype==3){if($paravalue!=""&&(strtotime($paravalue)==false||strtotime($paravalue)==-1)){exit("传递的参数类型有错误!");}else{ $inputstr=$paravalue;}}return $inputstr;
}
?>

cf_reg.php内容为

<?php
header("expires:mon,26jul199705:00:00gmt");
header("cache-control:no-cache,must-revalidate");
header("pragma:no-cache");
$action = isset($_GET["action"]) ? $_GET["action"] : "useridget";if($action=="useridget"){require './source/class/class_core.php';//引入系统核心文件
$discuz = & discuz_core::instance();//以下代码为创建及初始化对象
$discuz->cachelist = $cachelist;
$discuz->init();//以上是调用discuz公共执行类等核心代码
$userid= $_G['uid'];$ser=$_SERVER['HTTP_HOST'];
$scr=$_SERVER['SCRIPT_NAME'];
$scr_2=substr($scr,0,strrpos($scr,"/")+1);//如果是登录者时,显示推广链接,这里currurl用base64加密防止被双重伪静态
if($userid!=""){echo "document.write(\"<script src='http://".$ser.$scr_2."cf_reg.php?action=usertg&userid=$userid&currurl=\"+base64_encode(window.location.href)+\"' charset='gbk'></script>\");";
@include("cf_conn.php");
$from = isset($_GET["from"]) ? $_GET["from"] : $shop_url;//var currurl= escape('".str_replace("http://","",$currurl)."');//currurl='".$cf_ad_id.",".$userid.",,'+currurl;
//str+='".$cf_url."cf.aspx?'+base64_encode(currurl);
//获取完整的url
//$cur_1= 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$cur_2= str_replace("http://","",$from);
echo "document.write(\"<script>var cur3= escape('".$cur_2."'); var cur='".$cf_ad_id.",".$userid.",,'+cur3;var my_currurl='http://www.b.com/cf.aspx?'+base64_encode(cur);</script>\");";}}//登录用户显示推广链接
if($action=="usertg"){@include("cf_conn.php");if($cf_ad_id==0) exit;//取出当前页,判断哪些页面需要出现推广提示
$currurl = isset($_GET["currurl"]) ? chkstr($_GET["currurl"],1) : "";
$currurl=base64_decode($currurl);//echo("alert('$currurl');");//用正则读取
if(preg_match('/p-([0-9]*)-.*\.html/',$currurl,$matched)){$tid=$matched[1];}else{$tid="";};$userid = isset($_GET["userid"]) ? chkstr($_GET["userid"],2) : "";$sql="select email from pre_ucenter_members where uid='$userid'";
$result=mysql_query($sql);
if($rs=mysql_fetch_array($result)){$username=$rs["email"];
}if($tid!=""){
//如果这个帖子是当前用户发的则调用对楼主的广告
$sql="select authorid from pre_forum_post where tid='$tid'";$result=mysql_query($sql);
if($rs=mysql_fetch_array($result)){$useridb=$rs["authorid"];if ($userid==$useridb){$cf_ad_id=$cf_ad_idb;}
}
}else{exit;//非主题页时不显示
}//echo("alert('$currurl');");//把用户提交到联盟用户新增接口
echo "document.write(\"<iframe src='".$cf_url."cf.aspx?action=useradd&userid=$userid&username=$username&checkcode=".md5($userid.$username.$cf_syscode)."' frameBorder=0 width=200 height=$cf_iframeheight marginheight=0 marginwidth=0 scrolling=no></iframe>\");";echo("
var sxadwidth = 500;
var sxadheight = 120document.write('<span id=\"cf_sxtg\"></span>');//关闭按钮
str='';str+='<div align=\"left\" id=\"cf_sxtg\" style=\"background-color:#c6ccd9;padding:7px;width:590px;display:inline-block\">'str+='<span style=\"font-size:14px;color:#ff0000;\">推广本站赚钱</span>';
str+='<br><span style=\"font-size:12px;\">复制推广链接给别人可获提成</span>';str+='<iframe src=\"".$cf_url."d_info.asp?userid=$userid&checktime=".time()."&checkcode=".md5($userid.time().$cf_syscode)."\" frameBorder=0 width=400 height=$cf_iframeheight marginheight=0 marginwidth=0 scrolling=no></iframe>';str+='<br><textarea   onfocus=\"select()\"id=\"tgtext\" style=\"width:540px;height:18px;margin-bottom:-3px;\">';var currurl= escape('".str_replace("http://","",$currurl)."');currurl='".$cf_ad_id.",".$userid.",,'+currurl;//alert(currurl);str+='".$cf_url."cf.aspx?'+base64_encode(currurl);
str+='</textarea> <a style=\"font-size:16px;display:inline-block;\"href=\"javascript:\" onclick=\"tgcopy(\'tgtext\');\"> 复制';
str+='</div>';showMsg(str);function showMsg(str) {var s=\"\";var _width=sxadwidth;_height=sxadheight;try{if(document.compatMode && document.compatMode != 'BackCompat'){s+=('<div style=\"\" id=\"BottomMsg\">');}else {s+=('<div style=\"\" id=\"BottomMsg\" >');}s+=(str);s+=('</div>');document.getElementById('cf_sxtg').innerHTML = s;}catch(err){}
}function cf_sxtg_closeDiv(){document.getElementById('cf_sxtg').style.visibility='hidden';document.getElementById('cf_sxtg_close').style.visibility='hidden';
}function tgcopy(ob){var obj=tgfindObj(ob);
if(-[1,]){
obj.select();alert(\"您的浏览器不支持此这个复制功能,请手工复制文本框中内容\")
}else{  if (obj) { obj.select();js=obj.createTextRange();js.execCommand(\"Copy\");}
} }function tgfindObj(n, d) { //v4.0var p,i,x;  if(!d) d=document; if((p=n.indexOf(\"?\"))>0&&parent.frames.length) {d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);if(!x && document.getElementById) x=document.getElementById(n); return x;
}");}echo("
function base64_encode(str){var c1, c2, c3;var base64EncodeChars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";                var i = 0, len= str.length, string = '';while (i < len){c1 = str.charCodeAt(i++) & 0xff;if (i == len){string += base64EncodeChars.charAt(c1 >> 2);string += base64EncodeChars.charAt((c1 & 0x3) << 4);string += \"==\";break;}c2 = str.charCodeAt(i++);if (i == len){string += base64EncodeChars.charAt(c1 >> 2);string += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));string += base64EncodeChars.charAt((c2 & 0xF) << 2);string += \"=\";break;}c3 = str.charCodeAt(i++);string += base64EncodeChars.charAt(c1 >> 2);string += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));string += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));string += base64EncodeChars.charAt(c3 & 0x3F)}return string}
")
?>

三,如果要让百度分享显示.并且分享后,附带回调的本论坛网址为自定义的推广链接.

其中{eval}表示在模板中直接运行php,

如果要自定义链接.需要增加bdUrl:my_currurl 这一句.

为 了方便复杂推广链接,请不要开启百度划词分享功能.

在\template\default\forum\viewthread_node_body.htm
大约62行.也就是<!--{if $post['first']}-->的下面,要加在这个位置,是因为这个代码只想让他显示在主题帖子中,回复中不显示.添加上面两个文件的调用及百度分享
代码都不需要在后台设置什么<!--{eval
$cur_1= 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo "<script src='/cf_reg.php?from=".$cur_1."' charset='gbk'></script>";
}-->
<div class="bdsharebuttonbox"><a href="#" class="bds_more" data-cmd="more"></a><a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a><a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a><a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a><a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网"></a><a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a></div>
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"32",bdUrl:my_currurl},"share":{},"image":{"viewList":["qzone","tsina","tqq","renren","weixin"],"viewText":"分享到:","viewSize":"16"}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>

discuz 自定义联盟推广链接案例及百度分享自定义推广链接的方法相关推荐

  1. 织梦DedeCMS添加百度分享代码的最简单方法

    织梦DedeCMS添加百度分享代码的最简单方法 很多朋友不喜欢在后台安装百度分享代码,又想使用百度分享代码这个功能,那么今天织梦吧(dedecms8.com)来分享最简单的添加百度分享代码方法: 1. ...

  2. java 生成短链接_java调用百度API生成短链接(一)

    短链接,顾名思义,用一个短的链接代替长而繁琐的真实链接 import net.sf.json.JSONObject; import org.apache.http.impl.client.Defaul ...

  3. 百度分享+自定义分享按钮

    1.百度分享代码获取 http://share.baidu.com/ 2.修改按钮图标 http://jingyan.baidu.com/article/e4d08ffd8cd90e0fd2f60d0 ...

  4. 百度分享不支持https解决方法

    在页面中加入百度分享的功能时,其不支持https.有一个很好的解决方法就是把百度分享的代码下载到本地,放到本地服务的根目录中. 步骤如下: 1.下载的百度分享包括这些文件: 其中static是放到项目 ...

  5. 百度分享自定义分享案例

    1.参考文档:http://share.baidu.com/code/advance#config-share 2.自定义案例 <!DOCTYPE html> <html lang= ...

  6. 百度分享自定义内容和图片

    <?php $shopShareStr="这是我要分享的内容";$picUrl="图片路径"; ?><!-- Baidu Button BEG ...

  7. 微信公众号,微信网页链接,隐藏微信分享按钮的链接

    1.界面操作 (1)隐藏右上角菜单接口 wx.hideOptionMenu(); (2)显示右上角菜单接口 wx.showOptionMenu(); (3)关闭当前网页窗口接口 wx.closeWin ...

  8. 百度分享不支持https的最简单解决方案

    今天想给大家分享了最近遇到的一个问题,就是我的wordpress网站申请免费的SSL证书做了Https配置之后,我发现百度分享失效了,不能正常显示和分享了.后来查了一些资料发现,百度分享不支持http ...

  9. wordpress如何添加百度分享

    现在已经入SNS(Social Network Service)时代,如果你的网站没有分享链接那该多吃亏啊.想想一个weibo.一个qq空间的分享可以带来多少的流量?那作为站长的你该如何利用这个优势来 ...

最新文章

  1. linux设置密码过期时间
  2. eclipse提示edit source lookup path的问题
  3. 1 Orchard 入门篇-Orchard 基本概念
  4. BZOJ-1923-外星千足虫-SDOI2010
  5. 百度2011大会见闻:百度开始推出耀主页
  6. sql跨表查询_白话django之ORM的查询语句
  7. js原生实现过渡效果的返回顶部功能实例
  8. JQuery1.2.6 ui.dialog控件在IE6下标题栏显示不正常的问题解决
  9. c++求几个数的最大公约数_最大公约数,最小公倍数 A3
  10. Java把时间毫秒数转换成日期和时间
  11. 我在安装TFS 2008的时候遇到的问题以及解决方法一账户问题
  12. 20145202马超《java》实验5
  13. python如何读取csv文件中的某一张表_python 读取csv文件中某一段月份中的数据?...
  14. 计算机程序设计流程图循环,流程图循环画法_流程图用什么办公软件
  15. 笔记本电脑开机白屏怎么处理
  16. 工作绩效数据 工作绩效报告 偏差分析 变更控制流程 变更控制委员会
  17. 野人与传教士过河问题
  18. 蚪侠模板站群-V25版[泛域名+泛目录+泛内页]-[代码+汉字]干扰-字体繁简切换-蜘蛛欺骗-主动推送-全局锚文本锁定-自动新闻采集-自动模板采集
  19. 【一周头条盘点】中国软件网(2018.1.29~2018.2.2)
  20. 利用tldr工具再也不怕记不住Linux命令

热门文章

  1. 银行系统名称中英文对比
  2. 智慧管廊数字管道建设整体技术方案2023(word)
  3. 向勒索病毒说不,是时候重塑数据保护策略
  4. 用verilog实现m序列生成
  5. 达芬奇密码 第五十八章
  6. SPSS工具:对应分析--品牌形象定位
  7. Unity旋转到指定角度和旋转到指定向量的问题,Z轴方向向量为V1,Y轴方向向量为V2
  8. Python金融实战高清中文PDF
  9. RhythmBox使用体验
  10. [海豹海边爆]Daimayuan554