Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] "超级新回复短信息通知" for D5

[复制链接]
小朱-001 发表于 2006-10-9 00:03:16 | 显示全部楼层 |阅读模式
原贴
超级新回复短信息通知 For 4.10 By Oytktk(靖飒)
https://discuz.dismall.com/viewthread.php?tid=260271

我只是修改为for D5 。非常感谢原作者提供了此创意与思路。

演示:http://www.yk518.com/bbs/index.php


[发布编号]:靖字     第:0005

[插件名称]:超级新回复短信息通知

[适用版本]:DISCUZ! 5.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中已经安装过此插件, 这步升级语句跳过):
  1. ALTER TABLE `cdb_threads` ADD `msgnotify` INT( 1 ) NOT NULL ;
复制代码

原贴中是这样的。
这句语句有个不足之处,那就是在安装此插件的贴子,没有“新回复短信通知”功能。
所以,我是改用:(默认值为“1”)(上面那句升级语句不用)
  1. ALTER TABLE `cdb_threads` ADD `msgnotify` INT( 1 ) DEFAULT '1' NOT NULL ;
复制代码

再把msgnotify默认值改“0”:
  1. ALTER TABLE `cdb_threads` CHANGE `msgnotify` `msgnotify` INT( 1 ) DEFAULT '0' NOT NULL ;
复制代码


2.模板文件夹\post_newthread.htm

查找:
  1. <input class="checkbox" type="checkbox" name="usesig" value="1" $usesigcheck> {lang post_show_sig}<br>
复制代码

下面加
  1. <input class="checkbox" type="checkbox" name="msgnotify" value="1" $msgcheck> {lang post_msg_notify}<br>
复制代码


3.模板文件夹\post_editpost.htm

查找:
  1. <input class="checkbox" type="checkbox" name="usesig" value="1" $usesigcheck> {lang post_show_sig}<br>
复制代码


下面加:
  1. <!--{if $thread[dateline]==$postinfo[dateline]}--><input class="checkbox" type="checkbox" name="msgnotify" value="1" $msgcheck> {lang post_msg_notify}<br><!--{/if}-->
复制代码


4.模板文件夹\forumdisplay.htm

查找:
  1. <input class="checkbox" type="checkbox" name="usesig" value="1" $usesigcheck> {lang post_show_sig}<br>
复制代码


下面加:
  1. <input class="checkbox" type="checkbox" name="msgnotify" value="1" $msgcheck> {lang post_msg_notify}<br>
复制代码


5.模板文件夹\templates.lang.php

查找:
  1. 'post_email_notify' => '接收新回复邮件通知',
复制代码


下面加:
  1. 'post_msg_notify' => '接收新回复短信通知',
复制代码


6.forumdisplay.php
查找:
  1. $discuz_action = 2;
复制代码


下面加:
  1. $msgcheck = 1; //默认情况下, 是否打开短信通知的功能(0=关闭)...
  2. $msgcheck = $msgcheck ? 'checked' : NULL;
复制代码


7.include/newthread.inc.php

查找:
  1. $discuz_action = 11;
复制代码


下面加:
  1. $msgcheck = 1; //默认情况下, 是否打开短信通知的功能(0=关闭)...
  2. $msgcheck = $msgcheck ? 'checked' : NULL;
复制代码


查找:
  1. displayorder, digest, blog
复制代码


后面加:
  1. , msgnotify
复制代码


继续找:
'
  1. $displayorder', '$digest', '$blog'
复制代码


后面加:
  1. , '$msgnotify'
复制代码


8.include/editpost.inc.php

查找:
  1. $htmloncheck = $postinfo['htmlon'] ? 'checked' : '';
复制代码


下面加:
  1. $msgcheck =  $thread['msgnotify'] ? 'checked' : '';
复制代码


查找:
  1. subject='$subject', readperm='$readperm'
复制代码


后面加:
  1. , msgnotify='$msgnotify'
复制代码


9.include/newreply.inc.php

查找:
  1. if($modnewreplies) {
复制代码


上面加:
  1.         //新回复,论坛短信通知 By Oytktk(靖飒)
  2.         if(!empty($thread['msgnotify']) && $discuz_uid && $thread['author'] != $discuz_user){
  3.                 //1.定义短信内容...
  4.                 $msgnate = "
  5. 这是由论坛系统自动发送的通知短消息。

  6. [b]以下您所发表的主题被 ".$discuz_user." 回复。[/b]

  7. [b]主题地址:[/b] [url=".$boardurl."viewthread.php?tid=".$thread['tid']."]".$thread['subject']."[/url]
  8. [b]回复会员:[/b] [url=".$boardurl."viewpro.php?uid=".$discuz_uid."]".$discuz_user."[/url]
  9. [b]回复时间:[/b] ".gmdate("$dateformat $timeformat", $timestamp + $timeoffset * 3600)."
  10. [b]回复位置:[/b] [url]".$boardurl."viewthread.php?tid=$tid&pid=$pid&page=".(@ceil(($thread['replies'] + 2) / $ppp))."&extra=$extra#pid".$pid."[/url]

  11. 为了本社区的更好发展, 请积极回贴. 谢谢您的支持!

  12. ";
  13.         $checktid = "[NewRe:".$tid."]您发表的主题已有新的回复...";

  14.         //检查是否已有信息报告...
  15.         $likes = "[NewRe:".$tid;
  16.         $query = $db->query("SELECT pmid FROM {$tablepre}pms WHERE subject LIKE '$likes%'");
  17.         //2. 执行短信通知...
  18.         if($seles = $db->fetch_array($query)){
  19.                 $db->query("UPDATE {$tablepre}members SET newpm='1' WHERE username='$thread[author]'");
  20.                 $db->query("UPDATE {$tablepre}pms SET msgfrom='$discuz_user', msgfromid='$discuz_uid', new='1', dateline='$timestamp', message='$msgnate' WHERE pmid='$seles[pmid]'");
  21.         }else{
  22.                 $db->query("UPDATE {$tablepre}members SET newpm='1' WHERE username='$thread[author]'");
  23.                 $db->query("INSERT INTO {$tablepre}pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
  24.                                                                         VALUES ('$discuz_user', '$discuz_uid', '$thread[authorid]', 'inbox', '1', '$checktid', '$timestamp', '$msgnate')");
  25.         }
  26.         }
  27.         //oytktk end
复制代码

10.后台,更新缓存...OK..

[ 本帖最后由 小朱-001 于 2006-10-10 11:04 编辑 ]
iamh2 发表于 2006-10-9 00:16:34 | 显示全部楼层
555,楼主真好,我等了很久很久了。
回复

使用道具 举报

 楼主| 小朱-001 发表于 2006-10-9 00:31:48 | 显示全部楼层

回复 #2 iamh2 的帖子

我也是等了好久看没人放出来,我才自己去搞的。想不到一搞就搞定了,呵,所以放出来与大家共享。
谢谢回复!
回复

使用道具 举报

e_zailai 发表于 2006-10-9 07:35:27 | 显示全部楼层
楼主真好
回复

使用道具 举报

o℃的浪漫 发表于 2006-10-9 07:49:26 | 显示全部楼层
:) :) :)
回复

使用道具 举报

ndren 发表于 2006-10-9 08:03:56 | 显示全部楼层
哈,太帅了,终于出来了,感谢啊。。。
回复

使用道具 举报

 楼主| 小朱-001 发表于 2006-10-9 11:05:56 | 显示全部楼层
哈,谁说我们菜鸟只下载不回复了?看到你们的回复和支持,真是开心!
其实,我也只是一只菜鸟。
回复

使用道具 举报

cody86 发表于 2006-10-9 11:13:11 | 显示全部楼层
等你好久了..!
开心到哭了
回复

使用道具 举报

cody86 发表于 2006-10-9 11:14:59 | 显示全部楼层
第一步不是很懂..

升级错误,MySQL 提示: Duplicate column name 'msgnotify'

[ 本帖最后由 cody86 于 2006-10-9 11:38 编辑 ]
回复

使用道具 举报

发表于 2006-10-9 11:21:07 | 显示全部楼层
看看,不
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 10:28 , Processed in 0.031586 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表