dede 下载统计 for 链接到真实软件地址

时间:2014-08-09

 

将软件下载链接弄成显示真实地址时的下载统计

第一步

打开

Quote:

\include\taglib\channel\softlinks.lib.php

找到

function getDownloads($url)

在它之前加入

function ch_softlinks_allb($fvalue,&$ctag,&$refObj,&$row)
{
    global $dsql;

    //引入权限判断
    require_once(DEDEINC."/memberlogin.class.php");
    $cfg_ml = new MemberLogin(-1);
    $query = "select daccess from ".$refObj->ChannelInfos['addtable']." where aid=’".$refObj->ArcID."’";
    $daccess = $dsql->GetOne($query);
    if($cfg_ml->M_Rank < $daccess['daccess'])
    {
        return ‘
你的权限不足或者未登录, 不能下载! 请登陆或者升级等级‘;
    }

    $phppath = $GLOBALS['cfg_phpurl'];
    $downlinks = ”;
    $dtp = new DedeTagParse();
    $dtp->LoadSource($fvalue);
    if(!is_array($dtp->CTags))
    {
        $dtp->Clear();
        return "无链接信息!";
    }
    $tempStr = GetSysTemplets(‘channel_downlinksb.htm’);
    foreach($dtp->CTags as $ctag)
    {
        if($ctag->GetName()==’link’)
        {
            $links = trim($ctag->GetInnerText());
            $serverName = trim($ctag->GetAtt(‘text’));
            $islocal = trim($ctag->GetAtt(‘islocal’));
            if(!isset($firstLink) && $islocal==1)
            {
                $firstLink = $links;
            }
            if($islocal==1 && $row['islocal']!=1)
            {
                continue;
            }
            else
            {
                //
支持http,迅雷下载,ftp,flashget
                if(!eregi(‘^http://|^thunder://|^ftp://|^flashget://’,$links))
                {
                    $links = $GLOBALS['cfg_mainsite'].$links;
                }
                $downloads = getDownloads($links);
                if($row['gotojump']==1)
                {
                    $links = $phppath."/download.php?open=1&id=".$refObj->ArcID."&link=".urlencode(base64_encode($links));
                }
                $temp = str_replace("~link~",$links,$tempStr);
                $downlinks .= $temp;
            }
        }
    }
    $dtp->Clear();

    //启用镜像功能的情况
    if($row['ismoresite']==1 && !empty($row['sites']) && isset($firstLink))
    {
        $firstLink = @eregi_replace($GLOBALS['cfg_basehost'],”,$firstLink);
        $row['sites'] = ereg_replace("[\r\n]{1,}","\n",$row['sites']);
        $sites = explode("\n",trim($row['sites']));
        foreach($sites as $site)
        {
            if(trim($site)==”)
            {
                continue;
            }
            list($link,$serverName) = explode(‘|’,$site);
            $link = trim($link).$firstLink;
            $downloads = getDownloads($link);
            if($row['gotojump']==1)
            {
                $link = $phppath."/download.php?open=1&link=".urlencode(base64_encode($link));
            }
            $temp = str_replace("~link~",$link,$tempStr);
            $temp = str_replace("~server~",$serverName,$temp);
            $temp = str_replace("~downloads~",$downloads,$temp);
            $downlinks .= $temp;
        }
    }
    return $downlinks;
}

第二步找到

function ch_softlinks_all($fvalue,&$ctag,&$refObj,&$row)

在其之前加入





function ch_softlinksb($fvalue,&$ctag,&$refObj,$fname=”,$downloadpage=false)
{
    global $dsql;
    $row = $dsql->GetOne("Select * From `2d30_softconfig` ");
    $phppath = $GLOBALS['cfg_phpurl'];
    $downlinks = ”;
    if($row['downtype']!=’0′ && !$downloadpage)
    {
        $tempStr = GetSysTemplets("channel_downlinkpage.htm");
        $links = $phppath."/download.php?open=0&aid=".$refObj->ArcID."&cid=".$refObj->ChannelID;
        $downlinks = str_replace("~link~",$links,$tempStr);
        return $downlinks;
    }
    else
    {
        return ch_softlinks_allb($fvalue,$ctag,$refObj,$row);
    }
}



第三步

打开plus\download.php

找到

$downlinks = ch_softlinks($row[$vname],$ctag,$cu,”,true);

在其后面另起一行加入






$myurl=ch_softlinksb($row[$vname],$ctag,$cu,”,true);



第四步

新建个文件 channel_downlinksb.htm,该文件保存于templets\system\channel_downlinksb.htm

其内容如下:




<li>~link~</li>

第五步

打开

Quote:

templets\plus\download_links_templet.htm

找到

<td height="78">

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




<td height="78" onClick="javascript:window.location.href=’http://www.fy007.com/plus/downloadcouter.php?aid=<?php echo $aid; ?>&myurl=<?php echo $myurl;?>’">



第六步

新建个 downloadcouter.php 存入于\plus目录下 download.php同在一个目录

其内容如下





<?php
require_once(dirname(__FILE__)."/../include/common.inc.php");
require_once(DEDEINC."/channelunit.class.php");

    echo "感谢您支持本站,回到<a href=’/’>网站主页</a>";
    $id = $_GET["aid"];
    $url=$_GET["myurl"];
    $hash = md5($url);
    $query = "select count(*) as dd from 2d30_downloads where hash=’$hash’";
    $row = $dsql->GetOne($query);
    if($row['dd'] > 0)
    {
        $query = "update 2d30_downloads set downloads=downloads+1 where hash=’$hash’";
        $dsql->ExecNoneQuery($query);
    }else {
        $query = "insert into 2d30_downloads(hash,id,downloads) values(‘$hash’,’$id’,1)";
        $dsql->ExecNoneQuery($query);
    }
?>

上一条:DEDECMS 个人会员自选空间模板简单方法 下一条:去掉dede下载地址中的li标签

相关文章

最新文章