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

将软件下载链接弄成显示真实地址时的下载统计第一步打开 Quote:\include\taglib\channel\softlinks.lib.php找到 function getDownloads($url)在它之前加入function ch_sof…

 

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

第一步

打开

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织梦无需登录注册可下单购买的修改,首先找到/plus/carbuaction.php文件,找到如下代码: //确认用户登录信息if($cfg_ml-IsLogin()){ $userid = $cfg_ml-M_ID;}else{ $username = trim($username); $password = trim($password); if(empty($username)
我们在用到织梦dedecms的会员功能时候,注册页面的注册项需要增加,比如想多加一个手机号的字段,需要怎么操作呢?下面我们以增加一个手机号的字段为例子 1、找到网站目录下的/member/templets/reg-new.htm,在合适位置增加一行表单,代码如下: lispan手机
SQL语句中,有统计的函数,我们可以通过在织梦中使用SQL语句统计的方法,在列表页内显示该栏目共有多少篇文章。这样做的好处是,有助于提升用 户体验。比如说我一个文章列表下面有10篇文章,就自动统计出10篇,到20篇的时候自动统计成20篇。这样用户对网站的
我们在做 织梦模板 开发时,有时需要在artlist 和list标签中调用出图集中的图片,同时可以自定调用几张图片。跟版网整理了个一个这样功能的自定义函数。调用后效果如下: dedecms织梦artlist和list标签调用图集图片实现方法 函数代码 请将代码加入到 /includ
json数据格式可以方便不同站点之间进行数据调用引用,当然我们的DEDECMS也可以实现全站数据生成JSON供其他站点调用,代码很简单,主要用到include/json.class.php。 织梦本身是自带json标签的,调用方法: {dede:json url=http://yoursite/json.php cache=300
大家在使用织梦的时候,用到会员中心可能涉及到多二级域名同步登录退出的问题,涉及到跨域,那么这个问题该如何解决呢?在一个技术大牛博客看到过此教程,特此转发分享给大家,解决大家问题。 首先打开 \include\dedeajax2.js 找到 DedeXHTTP = new XMLHttpR