帝国论坛帝国网站管理系统交流区帝国CMS使用交流[处女贴]会员空间导航栏按投稿权限显示的解决方案 【本版专题贴子】  
 1/2     1 2 ›› ›|
主题:[处女贴]会员空间导航栏按投稿权限显示的解决方案 [加入收藏夹]   

biptyueye
用户头衔:秀才

精华贴   :0
发贴数   :28
经验值   :340
注册时间:2007-09-17
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[处女贴]会员空间导航栏按投稿权限显示的解决方案
功能:
     1、会员空间导航栏显示模型判断
         判断标准:
                  a、该模型下的所有栏目如果都没有开启投稿功能的不显示
                  b、该模型下有任何一个栏目开启了投稿但是该会员空间主人没有权限(空间主人所属会员组的权限小于投稿所需的权限)投稿的不显示
                  c、可以设置例外(就是该栏目开启了投稿另外该空间主任也有权限投稿,但是你不想用这个栏目来作为评判是否显示到导航的标准,则可以把该栏目ID加入到这个例外表)
                  d、去掉用户自助在url参数里面修改了mid参数后不正常的情况(不符合显示条件的模型当用户手动输入url参数访问时提示页面不存在)
     2、修改方法(只修改了个人会员空间模板,企业空间修改方法类似,请自行修改测试)
        打开/e/space/template/default/header.temp.php文件
        重要提醒:修改前请先备份文件,如出现意外情况好还原
        搜索//导航菜单
            找到
//导航菜单
$dhmenu='';
$modsql=$empire->query("select mid,qmname from {$dbtbpre}enewsmod where qenter<>'' order by mid");
while($modr=$empire->fetch($modsql))
{
        $dhmenu.="<td width=70 height=24 onmouseover='ChangeMenuBg(this,mod".$modr[mid].")' onmouseout='ChangeMenuBg2(this,mod".$modr[mid].")' align='center' onclick=\"self.location.href='list.php?userid=$userid&mid=$modr[mid]';\"><font color='#FFFFFF' id='mod".$modr[mid]."'><strong>".$modr[qmname]."</strong></font></td>";
}
?>

            修改为
//导航菜单
$dhmenu='';
$modsql=$empire->query("select mid,qmname from {$dbtbpre}enewsmod where qenter<>'' order by mid");
$userquanxian=$empire->query("select * from {$dbtbpre}enewsmember where userid=".$userid);
$userqx=$empire->fetch($userquanxian);
$userquanxiana=$empire->query("select * from {$dbtbpre}enewsmemberadd where userid=".$userid);
$userqxa=$empire->fetch($userquanxiana);

$usergroupqx=$empire->query("select * from {$dbtbpre}enewsmembergroup where groupid=".$userqx

['groupid']);
$usergroupqxa=$empire->fetch($usergroupqx);
$buxs="39|40|41|60|61";//不参与判断的例外栏目ID(有的栏目开启了投稿权限也有但是不想参与评判是否在空间显

示该类别,请按实例修改为您对应的栏目id)
$tempbxs=explode("|",$buxs);
while($modr=$empire->fetch($modsql))
{

        $classsql=$empire->query("select * from {$dbtbpre}enewsclass where modid=".$modr[mid]." order

by modid");
        $bz=1;
        $tempo=1;
        while($checkqx=$empire->fetch($classsql))
        {
                for($j=0;$j<count($tempbxs);$j++)
                {
                        if($checkqx['classid']==$tempbxs[$j])
                        {
                                $tempo=0;
                        }
                }
                if($tempo==1&&$usergroupqxa['group']>=$checkqx['qaddgroupid']&&$checkqx['openadd']==0)
                {
                        $bz=0;
                }
        }
        if($bz)
        {
                    //printerror("对不起,您所在的用户组没有发布权限","",9,0,1);
        }
        else
        {
                $dhmenu.="<td width=70 height=24 onmouseover='ChangeMenuBg(this,mod".$modr[mid].")' onmouseout='ChangeMenuBg2(this,mod".$modr[mid].")' align='center' onclick=\"self.location.href='list.php?userid=$userid&mid=$modr[mid]';\"><font color='#FFFFFF' id='mod".$modr[mid]."'><strong>".$modr[qmname]."</strong></font></td>";
                $tempdhmenu.=$modr[mid]."|";
        }
}
if($_GET['mid']!="")
{
        $tempstr=explode("|",$tempdhmenu);
        $tmpbz=1;
        for($i=0;$i<count($tempstr);$i++)
        {
                if($_GET['mid']==$tempstr[$i])
                {
                        $tmpbz=0;
                }
        }
        if($tmpbz==1)
        {
                    printerror("对不起,您所访问的页面不存在","",9,0,1);
        }
}
?>

        到此修改结束,上传覆盖即可,本人不懂php,为了做一个站把php学了下,写的代码只为了能实现功能,希望高人能把这个代码完善下!

[该贴被修改 5 次,最后修改时间 2008-10-13 23:02:05 ]
2008-10-13 14:19:16 已设置保密 顶部 回复 引用 报告 编辑 删除

showme
用户头衔:进士

精华贴   :0
发贴数   :1023
经验值   :2779
注册时间:2008-10-13
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]





2008-10-13 14:27:43 已设置保密 顶部 回复 引用 报告 编辑 删除

忘事无忧
用户头衔:探花

精华贴   :0
发贴数   :10350
经验值   :23592
注册时间:2007-12-26
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

支持下,先回后看




2008-10-13 14:28:30 已设置保密 顶部 回复 引用 报告 编辑 删除

biptyueye
用户头衔:秀才

精华贴   :0
发贴数   :28
经验值   :340
注册时间:2007-09-17
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

大家讨论下,会员空间都应该包含些什么功能?要实现企业建站,都应该包括些什么内容?最重要且最应该有的



贵州信息网
2008-10-13 14:37:11 已设置保密 顶部 回复 引用 报告 编辑 删除

這才是王道!
用户头衔:举人

精华贴   :0
发贴数   :546
经验值   :1517
注册时间:2007-12-26
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

代码看长,头得头晕




2008-10-13 14:37:55 已设置保密 顶部 回复 引用 报告 编辑 删除

biptyueye
用户头衔:秀才

精华贴   :0
发贴数   :28
经验值   :340
注册时间:2007-09-17
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

原帖由 這才是王道! 于 2008-10-13 14:37:55 发表
代码看长,头得头晕

呵呵,你要是只需要实现这个功能的话直接复制粘贴就行了,如果有人想帮我优化下这个代码哪是有点难看懂,呵呵,我写代码的习惯不好



贵州信息网
2008-10-13 14:39:21 已设置保密 顶部 回复 引用 报告 编辑 删除

忘事无忧
用户头衔:探花

精华贴   :0
发贴数   :10350
经验值   :23592
注册时间:2007-12-26
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

没试,不过代码看着有点乱




2008-10-13 14:50:10 已设置保密 顶部 回复 引用 报告 编辑 删除

其实我是一个马甲
用户头衔:进士

精华贴   :0
发贴数   :717
经验值   :1943
注册时间:2008-05-26
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

先收藏,此帖必火



如果还有来世的话,我只想当一只贝壳...
2008-10-13 14:54:49 已设置保密 顶部 回复 引用 报告 编辑 删除

這才是王道!
用户头衔:举人

精华贴   :0
发贴数   :546
经验值   :1517
注册时间:2007-12-26
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

原帖由 biptyueye 于 2008-10-13 14:39:21 发表

呵呵,你要是只需要实现这个功能的话直接复制粘贴就行了,如果有人想帮我优化下这个代码哪是有点难看懂,呵呵,我写代码的习惯...

还是谢谢你,先收藏




2008-10-13 14:55:25 已设置保密 顶部 回复 引用 报告 编辑 删除

hicode
用户头衔:版主

精华贴   :1
发贴数   :21646
经验值   :47915
注册时间:2007-07-20
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

标题加色,欢迎大家一起学习跟讨论,这样帝国才会发展得更好




2008-10-13 14:56:34 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/2     1 2 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1