插件发布
插件名称: |
帖子回复短消息通知插件1.0 (for DZ6.0) |
插件来源: |
|
适用版本: |
Discuz! 6.1 |
语言编码: |
GBK简体 |
最后更新时间: |
|
插件作者: |
原创:Oytktk(靖飒) 改进:小朱-001,jillyz,dev168 |
插件简介: |
很多用户在发布了帖子之后,会想知道自己的帖子有没有被回复。本插件专为这个目的而开发。 |
本插件并非dev168(http://www.dev168.com) 首创,而是在”超级新回复短信息通知 for D6.0(https://discuz.dismall.com/viewthread.php?tid=826302&extra=&page=1)”的基础上进行改进。 dev168主要改动了下面4点:
1.后台可以设置是否默认开启短消息通知。
2.为了跟discuz的名称统一,原来文字为”短信”的地方都改为了”短消息”。
3.forumdisplay.php和include/newthread.inc.php在$discuz_action下面已经不需要再增加代码。
4.修改了短消息的标题和短消息是否已存在的检测机制。
我们本打算取名为”超级新回复短信息通知改进版”。后来想想,本插件内已经不再有短信息的字样,
并且我们很可能会根据用户的反映进行改进。所以就取了现在的名字。您可以免费使用此版本,也可以对
它进行改写、传播,但在您改写、传播的过程中请保留此版权说明,谢谢!
“超级新回复短信息通知”相关的3个帖子:
Oytktk(靖飒)[原创 for DZ4.1]:https://discuz.dismall.com/viewthread.php?tid=260271
小朱-001[改进 for DZ5.0]:https://discuz.dismall.com/viewthread.php?tid=421840
jillyz[改进 for DZ6.0]:https://discuz.dismall.com/viewthread.php?tid=826302&extra=&page=1
在此,感谢他们的贡献!
插件使用效果:
1.在后台”基本设置”=>”论坛功能”=>”其它”那里,增加了”默认开启帖子回复短消息通知”的选项,默认为是。
2.在发帖的时候,左下角”选项”中增加了”接收新回复短消息通知”,默认为勾选。
3.为了避免短消息轰炸,在用户的帖子被第一次回复后,系统将产生短消息通知。同一个帖子被第二次回复后,系统不会产生新的短消息通知,而是更改原来的短消息。这样,不管一个帖子被回复了多少次,只有一条短消息通知。
4.回复自己的帖子不会产生短消息通知。
图片展示:
1. 后台
2. 快速发新话题
3. 发新话题
4. 收件箱
5. 消息内容
插件安装过程:
一.后台升级SQL
二.修改下列文件
1、模板文件夹\admincp.lang.php
2、admin\settings.inc.php
3、模板文件夹\ templates.lang.php
4、模板文件夹\forumdisplay.htm
5、模板文件夹\post_editor.htm
6、include/newthread.inc.php
7、include/editpost.inc.php
8、include/newreply.inc.php
三.后台更新缓存
下面详细说明安装过程:
一.后台升级SQL
1、- INSERT INTO `cdb_settings` (`variable` ,`value`) VALUES ('threadmsgnotify', '1');
复制代码 2、- ALTER TABLE `cdb_threads` ADD `msgnotify` INT( 1 ) DEFAULT '1' NOT NULL ;
复制代码 二.修改文件
1、 修改"模板文件夹\admincp.lang.php"
找到:- 'settings_send_birthday' => '发送生日祝福邮件:',
- 'settings_send_birthday_comment' => '批量发送生日祝福邮件给会员。注意: 此功能严重消耗服务器资源,不建议使用',
复制代码 下面加:- 'settings_msg_notify' => '默认开启帖子回复短消息通知:',
- 'settings_msg_notify_comment' => '当帖子被别人回复后,系统发送短消息给发布帖子的人。',
复制代码 2、 修改"admin\settings.inc.php"
找到:- showsetting('settings_send_birthday', 'settingsnew[bdaystatus]', $settings['bdaystatus'], 'radio');
复制代码 下面加:- showsetting('settings_msg_notify', 'settingsnew[threadmsgnotify]', $settings['threadmsgnotify'], 'radio');
复制代码 找到:上面加:- if(isset($settingsnew['threadmsgnotify']))
- {
- $val = $settingsnew['threadmsgnotify'];
- $db->query("alter table {$tablepre}threads change msgnotify msgnotify INT( 1 ) DEFAULT '$val' NOT NULL");
- }
复制代码 3、 修改"模板文件夹\templates.lang.php"
找到:- 'post_email_notify' => '接收新回复邮件通知',
复制代码 下面加:- 'post_msg_notify' => '接收新回复短消息通知',
复制代码 4、 修改"模板文件夹\forumdisplay.htm"
找到:- <p><label><input class="checkbox" type="checkbox" name="usesig" value="1" $usesigcheck /> {lang post_show_sig}</label></p>
复制代码 下面加:- <p><label><input class="checkbox" type="checkbox" name="msgnotify" value="1" <!--{if $_DCACHE['settings']['threadmsgnotify']=='1'}-->checked<!--{/if}-->> {lang post_msg_notify}</label></p>
复制代码 5、 修改"模板文件夹\post_editor.htm"
找到:- <li><label><input type="checkbox" name="usesig" value="1" $usesigcheck> {lang post_show_sig}</label></li>
复制代码 下面加:- <li><label><input class="checkbox" type="checkbox" name="msgnotify" value="1" {$msgcheck}> {lang post_msg_notify}</label></li>
复制代码 6、 修改"include/newthread.inc.php"
找到:下面加:- $msgcheck = $_DCACHE['settings']['threadmsgnotify'] ? 'checked' : '';
复制代码 找到:- displayorder, digest, blog
复制代码 后面加:找到:- $displayorder', '$digest', '$blog'
复制代码 后面加:7、 修改"include/editpost.inc.php"
找到:- $htmloncheck = $postinfo['htmlon'] & 1 ? 'checked="checked"' : '';
复制代码 下面加:- $msgcheck = $thread['msgnotify'] ? 'checked' : '';
复制代码 找到:- subject='$subject', readperm='$readperm'
复制代码 后面加:8、 修改"include/newreply.inc.php"
找到:上面加:- //新回复,论坛短消息通知开始 原代码为:By Oytktk(靖飒) dev168修改了消息标题,消息检测
- if(!empty($thread['msgnotify']) && $discuz_uid && $thread['author'] != $discuz_user){
- //1.定义短信内容...
- $msgnate = "
- 这是由论坛系统自动发送的通知短消息。
- 以下您所发表的主题被 ".$discuz_user." 回复。
- 主题地址: [url=".$boardurl."viewthread.php?tid=".$thread['tid']."]".$thread['subject']."[/url]
- 回复会员: [url=".$boardurl."viewpro.php?uid=".$discuz_uid."]".$discuz_user."[/url]
- 回复时间: ".gmdate("$dateformat $timeformat", $timestamp + $timeoffset * 3600)."
- 回复位置: [url]".$boardurl."viewthread.php?replied=yes&tid=$tid&pid=$pid&page=".(@ceil(($thread['replies'] + 2) / $ppp))."&extra=$extra#pid".$pid."[/url]
- 为了本社区的更好发展, 请积极回贴. 谢谢您的支持!
- ";
-
- $subject = strlen($thread['subject'])>8 ? substr($thread['subject'],0,8)."..." : $thread['subject'];
- $checktid = "[系统消息]"".$subject.""已有新的回复";
- //检查是否已有信息报告...
- $likes = "%replied=yes&tid=".$tid."&pid=%";
-
- $query = $db->query("SELECT pmid FROM {$tablepre}pms WHERE message 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',delstatus='0' 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')");
- }
- }
- //论坛短消息通知结束
复制代码 到此,本插件安装结束。 您只要去后台更新缓存就可以使用了。
本插件的1.5版本已经发布,地址如下:
http://www.dev168.net/viewthread.php?tid=39&extra=page%3D1
[ 本帖最后由 dev168 于 2008-3-23 17:11 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|