discuz回贴通知插件实现-显示用户状态设置
create table 前缀_模块_逻辑表名 (
`uid` mediumint(8) unsigned NOT NULL,
`isnotice` tinyint not null default 0 comment '0关闭,1开启',
primary key (`uid`)
)engine=myisam charset=utf8;
2、建立好插件的源码目录,并创建功能模块文件
<?php //判断是否被常规请求
defined('IN_DISCUZ') or die('Access Denied'); //规范当前模块的功能列表
$pluginOpList = array('get', 'set'); //判断操作,如果没有或不在功能列表中则设置一个默认操作
if(!isset($_GET['pluginop']) || !in_array($_GET['pluginop'], $pluginOpList)) {
$_GET['pluginop'] = 'get';
}

<?php //判断是否被常规请求
defined('IN_DISCUZ') or die('Access Denied'); class table_forum_post_notice extends discuz_table { //构造方法中,指明表,主键字段,和调用父类构造方法
public function __construct() {
$this->_table = 'forum_post_notice';
$this->_pk = 'uid'; parent::__construct();
}
}
利用模型的方法,获取用户的设置状态
if($_GET['pluginop'] == 'get') {
//获取插件下的某个模型
$mForumPostNotice = C::t('#post_notice#forum_post_notice');
//获取某用户的设置状态
$isNotice = $mForumPostNotice->getNoticeState($_G['uid']);
}
public function getNoticeState($uid = 0) {
if($uid == 0) return 0;
//使用discuz的dao类,discuz_database,完成数据库操作
//DB类继承自discuz_database类,在class_core.php文件中
$sql = "SELECT isnotice FROM `%t` WHERE `uid`=%d";
return intval(DB::result_first($sql, array($this->_table, $uid)));
}
<div>
<form method="post" autocomplete="off" action="home.php?mod=spacecp&ac=plugin&id=post_notice:post_set&pluginop=set">
<p class="tbmu mbm">回贴通知</p>
<table cellspacing="0" cellpadding="0" class="tfm">
<tr>
<th>是否开启回贴通知:</th>
<td>
<input type="radio" name="isNotice" value="1" <!--{if $isNotice==1}-->checked<!--{/if}--> />开启
<input type="radio" name="isNotice" value="0" <!--{if $isNotice==0}-->checked<!--{/if}--> />关闭
</td>
</tr>
<tr>
<th> </th>
<td><button type="submit" name="privacysubmit" value="true" class="pn pnc" /><strong>{lang save}</strong></button></td>
</tr>
</table>
</form>
</div>
discuz回贴通知插件实现-显示用户状态设置的更多相关文章
- discuz回贴通知插件实现-页面嵌入点(钩子)
1.如何保证主题被回复时业务代码被执行. 2.获得主题,主题发布者,贴子等信息. 3.discuz发送email邮件. discuz使用嵌入点(钩子)来处理代码的执行时机. 当用户开启插件开发者模 ...
- discuz回贴通知插件实现-获取邮件内容
//自定义钩子函数,命名:模块_函数名_output()或模块_函数名() //一个是模块执行完,模板输出前执行.一个是模块执行前 //post_reply_output函数会在所有post操作中都会 ...
- discuz回贴通知插件实现-插件的多语言
如果涉及到页面的展示,模板,提示信息,通常会 1.建立好需要的文字的翻译 在disucz的data/plugindata目录创建一个插件所使用的语言文件,命名方式为: 插件标识符.lang.php ...
- discuz回贴通知插件实现-用户状态设置
1.获取用户提交数据 discuz通过$_GET来获取全部数据,包括($_GET,$_POST). else if($_GET['pluginop'] == 'set') { //获取用户提交数据 $ ...
- discuz回贴通知插件实现-插件后台管理配置
1.登出discuz后台,再次设计插件 2.使用变量
- discuz回贴通知插件实现-发送邮件
通过discuz的sendmail()来发送邮件 //引入发送邮件的函数文件 include libfile('function/mail'); //设置收件人地址,标题,内容发送邮件 sendmai ...
- discuz回贴通知插件实现-配置邮件服务器
添加smtp服务器,填写相应的smtp服务器,发信人地址,用户名和密码. 填写发件人地址和收件人地址来测试邮件是否发送成功.
- discuz目录结构和插件创建
discuz目录结构 api 外部接口功能实现 archiver 静态文档,静态化所用 config 配置 data 生成的数据 install 安装目录 source 源代码核心目录 |--modu ...
- noty – jQuery通知插件
noty是一个jQuery的通知(信息提示)插件,灵活轻便,是一个非常棒的用于替代传统提示对话框的插件. 当前最新版本为2.1.0: 从https://github.com/needim/noty 可 ...
随机推荐
- 文件读操作(IO编程)
将文件中的数据读入程序,是将程序外部的数据传入程序中,应该使用输入流——InputStream或Reader.而由于读取的是特定的数据源——文件,则可以使用输入对应的子类FileInputStream ...
- MySQL数据库InnoDB存储引擎
MySQL数据库InnoDB存储引擎Log漫游 http://blog.163.com/zihuan_xuan/blog/static/1287942432012366293667/
- php 编程笔记分享 - 非常实用
php opendir()列出目录下所有文件的两个实例 php opendir()函数讲解及遍历目录实例 php move_uploaded_file()上传文件实例及遇到问题的解决方法 php使用m ...
- 理解prototype
从别人的博客里面盗了2张图,这2张图将对象/实例/prototype/__proto__/constructor之间的关系描绘的很清楚. 1.prototype 为 function的属性,实例化的对 ...
- BFC概念及应用
定义 块级格式化上下文 特性 1.内部box在垂直方向,一个接一个放置 2.box垂直方向的间距由margin决定 属于同一个BFC的相邻box的margin会发生重叠(外边距重叠) ...
- Flask 进阶二
flask中的路由系统: endpoint:反向url地址,默认为视图函数名(url_for). from flask import Flask,url_for app = Flask(__name_ ...
- BDE 退出历史 迁移至FireDAC
BDE组件套TQuery\TTable\TStoreProce结束历时使命. ADO组件套也停止更新, 将来是FireDAC组件套的江湖 Migrating BDE Applications to F ...
- as3 单例的不常见写法
方法一:(显式允许new一次) package { import flash.errors.IllegalOperationError; import flash.events.EventDispat ...
- 多媒体基础知识之PCM数据
1.什么是PCM音频数据 PCM(Pulse Code Modulation)也被称为脉冲编码调制.PCM音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样.量化.编码转换成的标准的数字音频 ...
- JetBrains产品永久破解
吃水不忘挖井人,本博客转自:https://www.cnblogs.com/jyiqing/p/7699649.html 目的: 本人使用idea和webstorm进行开发,无奈正版实在是太贵了,只能 ...