Oytktk(靖飒)带 您 欣 赏 时 间
▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷
[发布编号]:靖字 第:0005
[插件名称]:超级新回复短信息通知
[适用版本]:DISCUZ! 4.1.0
[插件作者]:Oytktk(靖飒)
[插件发布]:Powered by 上海华飒科技 © 2006
[发布日期]:2006-4-7
[插件用途]:
我的方法绝对节省PMS(短信)表的空间...
原理是这样的,
发个主题可以选择是不是使用这个功能,如果使用的话:
有人回复马上发个短信通知作者,
但是,如果还有人再回复的话,同样还是用这一条短信进行修改后再次通知作者.
就是说,一个主题不管有多少人回复,都是用一条短信进行通知的.这样就不会造成因为回复过多而收到N多短信而且影响PMS空间..
══════════════════════════════════════
1. 可控制默认情况下是否使用本功能...
2. 为什么说是超级新回复短信通知呢?
1). 每个主题只存在一条信息通知...
2). 如果没有某条主题的信息通知,当需要通知作者时便加入一条信息用来通知作者...
3). 如果已存在某条主题的信息通知,又有新的关于这条主题的通知时,还是以原短信(加以修改)作为通知...
4). 自己回复自己的主题时,不进行通知...
══════════════════════════════════════
目前我只能想到这么多功能了...
▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷▶▷
关于安装与使用的说明
一、需要修改的文件列表:
1、后台升级SQL
2、模板文件夹\post_newthread.htm
3、模板文件夹\post_editpost.htm
4、模板文件夹\forumdisplay.htm
5、模板文件夹\templates.lang.php
6、forumdisplay.php
7、include/newthread.inc.php
8、include/editpost.inc.php
9、include/newreply.inc.php
二、修改文件完毕并上传至您的服务器以后,您将需要在您的后台“更新缓存”方可使用!
1. 后台升级SQL语句(如果在4.0中已经安装过此插件, 这步升级语句跳过):
- ALTER TABLE `cdb_threads` ADD `msgnotify` INT( 1 ) NOT NULL ;
复制代码
模板文件夹\post_newthread.htm
查找:
- <input type="checkbox" name="usesig" value="1" $usesigcheck> {lang post_show_sig}<br>
复制代码
下面加:
- <input type="checkbox" name="msgnotify" value="1" $msgcheck> {lang post_msg_notify}<br>
复制代码
模板文件夹\post_editpost.htm
查找:
- <input type="checkbox" name="usesig" value="1" $usesigcheck> {lang post_show_sig}<br>
复制代码
下面加:
- <!--{if $thread[dateline]==$postinfo[dateline]}--><input type="checkbox" name="msgnotify" value="1" $msgcheck> {lang post_msg_notify}<br><!--{/if}-->
复制代码
模板文件夹\forumdisplay.htm
查找:
- <input type="checkbox" name="usesig" value="1" $usesigcheck> {lang post_show_sig}<br>
复制代码
下面加:
- <input type="checkbox" name="msgnotify" value="1" $msgcheck> {lang post_msg_notify}<br>
复制代码
模板文件夹\templates.lang.php
查找:
- 'post_email_notify' => '接收新回复邮件通知',
复制代码
下面加:
- 'post_msg_notify' => '接收新回复短信通知',
复制代码
forumdisplay.php
查找:
下面加:
- $msgcheck = 1; //默认情况下, 是否打开短信通知的功能(0=关闭)...
- $msgcheck = $msgcheck ? 'checked' : NULL;
复制代码
include/newthread.inc.php
查找:
下面加:
- $msgcheck = 1; //默认情况下, 是否打开短信通知的功能(0=关闭)...
- $msgcheck = $msgcheck ? 'checked' : NULL;
复制代码
查找:
- displayorder, digest, blog, poll
复制代码
后面加:
继续找:
- '$displayorder', '$digest', '$blog', '$poll'
复制代码
后面加:
include/editpost.inc.php
查找:
- $htmloncheck = $postinfo['htmlon'] ? 'checked' : '';
复制代码
下面加:
- $msgcheck = $thread['msgnotify'] ? 'checked' : '';
复制代码
查找:
- subject='$subject', readperm='$readperm'
复制代码
后面加:
include/newreply.inc.php
查找:
上面加:
- //新回复,论坛短信通知 By Oytktk(靖飒)
- if(!empty($thread['msgnotify']) && $discuz_uid && $thread['author'] != $discuz_user){
- //1.定义短信内容...
- $msgnate = "
- 这是由论坛系统自动发送的通知短消息。
- [b]以下您所发表的主题被 ".$discuz_user." 回复。[/b]
- [b]主题地址:[/b] [url=".$boardurl."viewthread.php?tid=".$thread['tid']."]".$thread['subject']."[/url]
- [b]回复会员:[/b] [url=".$boardurl."viewpro.php?uid=".$discuz_uid."]".$discuz_user."[/url]
- [b]回复时间:[/b] ".gmdate("$dateformat $timeformat", $timestamp + $timeoffset * 3600)."
- [b]回复位置:[/b] [url]".$boardurl."viewthread.php?tid=$tid&pid=$pid&page=".(@ceil(($thread['replies'] + 2) / $ppp))."&extra=$extra#pid".$pid."[/url]
- 为了本社区的更好发展, 请积极回贴. 谢谢您的支持!
- ";
- $checktid = "[NewRe:".$tid."]您发表的主题已有新的回复...";
- //检查是否已有信息报告...
- $likes = "[NewRe:".$tid;
- $query = $db->query("SELECT pmid FROM {$tablepre}pms WHERE subject LIKE '$likes%'");
- //2. 执行短信通知...
- if($seles = $db->fetch_array($query)){
- $db->query("UPDATE {$tablepre}members SET newpm='1' WHERE username='$thread[author]'");
- $db->query("UPDATE {$tablepre}pms SET msgfrom='$discuz_user', msgfromid='$discuz_uid', new='1', dateline='$timestamp', message='$msgnate' WHERE pmid='$seles[pmid]'");
- }else{
- $db->query("UPDATE {$tablepre}members SET newpm='1' WHERE username='$thread[author]'");
- $db->query("INSERT INTO {$tablepre}pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
- VALUES ('$discuz_user', '$discuz_uid', '$thread[authorid]', 'inbox', '1', '$checktid', '$timestamp', '$msgnate')");
- }
- }
- //oytktk end
复制代码
后台,更新缓存...OK..
[ 本帖最后由 oytktk 于 2007-8-24 09:14 编辑 ] |