123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373 |
- <?php
- define('EmpireCMSAdmin','1');
- require("../class/connect.php");
- require("../class/db_sql.php");
- require("../class/functions.php");
- require LoadLang("pub/fun.php");
- $link=db_connect();
- $empire=new mysqlquery();
- //验证用户
- $lur=is_login();
- $logininid=(int)$lur['userid'];
- $loginin=$lur['username'];
- $loginrnd=$lur['rnd'];
- $loginlevel=$lur['groupid'];
- $loginadminstyleid=$lur['adminstyleid'];
- //ehash
- $ecms_hashur=hReturnEcmsHashStrAll();
- //显示无限级栏目缓存
- function CreateClassCache($bclassid,$exp,$expjs,$expmodjs,$adminclass,$doall,$mid,$addminfocid,$oldmid,$oldaddminfocid,$userid){
- global $empire,$fun_r,$dbtbpre,$public_r;
- if(empty($bclassid))
- {
- $bclassid=0;
- $exp='';
- $expjs='|-';
- $expmodjs='|-';
- }
- else
- {
- $exp=' '.$exp;
- $expjs=' '.$expjs;
- $expmodjs=" ".$expmodjs;
- }
- $sql=$empire->query("select classid,classname,bclassid,islast,classpath,classurl,listdt,sonclass,tbname,modid,myorder,onclick,openadd,wburl from {$dbtbpre}enewsclass where bclassid='$bclassid' order by myorder,classid");
- $returnr['listclass']='';
- $returnr['listclasshidden']='';
- $returnr['listenews']='';
- $returnr['userenews']='';
- $returnr['jsstr']='';
- $returnr['jsmod']='';
- $returnr['oldjsmod']='';
- $returnr['userjs']='';
- $num=$empire->num1($sql);
- if($num==0)
- {
- return $returnr;
- }
- $returnr['listenews'].='<table border=0 cellspacing=0 cellpadding=0>';
- $returnr['userenews'].='<table border=0 cellspacing=0 cellpadding=0>';
- $i=1;
- while($r=$empire->fetch($sql))
- {
- $classurl=sys_ReturnBqClassUrl($r);
- //------ 管理栏目页面 ------
- $divonclick="";
- $start_tbody="";
- $end_tbody="";
- $start_tbody1="";
- $docinfo="";
- $classinfotype='';
- //终级栏目
- if($r[islast])
- {
- $img="<a href='#e' onclick=addi(".$r[classid].")><img src='../data/images/txt.gif' border=0></a>";
- $bgcolor="#ffffff";
- $renewshtml=" <a href='#e' onclick=renews(".$r[classid].",'".$r[tbname]."')>".$fun_r['news']."</a> ";
- $docinfo=" <a href='#e' onclick=docinfo(".$r[classid].")>归档</a>";
- $classinfotype=" <a href='#e' onclick=ttc(".$r[classid].")>分类</a>";
- }
- else
- {
- $img="<img src='../data/images/dir.gif'>";
- if(empty($r[bclassid]))
- {
- $bgcolor="#DBEAF5";
- $divonclick=" onMouseUp='turnit(classdiv".$r[classid].");' style='CURSOR:hand'";
- $start_tbody="<tbody id='classdiv".$r[classid]."'>";
- $end_tbody="</tbody>";
- //缩
- $start_tbody1="<tbody id='classdiv".$r[classid]."' style='display:none'>";
- }
- else
- {$bgcolor="#ffffff";}
- $renewshtml=" <a href='#e' onclick=renews(".$r[classid].",'".$r[tbname]."')>".$fun_r['news']."</a> ";
- }
- //外部栏目
- $classname=$r[classname];
- if($r['wburl'])
- {
- $classname="<font color='#666666'>".$classname." (外部)</font>";
- }
- $onelistclass="<tr bgcolor='".$bgcolor."' height=25><td><input type=text name=myorder[] value=".$r[myorder]." size=2><input type=hidden name=classid[] value=".$r[classid]."></td><td".$divonclick.">".$exp.$img."</td><td align=center>".$r[classid]."</td><td><input type=checkbox name=reclassid[] value=".$r[classid]."> <a href='".$classurl."' target=_blank>".$classname."</a></td><td align=center>".$r[onclick]."</td><td><a href='#e' onclick=editc(".$r[classid].")>".$fun_r['edit']."</a> <a href='#e' onclick=copyc(".$r[classid].")>".$fun_r['copyclass']."</a> <a href='#e' onclick=delc(".$r[classid].")>".$fun_r['del']."</a></td><td><a href='#e' onclick=relist(".$r[classid].")>".$fun_r['re']."</a>".$renewshtml."<a href='#e' onclick=rejs(".$r[classid].")>JS</a> <a href='#e' onclick=tvurl(".$r[classid].")>调用</a>".$classinfotype.$docinfo."</td></tr>";
- $returnr['listclass'].=$onelistclass;
- $returnr['listclasshidden'].=$onelistclass;
- if(empty($r['wburl']))
- {
- //------ 管理信息页面 ------
- //链接地址
- $infoclassurl='';
- //终级栏目
- if($r[islast])
- {
- //最后一个子栏目
- if($i==$num)
- {$menutype="file1";}
- else
- {$menutype="file";}
- $infoclassname="<a onclick=tourl($r[bclassid],$r[classid]) onmouseout=chft(this,0,$r[classid]) onmouseover=chft(this,1,$r[classid]) oncontextmenu=ShRM(this,".$r[bclassid].",".$r[classid].",'".$infoclassurl."',1)>".$r[classname]."</a>";
- $onmouseup="";
- }
- else
- {
- //最后一个大栏目
- if($i==$num)
- {
- $menutype="menu3";
- $listtype="list1";
- $onmouseup="chengstate('".$r[classid]."')";
- }
- else
- {
- $menutype="menu1";
- $listtype="list";
- $onmouseup="chengstate('".$r[classid]."')";
- }
- $infoclassname="<a onmouseout=chft(this,0,$r[classid]) onmouseover=chft(this,1,$r[classid]) oncontextmenu=ShRM(this,".$r[bclassid].",".$r[classid].",'".$infoclassurl."',0)>".$r[classname]."</a>";
- }
- $returnr['listenews'].='<tr><td id="pr'.$r[classid].'" class="'.$menutype.'" onclick="'.$onmouseup.'">'.$infoclassname.'</td></tr>';
- //JS颜色
- if($r[islast])
- {
- $jscolor=" style='background:#".$public_r['chclasscolor']."'";
- }
- else
- {
- $jscolor="";
- }
- //------ 权限栏目显示 ------
- $havelevel=0;
- if($userid&&empty($doall))
- {
- if(CheckHaveInClassid($r,$adminclass))
- {
- $returnr['userenews'].='<tr><td id="pr'.$r[classid].'" class="'.$menutype.'" onclick="'.$onmouseup.'">'.$infoclassname.'</td></tr>';
- $returnr['userjs'].="<option value='".$r[classid]."'".$jscolor.">".$expjs.$r[classname]."</option>";
- $havelevel=1;
- }
- }
- //------ JS显示 ------
- $returnr['jsstr'].="<option value='".$r[classid]."'".$jscolor.">".$expjs.$r[classname]."</option>";
- //------ 投稿 ------
- $haveadd=0;
- if($mid)
- {
- if($r[openadd]==0&&CheckHaveInClassid($r,$addminfocid))
- {
- $returnr['jsmod'].="<option value='".$r[classid]."'".$jscolor.">".$expmodjs.$r[classname]."</option>";
- $haveadd=1;
- }
- }
- $oldhaveadd=0;
- if($oldmid)
- {
- if($r[openadd]==0&&CheckHaveInClassid($r,$oldaddminfocid))
- {
- $returnr['oldjsmod'].="<option value='".$r[classid]."'".$jscolor.">".$expmodjs.$r[classname]."</option>";
- $oldhaveadd=1;
- }
- }
- }
- //取得子栏目
- if(empty($r[islast]))
- {
- $retr=CreateClassCache($r['classid'],$exp,$expjs,$expmodjs,$adminclass,$doall,$mid,$addminfocid,$oldmid,$oldaddminfocid,$userid);
- $returnr['listclass'].=$start_tbody.$retr['listclass'].$end_tbody;
- $returnr['listclasshidden'].=$start_tbody1.$retr['listclasshidden'].$end_tbody;
- if(empty($r['wburl']))
- {
- $returnr['listenews'].='<tr id="item'.$r[classid].'" style="display:none"><td class="'.$listtype.'">'.$retr['listenews'].'</td></tr>';
- if($havelevel)
- {
- $returnr['userenews'].='<tr id="item'.$r[classid].'" style="display:none"><td class="'.$listtype.'">'.$retr['userenews'].'</td></tr>';
- $returnr['userjs'].=$retr['userjs'];
- }
- $returnr['jsstr'].=$retr['jsstr'];
- if($haveadd)
- {
- $returnr['jsmod'].=$retr['jsmod'];
- }
- if($oldhaveadd)
- {
- $returnr['oldjsmod'].=$retr['oldjsmod'];
- }
- }
- }
- $i+=1;
- }
- $returnr['listenews'].='</table>';
- $returnr['userenews'].='</table>';
- return $returnr;
- }
- //验证缓存
- function HaveNavClassCache($where){
- global $empire,$dbtbpre;
- if(empty($where))
- {
- return '';
- }
- $navcachenum=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsclassnavcache where ".$where." limit 1");
- return $navcachenum;
- }
- //写入缓存
- function InsertNavClassCache($navtype,$userid,$modid){
- global $empire,$dbtbpre;
- $userid=(int)$userid;
- $modid=(int)$modid;
- $empire->query("insert into {$dbtbpre}enewsclassnavcache(navtype,userid,modid) values('$navtype','$userid','$modid');");
- }
- $enews=RepPostVar($_GET['enews']);
- $mess=RepPostVar($_GET['mess']);
- $ecmstourl=RepPostStrUrl($_GET['ecmstourl']);
- if(!$mess)
- {
- db_close();
- $empire=null;
- exit();
- }
- if(!$enews)
- {
- printerror($mess,$ecmstourl);
- }
- $uid=(int)$_GET['uid'];
- if(empty($uid))
- {
- $thisuid=$logininid;
- }
- else
- {
- $thisuid=$uid;
- }
- $user_r=$empire->fetch1("select adminclass,groupid from {$dbtbpre}enewsuser where userid='$thisuid'");
- if(!$user_r['groupid'])
- {
- db_close();
- $empire=null;
- exit();
- }
- //用户组权限
- $gr=$empire->fetch1("select doall from {$dbtbpre}enewsgroup where groupid='$user_r[groupid]'");
- //用户
- $userid=$thisuid;
- if($gr['doall'])
- {
- $userid=0;
- }
- //模型
- $mid=(int)$_GET['mid'];
- if($mid&&$emod_r[$mid]['mid'])
- {
- $modr=$empire->fetch1("select sonclass from {$dbtbpre}enewsmod where mid='$mid'");
- $addminfocid=$modr['sonclass'];
- }
- else
- {
- $mid=0;
- $addminfocid='';
- }
- //模型2
- $oldmid=(int)$_GET['oldmid'];
- if($oldmid&&$emod_r[$oldmid]['mid'])
- {
- $oldmodr=$empire->fetch1("select sonclass from {$dbtbpre}enewsmod where mid='$oldmid'");
- $oldaddminfocid=$oldmodr['sonclass'];
- }
- else
- {
- $oldmid=0;
- $oldaddminfocid='';
- }
- $cacher=CreateClassCache(0,'','','',$user_r['adminclass'],$gr['doall'],$mid,$addminfocid,$oldmid,$oldaddminfocid,$userid);
- $enews=','.$enews.',';
- //------ 管理栏目缓存 ------
- if(stristr($enews,',doclass,'))
- {
- if(!HaveNavClassCache("navtype='listclass'"))
- {
- $classfcfile='../data/fc/ListClass0.php';
- $classfcfile2='../data/fc/ListClass1.php';
- WriteFiletext($classfcfile,AddCheckViewTempCode().$cacher['listclass']);
- WriteFiletext($classfcfile2,AddCheckViewTempCode().$cacher['listclasshidden']);
- InsertNavClassCache('listclass',0,0);
- }
- }
- //------ 管理信息缓存 ------
- $notrecordword="您还未添加栏目,<br><a href='#ecms' onclick=goaddclass()><u><b>点击这里</b></u></a>进行添加操作";
- if(stristr($enews,',doinfo,'))
- {
- if(!HaveNavClassCache("navtype='listenews'"))
- {
- if(empty($cacher['listenews']))
- {
- $cacher['listenews']=$notrecordword;
- }
- $infofcfile='../data/fc/ListEnews.php';
- WriteFiletext($infofcfile,AddCheckViewTempCode().$cacher['listenews']);
- InsertNavClassCache('listenews',0,0);
- }
- }
- //用户信息缓存
- if(stristr($enews,',douserinfo,'))
- {
- if($userid)
- {
- if(!HaveNavClassCache("navtype='userenews' and userid='$userid'"))
- {
- $userinfofcfile='../data/fc/ListEnews'.$userid.'.php';
- WriteFiletext($userinfofcfile,AddCheckViewTempCode().$cacher['userenews']);
- $userinfojsfile='../data/fc/userclass'.$userid.'.js';
- WriteFiletext_n($userinfojsfile,"document.write(\"".addslashes($cacher['userjs'])."\");");
- InsertNavClassCache('userenews',$userid,0);
- }
- }
- }
- //------ JS ------
- if(stristr($enews,',doinfo,'))
- {
- if(!HaveNavClassCache("navtype='jsclass'"))
- {
- $jsfile="../data/fc/cmsclass.js";
- $search_jsfile="../data/fc/searchclass.js";
- $search_jsstr=str_replace(" style='background:#".$public_r['chclasscolor']."'","",$cacher['jsstr']);
- WriteFiletext_n($jsfile,"document.write(\"".addslashes($cacher['jsstr'])."\");");
- WriteFiletext_n($search_jsfile,"document.write(\"".addslashes($search_jsstr)."\");");
- InsertNavClassCache('jsclass',0,0);
- }
- }
- //------ 投稿JS ------
- if(stristr($enews,',domod,'))
- {
- if($mid)
- {
- if(!HaveNavClassCache("navtype='modclass' and modid='$mid'"))
- {
- $addinfofile="../../d/js/js/addinfo".$mid.".js";
- $addnews_class="document.write(\"".addslashes($cacher['jsmod'])."\");";
- WriteFiletext_n($addinfofile,$addnews_class);
- InsertNavClassCache('modclass',0,$mid);
- }
- }
- if($oldmid)
- {
- if(!HaveNavClassCache("navtype='modclass' and modid='$oldmid'"))
- {
- $oldaddinfofile="../../d/js/js/addinfo".$oldmid.".js";
- $oldaddnews_class="document.write(\"".addslashes($cacher['oldjsmod'])."\");";
- WriteFiletext_n($oldaddinfofile,$oldaddnews_class);
- InsertNavClassCache('modclass',0,$oldmid);
- }
- }
- }
- //------ 更新模板 ------
- if(stristr($enews,',dostemp,'))
- {
- GetSearch();
- }
- printerror($mess,$ecmstourl);
- //echo"<meta http-equiv=\"refresh\" content=\"0;url=$ecmstourl\">缓存更新完毕,正在返回......";
- ?>
|