请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Discuz! X 最新研发动态 通过这个窗口,关注跟踪我们的研发进展 Discuz! 开发技术文库 - 给官方提建议

Discuz! X2 正式版下载 帮助网站实现一站式服务  商业支持服务咨询 下载 - 安装 - 常见问题 - 转换 - 讨论 - 购买

2012站长年会开启报名 限量船票免费发放 Discuz!十大荣誉用户评选 - Discuz!NT3.6发布 漫游引入QQ空间游戏 -一骑新区横扫三国-5d6d免费论坛

查看: 33414|回复: 147

10-24修正最后下载时间, 附件下载名单for dz6.0,感谢习明,mingyan的指点! [复制链接]

Rank: 4

UID
17871
积分
576
帖子
96
威望
18
在线时间
0 小时
注册时间
2003-6-22
发表于 2007-10-10 06:12:41 |显示全部楼层
名称: 附件下载名单 for DZ6.0
演示: HTTP://WWW.PDACLAN.COM
数据库: 不修改dz本身的数据库,添加一个新表。
安装难度: 非常容易
功能: 增加一个下载过附件的会员名单列表,通过名单可以比较准确了解附件的实际下载量,并可以得知各会员的首次下载时间,应该有部分朋友需要。版主和附件主人可以看到下载名单,并可以根据附件的更新情况对早期下载的会员直接批量发送的短信通知,让会员能及时下载到新附件。

10月24日修正最后下载时间显示问题, 请重新修改misc.php即可!



10月17增加最后下载时间,之前已安装的朋友按篮字修改.  下一个功能设想是把光下载不回复的人的名字在下载列表里用红色区分。。不知道有必要不。。
Clip_2.png


10月17修正不能正确显示下人数统计的问题。。
在misc.php找到
  1.         $numquery = $db->query("select count(*) as rncts from {$tablepre}attachdownloadlog WHERE aid='$aid'");
  2.         $data = @mysql_fetch_array($numquery);
  3.         $times = $data[rncts];
复制代码
将$times改为$downloads

10月15日根据mingyan老大的指点进行了修正,增强了限制,避免普通会员直接通过url访问下载名单。请下载 07-10-15_dowloadlog.rar 。

10月12日附件已经更新短信通知已下载者,提醒他们下载附件已经更新,可以选择部分会员来发送,谢谢piyr11 的建议!

downloadlog_pm.gif.GIF



10月11日附件已经更新,因为粗心给大家造成的不便非常抱歉! 全新编写了插件的数据库安装工具,已经测试了。


此插件是本人处女作品,很是粗糙,大家多多指正!谢谢

Clip.png



修改方法:


======================================
1.运行download_log_sql_install.php或者直接操作数据库增加下表
(17日前下载的朋友需要按蓝色字修改)
======================================

  1. DROP TABLE IF EXISTS `cdb_attachdownloadlog`;
  2. CREATE TABLE IF NOT EXISTS `cdb_attachdownloadlog` (
  3.   `uid` mediumint(8) unsigned NOT NULL default '0',
  4.   `aid` mediumint(8) unsigned NOT NULL default '0',
  5.   `authorid` mediumint(8) unsigned NOT NULL default '0',
  6.   `times` mediumint(8) unsigned NOT NULL default '0',
  7.   `dateline` int(10) unsigned NOT NULL default '0',
  8.   `lastdateline` int(10) unsigned NOT NULL default '0',
  9.   PRIMARY KEY  (`aid`,`uid`),
  10.   KEY `uid` (`uid`),
  11.   KEY `authorid` (`authorid`)
  12. );
复制代码



======================================
2. 修改discuzcode.htm
======================================
找到
  1. global $attachrefcheck, $extcredits, $creditstrans, $ftp, $thumbstatus;
复制代码
共有两处,都需要修改
在分号前面加上“, $groupid, $adminid, $discuz_uid”,如下:
  1. global $attachrefcheck, $extcredits, $creditstrans, $ftp, $thumbstatus, $groupid, $groupid, $discuz_uid;
复制代码
找到
  1.         <!--{else}-->
  2.                 <dt>
  3.                         $attach[attachicon]
  4.                         <a href="attachment.php?aid=$attach[aid]" target="_blank">$attach[filename]</a>
  5.                         <em>($attach[attachsize])</em>
  6.                 </dt>
  7.                 <dd>
  8.                         <p>
  9.                                 $attach[dateline], {lang downloads}: $attach[downloads]
  10.                                 <!--{if $attach['readperm']}-->, {lang readperm}: <strong>$attach[readperm]</strong><!--{/if}-->
  11.                                 <!--{if $attach['price']}-->
  12.                                         , {lang price}: <strong>{$extcredits[$creditstrans][title]} $attach[price] {$extcredits[$creditstrans][unit]}</strong>  [<a href="misc.php?action=viewattachpayments&aid=$attach[aid]" target="_blank">{lang pay_view}</a>]
  13.                                         <!--{if !$attach['payed']}-->
  14.                                                  [<a href="misc.php?action=attachpay&aid=$attach[aid]" target="_blank">{lang attachment_buy}</a>]
  15.                                         <!--{/if}-->
  16.                                 <!--{/if}-->
复制代码
后面增加
  1.                                 <!--{if in_array($groupid, array('19','20','21' && $adminid)) || $discuz_uid == $attach['uid']}-->
  2.                                          [<a href="misc.php?action=viewattachdownloadlog&aid=$attach[aid]" target="_blank">下载名单</a>]
  3.                                 <!--{/if}-->
复制代码
再找到
  1.                         $attach[attachicon] <span style="white-space: nowrap" id="attach_$attach[aid]" onmouseover="showMenu(this.id)"><a href="attachment.php?aid=$attach[aid]" target="_blank"><strong>$attach[filename]</strong></a> ($attach[attachsize])</span>
  2.                         <div class="t_attach" id="attach_$attach[aid]_menu" style="position: absolute; display: none">$attach[attachicon] <a href="attachment.php?aid=$attach[aid]" target="_blank"><strong>$attach[filename]</strong></a> ($attach[attachsize])

  3.                         <!--{if $attach['description']}-->$attach[description]
  4. <!--{/if}-->
  5.                         {lang downloads}: $attach[downloads]
复制代码
后面增加
  1.                                 <!--{if in_array($groupid, array('19','20','21' && $adminid)) || $discuz_uid == $attach['uid']}-->
  2.                                          [<a href="misc.php?action=viewattachdownloadlog&aid=$attach[aid]" target="_blank">下载名单</a>]
  3.                                 <!--{/if}-->
复制代码
这里对 groupid 进行判断的, 19,20,21是我设置的特殊组,这些组的成员都可以看到下载名单这个连接, 还有附件主人也能看到,普通会员是看不到有这个连接了。 大家可以根据实际需要修改.  10月15日修改, 谢谢 mingyan 管理员指点! 真荣幸!

=======================================
3.修改misc.php
(17日前下载的朋友需要按蓝色字修改)
=======================================
找到:

  1. include template('attachpay_view');
复制代码

后面增加
  1. //img downloadlog begin
  2. } elseif($action == 'viewattachdownloadlog') {
  3.         $loglist = array();
  4.         $query = $db->query("SELECT a.*, m.username FROM {$tablepre}attachdownloadlog a
  5.                 LEFT JOIN {$tablepre}members m USING (uid)
  6.                 WHERE aid='$aid' ORDER BY dateline");
  7.         while($log = $db->fetch_array($query)) {
  8.                 $log['dateline'] = gmdate("$dateformat $timeformat", $log['dateline'] + $timeoffset * 3600);
  9.                 $log['lastdateline'] = gmdate("$dateformat $timeformat", $log['lastdateline'] + $timeoffset * 3600);
  10.                 $loglist[] = $log;
  11.         }
  12.         $numquery = $db->query("select count(*) as rncts from {$tablepre}attachdownloadlog WHERE aid='$aid'");
  13.         $data = @mysql_fetch_array($numquery);
  14.         $times = $data[rncts];
  15.         include template('attachdownloads_log');
  16. //img downloadlog end
复制代码


============================================
4.修改attchment.php(17日前下载的朋友需要按蓝色字修改)
============================================

找到:

  1. $db->query("UPDATE {$tablepre}attachments SET downloads=downloads+'1' WHERE aid='$aid'", 'UNBUFFERED');
复制代码


后面增加
  1. //img downloadlog begin
  2.   $query2 = $db->query("SELECT * FROM {$tablepre}attachdownloadlog WHERE uid='$discuz_uid' AND aid='$aid'");
  3.   $row = $db->num_rows($query2);
  4.   if($row) {
  5.    $db->query("UPDATE {$tablepre}attachdownloadlog SET times=times+'1', lastdateline='$timestamp' WHERE uid='$discuz_uid' AND aid='$aid'", 'UNBUFFERED');
  6.   }else{
  7.    $db->query("INSERT INTO {$tablepre}attachdownloadlog (uid, aid, authorid, times, dateline, lastdateline)
  8.    VALUES ('$discuz_uid', '$aid', '$attach[uid]', '1', '$timestamp', '$timestamp')");
  9.   }
  10. //img downloadlog end
复制代码


============================================
5.将attachdownloads_log.htm放入templates/defaut,安装完成!(17日以前安装的也要覆盖
============================================


[ 本帖最后由 img 于 2007-10-29 23:23 编辑 ]
Clip_2.png

10-17 dowloadlog.rar

17.03 KB, 下载次数: 789

10-17更新!

已有 4 人评分金币 收起 理由
kkhpop + 1 广告/SPAM 感谢分享 感谢分享 广告/SPAM
mingyan + 2 我很赞同
pchhh + 1 感谢您一直在完善这个插件

总评分: 金币 + 6   查看全部评分

Rank: 4

UID
732562
积分
908
帖子
1071
威望
2
在线时间
0 小时
注册时间
2007-6-18
发表于 2007-10-10 07:33:28 |显示全部楼层

不知道怎么杨 测试下

不知道怎么杨 测试下 这个位置还不错嘛 呵呵

[ 本帖最后由 litaowan 于 2007-10-18 20:49 编辑 ]
年轻不怕失败,不行重头再来!

使用道具 举报

Discuz! Customer

Discuz! No Team

Rank: 7Rank: 7Rank: 7

UID
371776
积分
6945
帖子
4980
威望
159
在线时间
573 小时
注册时间
2006-5-23
发表于 2007-10-10 09:08:14 |显示全部楼层
求教: 如何能加上限制,仅允许附件上传者和版主才能看到 “[下载名单]”这个连接呢?请高手指教!万分感谢。

参考帖子编辑链接的写法

使用道具 举报

Rank: 4

UID
732562
积分
908
帖子
1071
威望
2
在线时间
0 小时
注册时间
2007-6-18
发表于 2007-10-10 10:20:51 |显示全部楼层

新人求教能说明白点么谢谢

原帖由 习明 于 2007-10-10 09:08 发表

参考帖子编辑链接的写法

新人求教能说明白点么谢谢
年轻不怕失败,不行重头再来!

使用道具 举报

Discuz! Customer

Discuz! No Team

Rank: 7Rank: 7Rank: 7

UID
371776
积分
6945
帖子
4980
威望
159
在线时间
573 小时
注册时间
2006-5-23
发表于 2007-10-10 11:51:16 |显示全部楼层
每个帖子右下角的 编辑 功能链接 看一下那个是如何做的

使用道具 举报

Rank: 4

UID
17871
积分
576
帖子
96
威望
18
在线时间
0 小时
注册时间
2003-6-22
发表于 2007-10-10 14:07:17 |显示全部楼层
原帖由 习明 于 2007-10-10 11:51 发表
每个帖子右下角的 编辑 功能链接 看一下那个是如何做的


谢谢版主指点, 我早已经参考过的。。。不过, 这个连接不是在 viewthread...而是在discuzcode...
我尝试过加入
<!--{if $forum['ismoderator'] || in_array($post['adminid'], array(1, 2, 3)) ||  $log['authorid'] == $discuz_uid}-->
无效阿。。。

实在不懂如何修改。

使用道具 举报

Rank: 4

UID
684845
积分
825
帖子
951
威望
4
在线时间
0 小时
注册时间
2007-3-21
发表于 2007-10-10 14:31:40 |显示全部楼层
想买。。
但是还是想观望下。。

使用道具 举报

Rank: 3Rank: 3

UID
354577
积分
287
帖子
234
威望
7
在线时间
0 小时
注册时间
2006-4-25
发表于 2007-10-10 15:16:08 |显示全部楼层
唉!!安装失败~~~~

使用道具 举报

Rank: 4

UID
17871
积分
576
帖子
96
威望
18
在线时间
0 小时
注册时间
2003-6-22
发表于 2007-10-10 17:22:40 |显示全部楼层
免费了!:) :) :)

使用道具 举报

Discuz! Customer

Discuz! No Team

Rank: 7Rank: 7Rank: 7

UID
371776
积分
6945
帖子
4980
威望
159
在线时间
573 小时
注册时间
2006-5-23
发表于 2007-10-10 19:12:16 |显示全部楼层
discuzcode.htm
找到
  1. global $attachrefcheck, $extcredits, $creditstrans, $ftp, $thumbstatus;
复制代码
在结尾的分号前加入判断所需的全部变量 如 $adminid,$discuz_uid等

使用道具 举报

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

fastpost

手机版|Archiver|北京康盛新创科技有限责任公司 ( 京ICP证110024号|京网文[2011]0019-007号 )  

GMT+8, 2012-2-13 04:34 , Processed in 0.137974 second(s), 17 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部