帝国cms技巧之如何实现复制栏目时同时复制子栏

525 ℃

帝国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,$logininid,$loginin);”
3、将以下代码拷贝到class/userfun.php中。

function cAddClass($add, $userid, $username) {
    global $empire,
    $dbtbpre;
    if ($add[copyzlm] == '1') {
        cAddClass1($add, $userid, $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, $userid, $username); //递归
            } else {
                cAddClass1($br, $userid, $username, '1');
            }
        }

    } else {
        AddClass($add, $userid, $username);
    }
}
//增加栏目
function cAddClass1($add, $userid, $username, $zz = 0) {
    global $empire,
    $dbtbpre;
    //增加外部栏目
    if ($add[ecmsclasstype]) {
        AddWbClass($add, $userid, $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, $username, $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,islast,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]',0,'$sonclass',$add[lencord],$add[link_num],$add[newstempid],0,$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, 0, 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,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,sonclass,is_zt,lencord,link_num,newstempid,onclick,listtempid,featherclass,islast,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',0,$add[lencord],$add[link_num],$add[newstempid],0,$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])."');");
        //修改父栏目的子栏目
        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","AddClass.php?enews=AddClass&from=$add[from]");
        } else {
            printerror("DbError", "history.go(-1)");
        }
    }
}

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

js如何实现复制页面内容的三种方法

利用css3实现禁止文章内容复制

在每个pre代码块中增加一个“复制代码”功能

js禁止页面复制、F12及右键功能

dede织梦复制网站文章内容自动加版权代码教程

标签: 复制

上面是“帝国cms技巧之如何实现复制栏目时同时复制子栏”的全面内容,想了解更多关于 帝国cms 内容,请继续关注web建站教程。

当前网址:https://m.ipkd.cn/webs_1188.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

vue项目中如何利用LodopFuncs插件实现pdf批量打印功能?
jquery获取屏幕的宽度/高度相关属性
vue项目中axios如何解决跨域cookie丢失问题
jquery怎么删除html标签中没有id的元素
帝国cms首页和列表页如何调用电影观看名称和总