一、完善用户是否开启回贴通知
回贴通知插件建立模块时,指定了核心文件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
<?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。
<?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)));
}
(2)、显示用户的设置状态
discuz会自动的载入插件模板
在当前插件目录下创建template目录,并创建与功能模块文件名一样的.htm文件,
即post_set.htm。
<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>
© 版权声明
1. 资源都是经过站长或作者收集测试修改后发布分享。如若转载请在文内以超链形式注明狐狸库文章出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
THE END
请登录后查看评论内容