//==================================
插件名称:完全模仿D4的无权限友好提示区域
插件作者:大C,faclon
功能描述:进入无权限区域时友好提示,完全模仿D4。
适应版本:Discuz 2.5 sp1
安装难易:简单
效率影响:极小
资源占用:极小
修改文件:include/global.php、forumdisplay.php、pm.php、post.php、search.php、viewthread.php、templates/default/templates.lang.php
后台管理:无
//==================================
一、include/global.php
查找
- function showmessage($show_message, $url_forward = '', $extra = '') {
- extract($GLOBALS, EXTR_SKIP);
- $GLOBALS['discuz_action'] = $extra == 'HALTED' ? 254 : 255;
- @include_once language('messages');
- $plugins_languagepack = DISCUZ_ROOT.'./plugins/plugin.lang.php';
- if(file_exists($plugins_languagepack)) {
- include_once $plugins_languagepack;
- if (count($msglang)){
- $language = array_merge($language,$msglang);
- }
- }
- unset($plugins_languagepack);
- if(isset($language[$show_message])) {
- eval("\$show_message = "".$language[$show_message]."";");
- }
- $url_redirect = $url_forward ? '<meta http-equiv="refresh" content="2;url='.transsid($url_forward).'">' : NULL;
- // 如果您想要使用提示信息快速跳转页面,请将下面语句中的
- // 'showmessage' 修改为 'quickmessage'
- include template('showmessage');
- dexit();
- }
复制代码
替换成
- //仿D4的无权限友好提示
- function showmessage($show_message, $url_forward = '', $extra = '') {
- extract($GLOBALS, EXTR_SKIP);
- global $discuz_action, $debuginfo;
- $discuz_action = in_array($extra, array('HALTED', 'NOPERM')) ? 254 : 255;
- include language('messages');
- $plugins_languagepack = DISCUZ_ROOT.'./plugins/plugin.lang.php';
- if(file_exists($plugins_languagepack)) {
- include_once $plugins_languagepack;
- if (count($msglang)){
- $language = array_merge($language,$msglang);
- }
- }
- unset($plugins_languagepack);
- if(isset($language[$show_message])) {
- eval("\$show_message = "".$language[$show_message]."";");
- }
- $url_redirect = $url_forward ? '<meta http-equiv="refresh" content="3;url='.
- (empty($_DCOOKIE['sid']) && $transsidstatus ? transsid($url_forward) : $url_forward).
- '">' : NULL;
- // 如果您想要使用提示信息快速跳转页面,请将下面语句中的
- // 'showmessage' 修改为 'quickmessage'
- include template($extra == 'NOPERM' ? 'nopermission' : 'showmessage');
- dexit();
- }
- //
复制代码
二、forumdisplay.php
查找
- showmessage('forum_nopermission', NULL, 'HALTED');
复制代码
替换成
- showmessage('forum_nopermission', NULL, 'NOPERM');
复制代码
三、pm.php
查找
- showmessage('group_nopermission', NULL, 'HALTED');
复制代码
替换成
- showmessage('group_nopermission', NULL, 'NOPERM');
复制代码
四、post.php
查找
- showmessage('group_nopermission', NULL, 'HALTED');
复制代码
替换成
- showmessage('group_nopermission', NULL, 'NOPERM');
复制代码
查找
- showmessage('forum_nopermission', NULL, 'HALTED');
复制代码
替换成
- showmessage('forum_nopermission', NULL, 'NOPERM');
复制代码
查找
- showmessage('thread_nopermission', NULL, 'HALTED');
复制代码
替换成
- showmessage('thread_nopermission', NULL, 'NOPERM');
复制代码
五、search.php里面的跳转是修改好的,疑惑中
不用修改了!!!
六、viewthread.php
查找
- showmessage('group_nopermission', NULL, 'HALTED');
复制代码
替换成
- showmessage('group_nopermission', NULL, 'NOPERM');
复制代码
查找
- showmessage('forum_nopermission', NULL, 'HALTED');
复制代码
替换成
- showmessage('forum_nopermission', NULL, 'NOPERM');
复制代码
查找
- showmessage('thread_nopermission', NULL, 'HALTED');
复制代码
替换成
- showmessage('thread_nopermission', NULL, 'NOPERM');
复制代码
七、templates/default/templates.lang.php
查找
- 'pm_sendinfo' => '大于10并小于10000字节。',
复制代码
下面添加
- 'nopermission' => '您无权进行当前操作,这可能因以下原因之一造成:',
- 'nopermission_no_loggedin' => '您还没有登录,请填写下面的登录表单后再尝试访问。',
- 'nopermission_loggedin' => '您已经登录,但您的账号或其所在的用户组无权访问当前页面。',
复制代码
最后请将附件1命名为nopermission.htm放到templates/default/目录中,完成!
祝你成功!!
[ 本帖最后由 freddy 于 2005-9-4 14:35 编辑 ] |