diff --git a/e/action/ListInfo.php b/e/action/ListInfo.php index a47d4df..0184b15 100644 --- a/e/action/ListInfo.php +++ b/e/action/ListInfo.php @@ -64,29 +64,29 @@ if($classid) $add.=' and '.ReturnClass($class_r[$trueclassid][sonclass]); } $cr=$empire->fetch1("select classpagekey,intro,classimg,cgroupid,companygroupid from {$dbtbpre}enewsclass where classid='$trueclassid'"); - $isCompany = 0; - if($cr['companygroupid']) - { - $userId= (int)$_COOKIE['lsfmomluserid']; - $usergroupid = 0; - if($userId){ - $ccompany=$empire->fetch1("SELECT id FROM www_moban5_cn_ecms_companys WHERE title IN (SELECT company FROM www_moban5_cn_enewsmemberadd WHERE userid='{$userId}')"); - if($ccompany){ - $usergroupid = $ccompany['id']; - } - }else{ - Header("Location:/e/member/login/");; - } - - if(!in_array($usergroupid,explode(",",$cr[companygroupid]))) - { - printerror('NotLevelToClass2','history.go(-1)',1); - }else{ - $isCompany = 1; - } - } - //权限 - if($cr['cgroupid'] && !$isCompany) +// $isCompany = 0; +// if($cr['companygroupid']) +// { +// $userId= (int)$_COOKIE['lsfmomluserid']; +// $usergroupid = 0; +// if($userId){ +// $ccompany=$empire->fetch1("SELECT id FROM www_moban5_cn_ecms_companys WHERE title IN (SELECT company FROM www_moban5_cn_enewsmemberadd WHERE userid='{$userId}')"); +// if($ccompany){ +// $usergroupid = $ccompany['id']; +// } +// }else{ +// Header("Location:/e/member/login/");; +// } +// +// if(!in_array($usergroupid,explode(",",$cr[companygroupid]))) +// { +// printerror('NotLevelToClass2','history.go(-1)',1); +// }else{ +// $isCompany = 1; +// } +// } + //权限 && !$isCompany + if($cr['cgroupid'] ) { $mgroupid=(int)getcvar('mlgroupid'); if(!strstr($cr[cgroupid],','.$mgroupid.',')) diff --git a/e/action/ShowInfo.php b/e/action/ShowInfo.php index 852ef3d..1ec87ab 100644 --- a/e/action/ShowInfo.php +++ b/e/action/ShowInfo.php @@ -14,6 +14,7 @@ $page=(int)$_GET['page']; $page=RepPIntvar($page); $mid=$class_r[$classid]['modid']; $tbname=$class_r[$classid]['tbname']; + //验证IP eCheckAccessDoIp('showinfo'); if(!$classid||!$id||!$mid||!$tbname||InfoIsInTable($tbname)) @@ -88,12 +89,56 @@ if($ecms_tofunr['cacheopen']==1&&!($r['groupid']||$class_r[$classid]['cgtoinfo'] $finfor=$empire->fetch1("select ".ReturnSqlFtextF($mid)." from {$dbtbpre}ecms_".$tbname."_data_".$r['stb']." where id='$r[id]' limit 1"); $r=array_merge($r,$finfor); -$cr=$empire->fetch1("select classpagekey,intro,classimg,cgroupid,companygroupid from {$dbtbpre}enewsclass where classid='$classid'"); +$cr=$empire->fetch1("select classpagekey,intro,classimg,cgroupid,companygroupid,isopen from {$dbtbpre}enewsclass where classid='$classid'"); $isCompany = 0; -if($cr['companygroupid']) + +function getpid($class_r,$id){ + + $pid = 0 ; + foreach ($class_r as $item){ + if($item['classid'] == $class_r[$id]['bclassid']){ + + $pid = $item['classid']; + break; + } + } + return $pid; +} + +if(!$cr['isopen']) { $userId= (int)$_COOKIE['lsfmomluserid']; + $all_ids = [$classid]; + //获取所有父级菜单 + $pid_1 = getpid($class_r,$classid); + if($pid_1>0){ + $all_ids[] = $pid_1; + $pid_2 = getpid($class_r,$pid_1); + if($pid_2>0){ + $all_ids[] = $pid_2; + $pid_3 = getpid($class_r,$pid_2); + if($pid_3>0){ + $all_ids[] = $pid_3; + $pid_4 = getpid($class_r,$pid_3); + if($pid_4>0){ + $all_ids[] = $pid_4; + $pid_5 = getpid($class_r,$pid_4); + if($pid_5>0){ + $all_ids[] = $pid_5; + } + } + } + } + } + + $companygroupids = []; + $lt_sql=$empire->query("select companygroupid from {$dbtbpre}enewsclass where companygroupid!='' and companygroupid is not null and classid in (".implode(',',$all_ids).") "); + while($lt_r=$empire->fetch($lt_sql)) + { + $companygroupids = array_merge($companygroupids,explode(',',$lt_r['companygroupid'])); + } + $usergroupid = 0; if($userId){ $ccompany=$empire->fetch1("SELECT id FROM www_moban5_cn_ecms_companys WHERE title IN (SELECT company FROM www_moban5_cn_enewsmemberadd WHERE userid='{$userId}')"); diff --git a/e/admin-moban5/AddClass.php b/e/admin-moban5/AddClass.php index 4af406f..c751e81 100644 --- a/e/admin-moban5/AddClass.php +++ b/e/admin-moban5/AddClass.php @@ -966,6 +966,12 @@ tb1 = new WebFXTabPane( document.getElementById( "TabPane1" ) ); + +   + > + 访问权限应用于信息(选择后信息的查看权限可以不设置) + + 授权机构 @@ -976,12 +982,12 @@ tb1 = new WebFXTabPane( document.getElementById( "TabPane1" ) );

- -   - > - 访问权限应用于信息(选择后信息的查看权限可以不设置) - - + + +   + >所有用户可看(选择后可以不设置授权机构) + + diff --git a/e/admin-moban5/class/classfun.php b/e/admin-moban5/class/classfun.php index 458ed67..8bb6481 100644 --- a/e/admin-moban5/class/classfun.php +++ b/e/admin-moban5/class/classfun.php @@ -1353,6 +1353,7 @@ function DoPostClassVar($add){ $add[qaddlist]=(int)$add[qaddlist]; $add[qaddgroupid]= DoPostClassQAddGroupid($add[qaddgroupidck]); $add[companygroupid] = $add[companygroupid]; + $add[isopen] = $add[isopen]; if(!$add[qaddgroupid]) { $add[addinfofen]=0; @@ -2745,6 +2746,10 @@ function SetMoreClass($add,$userid,$username){ { $seting.=",companygroupid='$add[companygroupid]'"; } + if($add['isopen']) + { + $seting.=",isopen='$add[isopen]'"; + } if($add['doqaddgroupid']) { diff --git a/e/class/classfun.php b/e/class/classfun.php index e7d7302..042e631 100644 --- a/e/class/classfun.php +++ b/e/class/classfun.php @@ -1989,7 +1989,7 @@ function EditClass($add,$userid,$username){ $empire->query("update {$dbtbpre}enewsclass set wapstyleid='$add[wapstyleid]' where featherclass like '%|".$add[classid]."|%'"); } //修改数据库资料 - $sql=$empire->query("update {$dbtbpre}enewsclass set classname='$add[classname]',classpath='$classpath',classtype='$add[classtype]',newline=$add[newline],hotline=$add[hotline],goodline=$add[goodline],classurl='$add[classurl]',groupid=$add[groupid],myorder=$add[myorder],filename_qz='$add[filename_qz]',hotplline=$add[hotplline],modid=$add[modid],checked=$add[checked],firstline=$add[firstline],bname='$add[bname]',islist=$add[islist],listtempid=$add[listtempid],lencord=$add[lencord],searchtempid=$add[searchtempid],tid=$tabler[tid],tbname='$tabler[tbname]',maxnum=$add[maxnum],checkpl=$add[checkpl],down_num=$add[down_num],online_num=$add[online_num],listorder='$add[listorder]',reorder='$add[reorder]',intro='$add[intro]',classimg='$add[classimg]',jstempid=$add[jstempid],listdt=$add[listdt],showclass=$add[showclass],showdt=$add[showdt],qaddgroupid='$add[qaddgroupid]',qaddshowkey=$add[qaddshowkey],adminqinfo=$add[adminqinfo],doctime=$add[doctime],classpagekey='$add[classpagekey]',dtlisttempid='$add[dtlisttempid]',classtempid='$add[classtempid]',nreclass=$add[nreclass],nreinfo=$add[nreinfo],nrejs=$add[nrejs],nottobq=$add[nottobq],ipath='$add[ipath]',addreinfo=$add[addreinfo],haddlist=$add[haddlist],sametitle=$add[sametitle],definfovoteid=$add[definfovoteid],wburl='',qeditchecked=$add[qeditchecked],openadd=$add[openadd],wapstyleid='$add[wapstyleid]',repreinfo='$add[repreinfo]',pltempid='$add[pltempid]',cgroupid='$add[cgroupid]',yhid='$add[yhid]',wfid='$add[wfid]',cgtoinfo='$add[cgtoinfo]',bdinfoid='$add[bdinfoid]',repagenum='$add[repagenum]',keycid='$add[keycid]',oneinfo='$add[oneinfo]',addsql='$add[addsql]',wapislist='$add[wapislist]',fclast='$ecms_fclast',companygroupid='$add[companygroupid]' ".$change." where classid='$add[classid]'"); + $sql=$empire->query("update {$dbtbpre}enewsclass set classname='$add[classname]',classpath='$classpath',classtype='$add[classtype]',newline=$add[newline],hotline=$add[hotline],goodline=$add[goodline],classurl='$add[classurl]',groupid=$add[groupid],myorder=$add[myorder],filename_qz='$add[filename_qz]',hotplline=$add[hotplline],modid=$add[modid],checked=$add[checked],firstline=$add[firstline],bname='$add[bname]',islist=$add[islist],listtempid=$add[listtempid],lencord=$add[lencord],searchtempid=$add[searchtempid],tid=$tabler[tid],tbname='$tabler[tbname]',maxnum=$add[maxnum],checkpl=$add[checkpl],down_num=$add[down_num],online_num=$add[online_num],listorder='$add[listorder]',reorder='$add[reorder]',intro='$add[intro]',classimg='$add[classimg]',jstempid=$add[jstempid],listdt=$add[listdt],showclass=$add[showclass],showdt=$add[showdt],qaddgroupid='$add[qaddgroupid]',qaddshowkey=$add[qaddshowkey],adminqinfo=$add[adminqinfo],doctime=$add[doctime],classpagekey='$add[classpagekey]',dtlisttempid='$add[dtlisttempid]',classtempid='$add[classtempid]',nreclass=$add[nreclass],nreinfo=$add[nreinfo],nrejs=$add[nrejs],nottobq=$add[nottobq],ipath='$add[ipath]',addreinfo=$add[addreinfo],haddlist=$add[haddlist],sametitle=$add[sametitle],definfovoteid=$add[definfovoteid],wburl='',qeditchecked=$add[qeditchecked],openadd=$add[openadd],wapstyleid='$add[wapstyleid]',repreinfo='$add[repreinfo]',pltempid='$add[pltempid]',cgroupid='$add[cgroupid]',yhid='$add[yhid]',wfid='$add[wfid]',cgtoinfo='$add[cgtoinfo]',bdinfoid='$add[bdinfoid]',repagenum='$add[repagenum]',keycid='$add[keycid]',oneinfo='$add[oneinfo]',addsql='$add[addsql]',wapislist='$add[wapislist]',fclast='$ecms_fclast',companygroupid='$add[companygroupid]',isopen='$add[isopen]' ".$change." where classid='$add[classid]'"); //副表 $ret_cr=ReturnClassAddF($add,1); $empire->query("update {$dbtbpre}enewsclassadd set classtext='".eaddslashes2($add[classtext])."',eclasspagetext='$add[eclasspagetext]'".$ret_cr[0]." where classid='$add[classid]'"); @@ -2098,7 +2098,7 @@ function EditClass($add,$userid,$username){ } //文件前缀 $add[filename_qz]=RepFilenameQz($add[filename_qz]); - $sql=$empire->query("update {$dbtbpre}enewsclass set classname='$add[classname]',classpath='$classpath',classtype='$add[classtype]',link_num=$add[link_num],lencord=$add[lencord],newstempid=$add[newstempid],listtempid=$add[listtempid],newspath='$add[newspath]',filename=$add[filename],filetype='$add[filetype]',openpl=$add[openpl],openadd=$add[openadd],newline=$add[newline],hotline=$add[hotline],goodline=$add[goodline],classurl='$add[classurl]',groupid=$add[groupid],myorder=$add[myorder],filename_qz='$add[filename_qz]',hotplline=$add[hotplline],modid=$add[modid],checked=$add[checked],firstline=$add[firstline],bname='$add[bname]',searchtempid=$add[searchtempid],tid=$tabler[tid],tbname='$tabler[tbname]',maxnum=$add[maxnum],checkpl=$add[checkpl],down_num=$add[down_num],online_num=$add[online_num],listorder='$add[listorder]',reorder='$add[reorder]',intro='$add[intro]',classimg='$add[classimg]',jstempid=$add[jstempid],addinfofen=$add[addinfofen],listdt=$add[listdt],showclass=$add[showclass],showdt=$add[showdt],checkqadd=$add[checkqadd],qaddlist=$add[qaddlist],qaddgroupid='$add[qaddgroupid]',qaddshowkey=$add[qaddshowkey],adminqinfo=$add[adminqinfo],doctime=$add[doctime],classpagekey='$add[classpagekey]',dtlisttempid='$add[dtlisttempid]',classtempid='$add[classtempid]',nreclass=$add[nreclass],nreinfo=$add[nreinfo],nrejs=$add[nrejs],nottobq=$add[nottobq],ipath='$add[ipath]',addreinfo=$add[addreinfo],haddlist=$add[haddlist],sametitle=$add[sametitle],definfovoteid=$add[definfovoteid],wburl='',qeditchecked=$add[qeditchecked],wapstyleid='$add[wapstyleid]',repreinfo='$add[repreinfo]',pltempid='$add[pltempid]',cgroupid='$add[cgroupid]',yhid='$add[yhid]',wfid='$add[wfid]',cgtoinfo='$add[cgtoinfo]',bdinfoid='$add[smallbdinfoid]',repagenum='$add[repagenum]',keycid='$add[keycid]',oneinfo='$add[oneinfo]',addsql='$add[addsql]',wapislist='$add[wapislist]',fclast='$ecms_fclast',companygroupid='$add[companygroupid]' ".$change." where classid='$add[classid]'"); + $sql=$empire->query("update {$dbtbpre}enewsclass set classname='$add[classname]',classpath='$classpath',classtype='$add[classtype]',link_num=$add[link_num],lencord=$add[lencord],newstempid=$add[newstempid],listtempid=$add[listtempid],newspath='$add[newspath]',filename=$add[filename],filetype='$add[filetype]',openpl=$add[openpl],openadd=$add[openadd],newline=$add[newline],hotline=$add[hotline],goodline=$add[goodline],classurl='$add[classurl]',groupid=$add[groupid],myorder=$add[myorder],filename_qz='$add[filename_qz]',hotplline=$add[hotplline],modid=$add[modid],checked=$add[checked],firstline=$add[firstline],bname='$add[bname]',searchtempid=$add[searchtempid],tid=$tabler[tid],tbname='$tabler[tbname]',maxnum=$add[maxnum],checkpl=$add[checkpl],down_num=$add[down_num],online_num=$add[online_num],listorder='$add[listorder]',reorder='$add[reorder]',intro='$add[intro]',classimg='$add[classimg]',jstempid=$add[jstempid],addinfofen=$add[addinfofen],listdt=$add[listdt],showclass=$add[showclass],showdt=$add[showdt],checkqadd=$add[checkqadd],qaddlist=$add[qaddlist],qaddgroupid='$add[qaddgroupid]',qaddshowkey=$add[qaddshowkey],adminqinfo=$add[adminqinfo],doctime=$add[doctime],classpagekey='$add[classpagekey]',dtlisttempid='$add[dtlisttempid]',classtempid='$add[classtempid]',nreclass=$add[nreclass],nreinfo=$add[nreinfo],nrejs=$add[nrejs],nottobq=$add[nottobq],ipath='$add[ipath]',addreinfo=$add[addreinfo],haddlist=$add[haddlist],sametitle=$add[sametitle],definfovoteid=$add[definfovoteid],wburl='',qeditchecked=$add[qeditchecked],wapstyleid='$add[wapstyleid]',repreinfo='$add[repreinfo]',pltempid='$add[pltempid]',cgroupid='$add[cgroupid]',yhid='$add[yhid]',wfid='$add[wfid]',cgtoinfo='$add[cgtoinfo]',bdinfoid='$add[smallbdinfoid]',repagenum='$add[repagenum]',keycid='$add[keycid]',oneinfo='$add[oneinfo]',addsql='$add[addsql]',wapislist='$add[wapislist]',fclast='$ecms_fclast',companygroupid='$add[companygroupid]',isopen='$add[isopen]' ".$change." where classid='$add[classid]'"); //副表 $ret_cr=ReturnClassAddF($add,1); $empire->query("update {$dbtbpre}enewsclassadd set classtext='".eaddslashes2($add[classtext])."',eclasspagetext='$add[eclasspagetext]'".$ret_cr[0]." where classid='$add[classid]'");