【插件资讯】插件名称:密码锁文
适用版本:7.0
语言编码:UTF-8
插件作者:小修改:香吉士
版权所属:小修改:香吉士
原帖连结:
http://www.alan888.com/Discuz/...-1-11.html###支持网站:演示:
http://allen.ncc.to/viewthread.php?tid=95【插件说明】功能说明:
支持任意密码及答案.
支持回答正确后,第二次访问不必再次验证.
支持用户权限.
支持普通主题无影响.
良好的前台显示.
这功能同样可以引入到discuz上来.现在让我们一起来感受一下比较实用的信息密码吧.
成功图:
第一步viewthread.php
查找:
复制程式
while($post = $sdb->fetch_array($query)) {
在它的下一行增加:
复制程式
$user = array();
$on = $passstr = $ons = null;
if($post['first']==1 && strpos($post['message'],'[pass=')!==false && $on === null){
preg_match('/\[pass=(.*)\](.*)\[\/pass\]/isU',$post['message'],$passstr);
preg_match('/\[user\](.*)\[\/user\]/isU',$post['message'],$user);
unset($user[0]);
if(isset($user[1])){
$user = explode(',',$user[1]);
}else {
$user = array();
}
count($passstr)!==3 && $ons = 1;
//让游客永远为假.
isset($discuz_uid)===false && $ons = 3;
if($ons === null && in_array($discuz_uid,$user)===false && isset($passs)){
$passs === $passstr[2] && $ons = 2;
if($ons === 2){
$user[] =$discuz_uid;
$user = implode(',',$user);
$post['message'] = strtr($post['message'],array('[/pass]'=>"[/pass][user]{$user}[/user]"));
$db->query("UPDATE `{$tablepre}posts` SET `message` = '{$post['message']}' WHERE `pid` = '{$post['pid']}'");
}else {
showmessage('你的密码错误,请重新输入',dreferer());
}
}elseif (in_array($discuz_uid,$user)===false || $ons === 3) {
$post['htmlon'] = 1;
$post['message'] = '<br /><br /><br />
<form action="viewthread.php?tid='.$tid.'" enctype="application/x-www-form-urlencoded" method="post">
<ul style="border:1px solid #FC3; background-color:#F3F9E6;padding:8px;">
<li style="list-style:none; color:red">信息: '.$passstr[1].'</li>
<li style="list-style:none;"><input name="passs" type="text" value="请输入密码" onclick="this.value=\'\';this.onclick=\'\'" /><input type="submit" value="确认密码" /></li>
<li style="list-style:none;color:#06F; font-size:12px;">提示: 只有输入用户所设置的密码,才可查看用户的主题内容</li>
</ul></form>';
}
//最后将部分内容清除:
$post['message'] = preg_replace(array('/\[pass=.*\].*\[\/pass\]/isU','/\[user\].*\[\/user\]/isU'),'',$post['message']);
}
进入后台>>界面>>编辑器设置>>discuz代码
标签:
复制程式
替换内容:
复制程式
[pass=1]{1}[pass][pass=2]{2}[pass]
例子:
复制程式
解释:
复制程式
参数个数:
复制程式
参数提示语:
复制程式
嵌套次数: 2
图标:我自己做的,不喜欢可以自己做不要用我的