帝国cms复制栏目时同时复制子栏目

1、修改admin/addclass.php文件,大约在1153行,<input type="submit" name="Submit" value="提交">
的前面增加:<?php if($docopy) { ?><input type="checkbox" name="copyzlm" value="1" checked>复制子栏目&nbsp; <? }?>&nbsp;
2、修改admin/emsclass.php文件,大约在52行,将“AddClass($_POST,$logininid,$loginin);”修改为“cAddClass($_POST,$loginin);”
3、将以下代码拷贝到class/userfun.php中。

function cAddClass($add,$userid,$username){
global $empire,$dbtbpre;
if($add[copyzlm]=='1'){
cAddClass1($add,$username);
$r = $empire->fetch1( "select * from {$dbtbpre}enewsclass order by classid desc limit 1" );
$bsql=$empire->query("select * from {$dbtbpre}enewsclass where bclassid='$add[classid]' and bclassid<>'0'");
while($br=$empire->fetch($bsql)){
$br[copyzlm]='1';
$br[bclassid]=$r[classid];
$br[pripath]=$r[classpath];
$br[classpath]=strrchr($br[classpath],'/');

if($br[islast]==0){
$brr=$br;
cAddClass($brr,$username);//递归
}else{
cAddClass1($br,$username,'1');
}
}

}else{
AddClass($add,$username);
}
}
//增加栏目
function cAddClass1($add,$zz=0){
global $empire,$dbtbpre;
//增加外部栏目
if($add[ecmsclasstype])
{
AddWbClass($add,$username);
}
$add[classpath]=trim($add[classpath]);
if(!$add[classname]||!$add[classpath]||!$add[modid])
{
printerror("EmptyClass","");
}
if($add[islast]&&(!$add[newstempid]||!$add[listtempid]))
{
printerror("LastMustChange","");
}
//操作权限
CheckLevel($userid,$classid,"class");
if($zz==0){
$add=DoPostClassVar($add);
}
//目录已存在
if(strchr($add[classpath],".")||strchr($add[classpath],"/")||strchr($add[classpath],""))
{
// printerror("badpath","");
}
$classpath=$add[pripath].$add[classpath];
if(file_exists("../../".$classpath))
{
printerror("ReClasspath","");
}
//取得表名
$tabler=GetModTable($add[modid]);
$tabler[tid]=(int)$tabler[tid];
//增加大栏目
if(!$add[islast])
{
if(empty($add[bclassid]))//主栏目
{
$sonclass="";
$featherclass="";
}
else//中级栏目
{
//取得上一级父栏目
$r=$empire->fetch1("select featherclass,islast,wburl from {$dbtbpre}enewsclass where classid='$add[bclassid]'");
if($r[islast])//是否终极栏目
{
printerror("BclassNotLast","");
}
if($r[wburl])
{
printerror("BclassNotWb","");
}
if(empty($r[featherclass]))
{
$r[featherclass]="|";
}
$featherclass=$r[featherclass].$add[bclassid]."|";
$sonclass="";
}
//建立目录
CreateClassPath($classpath);
$sql=$empire->query("insert into {$dbtbpre}enewsclass(bclassid,classname,is_zt,sonclass,lencord,link_num,newstempid,onclick,listtempid,featherclass,classpath,classtype,newspath,filename,filetype,openpl,openadd,newline,hotline,goodline,classurl,groupid,myorder,filename_qz,hotplline,modid,checked,docheckuser,checkuser,firstline,bname,islist,searchtempid,tid,tbname,maxnum,checkpl,down_num,online_num,listorderf,listorder,reorderf,reorder,intro,classimg,jstempid,addinfofen,listdt,showclass,showdt,checkqadd,qaddlist,qaddgroupid,qaddshowkey,adminqinfo,doctime,classpagekey,dtlisttempid,classtempid,nreclass,nreinfo,nrejs,nottobq,ipath,addreinfo,haddlist,sametitle,definfovoteid,wburl,qeditchecked,wapstyleid,repreinfo,pltempid,cgroupid) values($add[bclassid],'$add[classname]','$sonclass',$add[lencord],$add[link_num],$add[newstempid],$add[listtempid],'$featherclass',$add[islast],'$classpath','$add[classtype]','$add[newspath]',$add[filename],'$add[filetype]',$add[openpl],$add[openadd],$add[newline],$add[hotline],$add[goodline],'$add[classurl]',$add[groupid],$add[myorder],'$add[filename_qz]',$add[hotplline],$add[modid],$add[checked],$add[docheckuser],'$add[checkuser]',$add[firstline],'$add[bname]',$add[islist],$add[searchtempid],$tabler[tid],'$tabler[tbname]',$add[maxnum],$add[checkpl],$add[down_num],$add[online_num],'$add[listorderf]','$add[listorder]','$add[reorderf]','$add[reorder]','$add[intro]','$add[classimg]',$add[jstempid],$add[addinfofen],$add[listdt],$add[showclass],$add[showdt],$add[checkqadd],$add[qaddlist],'$add[qaddgroupid]',$add[qaddshowkey],$add[adminqinfo],$add[doctime],'$add[classpagekey]','$add[dtlisttempid]','$add[classtempid]',$add[nreclass],$add[nreinfo],$add[nrejs],$add[nottobq],'$add[ipath]',$add[addreinfo],$add[haddlist],$add[sametitle],$add[definfovoteid],'',$add[qeditchecked],$add[wapstyleid],'$add[repreinfo]','$add[pltempid]','$add[cgroupid]');");
$lastid=$empire->lastid();
//副表
$empire->query("replace into {$dbtbpre}enewsclassadd(classid,classtext) values('$lastid','".addslashes($add[classtext])."');");
TogNotReClass(1);
GetClass();
if($add[islist]==0||$add[islist]==2)
{
$classtemp=$add[islist]==2?GetClassText($lastid):GetClassTemp($add['classtempid']);
NewsBq($lastid,$classtemp,1);
}
DelListEnews();//删除缓存文件
GetSearch($add[modid]);//更新缓存
if($sql){
insert_dolog("classid=".$lastid."<br>classname=".$add[classname]);//操作日志
// printerror("AddClassSuccess","AddClass.php?enews=AddClass&from=$add[from]");
}
else{
printerror("DbError","");
}
}
//增加终级栏目
else
{
//文件前缀
$add[filename_qz]=RepFilenameQz($add[filename_qz]);
if(empty($add[bclassid]))//主类别为终级栏目时
{
$sonclass="";
$featherclass="";
}
else//子栏目
{
//取得上一级父栏目
$r=$empire->fetch1("select featherclass,wburl from {$dbtbpre}enewsclass where classid='$add[bclassid]'");
//是否终极类别
if($r[islast])
{
printerror("BclassNotLast","");
}
if(empty($r[featherclass])){
$r[featherclass]="|";
}
$featherclass=$r[featherclass].$add[bclassid]."|";
$sonclass="";
}
//建立栏目目录
CreateClassPath($classpath);
$sql=$empire->query("insert into {$dbtbpre}enewsclass(bclassid,'".addslashes($add[classtext])."');");
//修改父栏目的子栏目
if($add[bclassid])
{
$b_r=$empire->fetch1("select sonclass,featherclass from {$dbtbpre}enewsclass where classid='$add[bclassid]'");
if(empty($b_r[sonclass]))
{
$b_r[sonclass]="|";
}
$new_sonclass=$b_r[sonclass].$lastid."|";
$update=$empire->query("update {$dbtbpre}enewsclass set sonclass='$new_sonclass' where classid='$add[bclassid]'");
//更改父类别的父栏目的子栏目
$where=ReturnClass($b_r[featherclass]);
if(empty($where)){
$where="classid=0";
}
$bsql=$empire->query("select sonclass,classid from {$dbtbpre}enewsclass where ".$where);
while($br=$empire->fetch($bsql))
{
if(empty($br[sonclass]))
{
$br[sonclass]="|";
}
$new_sonclass=$br[sonclass].$lastid."|";
$update=$empire->query("update {$dbtbpre}enewsclass set sonclass='$new_sonclass' where classid='$br[classid]'");
}
}
DelListEnews();//删除缓存文件
TogNotReClass(1);
GetClass();
GetSearch($add[modid]);//更新缓存
if($sql){
insert_dolog("classid=".$lastid."<br>classname=".$add[classname]);//操作日志
// printerror("AddLastClassSuccess","history.go(-1)");
}
}
}

上面代码,只有函数cAddClass是我写的,下面的函数cAddClass是对wf原来的函数AddClass稍作修改拷贝过来的,放到userfun.php文件中目的是不对classfun.php文件作改动。
好了,复制栏目试试看


版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


http://shang.qq.com/widget/group.php
[e:loop={91,5,0,0}] <liclass="bj_<?=$bqno?>"><ahref="<?=$bqsr['titleurl']?>"target="_blank"><?=esub($bqr[title],30)?></a></li> [/e:loop] 其中91表示&nbs…
原文地址:帝国cms修改编辑器的预览功能作者:白头豕帝国CMS的投稿和录入界面没有专门的"预览"功能。fckeditor编辑器里倒是有一个预览,只是功能比较简陋,得到的预览页面没有特别的样式,与网站本身内容页的效果相差甚远。 解决这个问题其实很简单,只要修改fckeditor的两个js文件:fckeditor…
增加后台自定义编辑界面 当值后台界面的地址:D:EmpireServerwebeadminadminstyle 复制1变成3,然后更改页面 把不想客户用到的隐藏掉即可 然后回到后台新建立一个后台样式。 …
原文地址:帝国cms调用当前栏目下所有栏目名称和链接顶级栏目下的栏目调用作者:缘若秋风 这里要用要一个标签了,叫做循环栏目导航标签 [listshowclass]'selfinfo',9,0,0[/listshowclass] 上面的意思是: 'selfinfo'为当前栏目 使用编辑为9的标签模板 下面贴…
解决方法:http://bbs.phome.net/showthread-13-148886-0.html
灵动标签应用之“调用最新DIGG顶的最多的文章” [e:loop={'select*from[!db.pre!]ecms_newswherechecked=1orderbydiggtopdesc,iddesclimit8',10,24,0}] <li><ahr…
更新所有栏目的内容文章页 问题? 如果你把网站迁移成功,打开列表页,单击文章,缺打不开页面的话,怎么解决? 第一种解决方法: 第一步:登陆后台页面,打开【信息】页面,选中栏目名,单击【修改】,然后再点击保存。即可 备注:这样的方法比较麻烦,因为需要每条信息都重复这…
修改帝国默认的列表分页样式和伪静态页面留言版的分页样式。本来想在默认的模板标签上修改,看了看代码,和标签前后都多了空格,如果在现在的基础上改,简单改改也行,不过实在是受不了那么多空格符,而且如果用display:block的话,会出现一个阶梯状的样式,所以修改分页的样式势在必行…
在帝国CMS的模板数据调用里面,直接调用友情链接的是 [phomelink]每行显示数,显示总数,操作类型,分类id,是否显示原链接[/phomelink] 然而这种调用方式在页面生成以后是使用TABLE标签直接显示的,既不能很好的掌握其美观程度,也不符合标准。但是这个[phomelink]标签又没提供标签模…
更改后台登陆次数? 登陆ftp文件,打开E/CLASS/config.php文件,'loginnum'=>100,这个是更改登陆次数的单词。 查看后台登陆认证码? //后台安全设置 登陆ftp文件,打开E/CLASS/config.php文件,$do_loginauth=''; //登录认证码,…
灵动标签应用之“调用信息当天信息加New标志” 本功能实现调用信息时候如果是当天发布的最新信息显示New标志图片。 代码: <ul> [e:loop={栏目ID,显示条数,操作类型,只显示有标题图片}] <? $newimg=""; if(date("m-d",$bqr[truetime])==date("m…
http://jingyan.baidu.com/article/5d6edee228a88899eadeeca7.html
首先我们需要做的就是新建一个地图模板,模板-增加自定义页面模板。 我这里已经填写好了模板内容,代码我写出来: <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi…
登陆数据库,http://losthost/phpmyadmin,找到phome_enewsuser数据表, 输入SELECT*FROM`phome_enewsuser` phome_enewsuser数据表的信息查询点击执行按钮,会查询出来用户名和密码是多少,由于密码是被md5加密…
==============判断新闻的样式【前面加图标【紧====热】】================== [e:loop={'7,39,46,50',10,0,0,'','onclickDESC'}] <? //print_r($bqr);die(); //echo$bqr; $good=""; &nb…
这个js模版不能使搜索引擎搜到,所以尽量不要用。 第一步:建立js模版。 点击【模版】―【js模版】―【管理js模版】,打开,新建【js模版】,按照列表模版的方式建立。 第二步:打开【栏目】_[管理自定义】新建【自定义js】, 第三步:调用js模版。打开公共模版,动态头…
在【系统】――【安全参数配置】――【后台登陆认证码】输入你想输入的认证码即可。
题描述: 如何更改 当前位置导航中的 【首页 】两字和【首页后面的大于号】 您当前的位置:首页 > 人才频道 > 招聘 如何搞成: 您当前的位置:沛县在线 > 人才频道 > 招聘 解决办法: 1,更改 首页 两个字 e/class/connect.php 搜索:$fun_r['in…
第一步:登陆后台页面,打开【系统】―【数据表与系统模版】―【管理系统模版】,然后点击【修改】按钮。 第二步:去掉你想不显示的一项,在他的后面把对勾去掉即可 第三步:分别选中(录入表单模板)和(前台投稿表单模板)两项,然后点击【提交】按钮。 …