找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 962|回复: 0

[分享] dede 下载统计 for 链接到真实软件地址

[复制链接]
发表于 2018-2-25 10:00:11 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
将软件下载链接弄成显示真实地址时的下载统计
第一步
打开
Quote:
\include\taglib\channel\softlinks.lib.php
找到
function getDownloads($url)

在它之前加入
  1. function ch_softlinks_allb($fvalue,&$ctag,&$refObj,&$row)
  2. {
  3.     global $dsql;

  4.     //引入权限判断
  5.     require_once(DEDEINC."/memberlogin.class.php");
  6.     $cfg_ml = new MemberLogin(-1);
  7.     $query = "select daccess from ".$refObj->ChannelInfos['addtable']." where aid=’".$refObj->ArcID."’";
  8.     $daccess = $dsql->GetOne($query);
  9.     if($cfg_ml->M_Rank < $daccess['daccess'])
  10.     {
  11.         return ‘你的权限不足或者未登录, 不能下载! 请登陆或者升级等级‘;
  12.     }
  13.     $phppath = $GLOBALS['cfg_phpurl'];
  14.     $downlinks = ”;
  15.     $dtp = new DedeTagParse();
  16.     $dtp->LoadSource($fvalue);
  17.     if(!is_array($dtp->CTags))
  18.     {
  19.         $dtp->Clear();
  20.         return "无链接信息!";
  21.     }
  22.     $tempStr = GetSysTemplets(‘channel_downlinksb.htm’);
  23.     foreach($dtp->CTags as $ctag)
  24.     {
  25.         if($ctag->GetName()==’link’)
  26.         {
  27.             $links = trim($ctag->GetInnerText());
  28.             $serverName = trim($ctag->GetAtt(‘text’));
  29.             $islocal = trim($ctag->GetAtt(‘islocal’));
  30.             if(!isset($firstLink) && $islocal==1)
  31.             {
  32.                 $firstLink = $links;
  33.             }
  34.             if($islocal==1 && $row['islocal']!=1)
  35.             {
  36.                 continue;
  37.             }
  38.             else
  39.             {
  40.                 //支持http,迅雷下载,ftp,flashget
  41.                 if(!eregi(‘^http://|^thunder://|^ftp://|^flashget://’,$links))
  42.                 {
  43.                     $links = $GLOBALS['cfg_mainsite'].$links;
  44.                 }
  45.                 $downloads = getDownloads($links);
  46.                 if($row['gotojump']==1)
  47.                 {
  48.                     $links = $phppath."/download.php?open=1&id=".$refObj->ArcID."&link=".urlencode(base64_encode($links));
  49.                 }
  50.                 $temp = str_replace("~link~",$links,$tempStr);
  51.                 $downlinks .= $temp;
  52.             }
  53.         }
  54.     }
  55.     $dtp->Clear();
  56.     //启用镜像功能的情况
  57.     if($row['ismoresite']==1 && !empty($row['sites']) && isset($firstLink))
  58.     {
  59.         $firstLink = @eregi_replace($GLOBALS['cfg_basehost'],”,$firstLink);
  60.         $row['sites'] = ereg_replace("[\r\n]{1,}","\n",$row['sites']);
  61.         $sites = explode("\n",trim($row['sites']));
  62.         foreach($sites as $site)
  63.         {
  64.             if(trim($site)==”)
  65.             {
  66.                 continue;
  67.             }
  68.             list($link,$serverName) = explode(‘|’,$site);
  69.             $link = trim($link).$firstLink;
  70.             $downloads = getDownloads($link);
  71.             if($row['gotojump']==1)
  72.             {
  73.                 $link = $phppath."/download.php?open=1&link=".urlencode(base64_encode($link));
  74.             }
  75.             $temp = str_replace("~link~",$link,$tempStr);
  76.             $temp = str_replace("~server~",$serverName,$temp);
  77.             $temp = str_replace("~downloads~",$downloads,$temp);
  78.             $downlinks .= $temp;
  79.         }
  80.     }
  81.     return $downlinks;
  82. }
复制代码

第二步找到
function ch_softlinks_all($fvalue,&$ctag,&$refObj,&$row)

在其之前加入

  1. function ch_softlinksb($fvalue,&$ctag,&$refObj,$fname=”,$downloadpage=false)
  2. {
  3.     global $dsql;
  4.     $row = $dsql->GetOne("Select * From `2d30_softconfig` ");
  5.     $phppath = $GLOBALS['cfg_phpurl'];
  6.     $downlinks = ”;
  7.     if($row['downtype']!=’0′ && !$downloadpage)
  8.     {
  9.         $tempStr = GetSysTemplets("channel_downlinkpage.htm");
  10.         $links = $phppath."/download.php?open=0&aid=".$refObj->ArcID."&cid=".$refObj->ChannelID;
  11.         $downlinks = str_replace("~link~",$links,$tempStr);
  12.         return $downlinks;
  13.     }
  14.     else
  15.     {
  16.         return ch_softlinks_allb($fvalue,$ctag,$refObj,$row);
  17.     }
  18. }
复制代码



第三步
打开plus\download.php
找到
  1. $downlinks = ch_softlinks($row[$vname],$ctag,$cu,”,true);
复制代码


在其后面另起一行加入

  1. $myurl=ch_softlinksb($row[$vname],$ctag,$cu,”,true);
复制代码


第四步
新建个文件 channel_downlinksb.htm,该文件保存于templets\system\channel_downlinksb.htm
其内容如下:
  1. <li>~link~</li>
复制代码

第五步
打开
Quote:
templets\plus\download_links_templet.htm
找到
  1. <td height="78">
复制代码


替换为(注意把网站域名换成你自己的)

  1. <td height="78" onClick="javascript:window.location.href=’http://www.piaoxian.net/plus/downloadcouter.php?aid=<?php echo $aid; ?>&myurl=<?php echo $myurl;?>’">
复制代码






第六步
新建个 downloadcouter.php 存入于\plus目录下 与download.php同在一个目录
其内容如下

  1. <?php
  2. require_once(dirname(__FILE__)."/../include/common.inc.php");
  3. require_once(DEDEINC."/channelunit.class.php");
  4.     echo "感谢您支持本站,回到<a href=’/’>网站主页</a>";
  5.     $id = $_GET["aid"];
  6.     $url=$_GET["myurl"];
  7.     $hash = md5($url);
  8.     $query = "select count(*) as dd from 2d30_downloads where hash=’$hash’";
  9.     $row = $dsql->GetOne($query);
  10.     if($row['dd'] > 0)
  11.     {
  12.         $query = "update 2d30_downloads set downloads=downloads+1 where hash=’$hash’";
  13.         $dsql->ExecNoneQuery($query);
  14.     }else {
  15.         $query = "insert into 2d30_downloads(hash,id,downloads) values(‘$hash’,’$id’,1)";
  16.         $dsql->ExecNoneQuery($query);
  17.     }
  18. ?>
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-23 09:07 , Processed in 0.047705 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表