discuz设置用户每天回帖数_discuz回贴通知插件实现-显示用户状态设置

一、完善用户是否开启回贴通知

回贴通知插件建立模块时,指定了核心文件post_set.inc.php

1、创立好数据库

建立独立数据表(不建议直接修改原有的discuz数据库,防止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、建立好插件的源码目录,并创建功能模块文件

在discuz目录/source/plugin/下创建以插件唯一标识为名字创建目录。

并建立功能模块文件post_set.inc.php

//判断是否被常规请求

defined('IN_DISCUZ') or die('Access Denied');

//规范当前模块的功能列表

$pluginOpList = array('get', 'set');

//判断操作,如果没有或不在功能列表中则设置一个默认操作

if(!isset($_GET['pluginop']) || !in_array($_GET['pluginop'], $pluginOpList)) {

$_GET['pluginop'] = 'get';

}

3、实现用户回贴通知的设置页面

(1)、获取当前用户的设置状态

使用某个表,需要为表创建一个模型

在我们当前的插件目录下创建table目录,并创建一个table_表名.php的文件。

每个模型也是一个类,继承自discuz核心模型discuz_table。

//判断是否被常规请求

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)));

}

(2)、显示用户的设置状态

discuz会自动的载入插件模板

在当前插件目录下创建template目录,并创建与功能模块文件名一样的.htm文件,

即post_set.htm。

回贴通知

是否开启回贴通知:

checked />开启

checked />关闭

 {lang save}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574174.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++中的数组与指针

数组与指针看起来很像 int a[] {1, 2 ,3}; int *p a; 如此,我们可以p[0], p[1], p[2] 看起来,与直接使用数组名没什么两样,但是看这段代码 sizeof(a) sizeof(p) 你就会知道,原来数组里还隐含了大小信息,这是指针所不能做到的 严格的说,数组是一种内置的数据类型,C标准对这种数…

iic总线从机仲裁_I2C总线的仲裁问题

【问】有网友问关于I2C总线的仲裁问题:The I2C-bus specification的第13页有这样的话:In other words, arbitration isn’t allowed between:* A repeated START condition and a data bit* A STOP condition and a data bit* A repeated START conditio…

jvm 加载class文件过程

jvm 加载class文件分为装载-链接-初始化三个过程。 load -------->link verify prepare resolve ---------->initialize (类加载过程) bootstrap class Loader | | extenstion class loader | | system class Loader | | ----------- user-define user-define…

dvt高危患者的护理措施_dvt的预防及护理

DVT的预防措施高危患者预防深静脉血栓的护理措施一、深静脉血栓的预防对象 1.大手术病人:三类、四类手术病人。 2.高危患者:①年龄≥41 岁;②肥胖;③妊娠;④盆腔手术或关节置 换手术;⑤急诊剖腹产手术&…

java环境配置—配置Tomcat8环境

先安装JDK,配置好jdk环境后再配置Tomcat 8配置环境变量:TOMCAT_HOME:D:\Program Files\apache-tomcat-8.0.28  CATALINA_HOME:D:\Program Files\apache-tomcat-8.0.28  CATALINA_BASE:D:\Program Files\apache-tomcat-8.0.28修改CLASSPAT…

加密解密_作业-加密解密程序

# 加密解密程序作业:自己写一个加密程序,能够加密的内容是英文和汉字。同时加密并且解密就是说,一段话中既有中文又有英文,标点符号不用处理。加密规则,获取ascii码数字,中间用|分割# 思路提示:…

详解Objective-C中委托和协议

Objective-C委托和协议本没有任何关系,协议如前所述,就是起到C中纯虚类的作用,对于“委托”则和协议没有关系,只是我们经常利用协议还实现委托的机制,其实不用协议也完全可以实现委托。 AD:【活动】Web和AP…

svn拉取文件合并_SVN分支(branches)合并(merge)到主干(trunk)和拉取分支(tag)

在一个团队协作且不断迭代更新的项目开发中,经常会使用到svn的一些分支主干的方法,这样的好处是使得各个版本之间可独立开发,大多数情况下是branch分支主要用来开发新的功能和版本迭代,主干上面及时快速的修复线上的一些bug和优化…

Unable to load native-hadoop library解决思路

最近试着搭建Hadoop,我使用的操作系统是Centos6.5,Hadoop版本是2.6.0。 在安装过程中总是出现:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable。 解决…

ios13苹方字体ttf_字体 | iOS1013 SF Compact Rounded 英文 By alex

最近沉迷游戏,差点忘记了这个英文。嗨呀,问就是在玩了,啊不,在做了。这个英文来自推特alexman,原版包含100和85大小,本次分享新增到了100-60,每5%一个大小。gzh分享已经获得alex授权&#xff0c…

Rust 中的继承与代码复用

Rust 中的继承与代码复用 在学习Rust过程中突然想到怎么实现继承,特别是用于代码复用的继承,于是在网上查了查,发现不是那么简单的。 C的继承 首先看看c中是如何做的。 例如要做一个场景结点的Node类和一个Sprite类继承它。 定义一个node基类…

怎么将自己的头像p到特定的背景图_【后期修图】photoshop手把手教你制作属于自己的酷炫的微信头像...

原标题:【后期修图】photoshop手把手教你制作属于自己的酷炫的微信头像效果图先放上1.新建一个白色的背景,这里是1080*720的。然后在图层面板下面单击创建新的调整图层/渐变,设 置 好渐变参数:黑白渐变,径向&#xff0…

10双屏鼠标过不去_灵耀X2 Duo双屏笔记本是怎样“炼”成的?对话华硕笔记本设计团队...

2020年的CES上,华硕推出了一款灵耀X2 Duo笔记本,灵耀X2 Duo采用了和灵耀X2 Pro相同的屏幕技术,C面同样采用了一块ScreenPad Plus副屏,机身也更轻更薄。如今灵耀X2 Duo的处理器升级至英特尔第十代酷睿,正在参与“618”大…

powershell加win的dns服务器,解决网站负载均衡问题

用我发明的powershell填坑法,加windows的dns服务器。从调整dns服务器解析ip时间段的角度,解决网站负载均衡问题。 ------------------------win2012r2中,用powershell管理dns服务器的,命令列表-------------------------------- 共…

csv python 只写一次_在Python CSV Writer循环中写入一次头

下面是一个scraper,它遍历两个网站,获取团队的花名册信息,将信息放入一个数组中,然后将数组导出到CSV文件中。一切都很好,但唯一的问题是每次scraper移动到第二个网站时,csv文件中的writerow头会重复出现。…

理解 OpenStack 高可用(HA) (6): MySQL HA

本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)Neu…

聚类中心坐标公式如何使用_如何使用CAD看图软件来测量坐标?

当我们在拿到图纸的时候,经常会需要使用测量工具,再次测量dwg图纸上的数据。浩辰CAD看图王软件,不仅可以看图,也可以编辑图纸,测量功能更是很方便,当我们在测量的时候,如何测量图纸上点的坐标呢…

linunx 定位最耗资源的进程

[oracletopbox bdump]$ ps -ef|grep “(LOCALNO)”|sort -rn -k 8,8|head -10oracle 9402 1 67 09:18 ? 00:43:09 oracletopbox (LOCALNO)oracle 15524 12159 0 10:21 pts/2 00:00:00 grep (LOCALNO)oracle 15519 1 0 10:20 ? 00:00:00 or…

德利捷读码器设置软件_S7-1500PLC+变频器+编码器组成位置控制系统

PLC学习中组成部分:位置控制、力矩控制、惯量控制。位置控制模式S7-1500 的运动控制功能支持轴的定位和移动,是 S7-1500 系列 CPU 众多集成功能中的重要组成部分。运动控制功能支持旋转轴、定位轴、同步轴和外部编码器等工艺对象。根据PLC-Open&#xff…

解决 c3p0 和 MySQL 集成情况下,连接长时间闲置后重新使用时报错的问题

MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断开的连接依然有效。在这种情况下,如果客户端代码向 c3p0 连接池请求连接的话,连接池就会把已经失效的连接返回给…