Exemple #1
0
function ReListHtmlMore($start, $classid, $from)
{
    global $empire, $public_r, $fun_r, $class_r, $dbtbpre;
    $start = (int) $start;
    $classid = eReturnInids($classid);
    if (empty($classid)) {
        printerror("ErrorUrl", $from);
    }
    $b = 0;
    $sql = $empire->query("select classid,classtempid,islast,islist from {$dbtbpre}enewsclass where classid>{$start} and classid in(" . $classid . ") order by classid limit " . $public_r[relistnum]);
    while ($r = $empire->fetch($sql)) {
        $b = 1;
        //大栏目
        if (!$r[islast]) {
            if ($r[islist] == 1) {
                ListHtml($r[classid], $ret_r, 3);
            } elseif ($r[islist] == 3) {
                ReClassBdInfo($r[classid]);
            } else {
                $classtemp = $r[islist] == 2 ? GetClassText($r[classid]) : GetClassTemp($r['classtempid']);
                NewsBq($r[classid], $classtemp, 0, 0);
            }
        } else {
            ListHtml($r[classid], $ret_r, 0);
        }
        $end_classid = $r[classid];
    }
    if (empty($b)) {
        //操作日志
        insert_dolog("");
        printerror("ReClassidAllSuccess", $from);
    }
    echo $fun_r[OneReListNewsSuccess] . "(ID:<font color=red><b>" . $end_classid . "</b></font>)<script>self.location.href='ecmschtml.php?enews=ReListHtmlMore&start={$end_classid}&classid={$classid}&from=" . urlencode($from) . hReturnEcmsHashStrHref(0) . "';</script>";
    exit;
}
function ReListHtml($classid, $enews = 0)
{
    global $empire, $class_r, $dbtbpre;
    $classid = (int) $classid;
    if (!$classid) {
        printerror("NotChangeReClassid", "history.go(-1)");
    }
    $r = $empire->fetch1("select classtempid,islist from {$dbtbpre}enewsclass where classid='{$classid}'");
    if ($class_r[$classid][islast]) {
        ListHtml($classid, $ret_r, 0);
    } else {
        if ($r[islist] == 1) {
            ListHtml($classid, $ret_r, 3);
        } elseif ($r[islist] == 3) {
            ReClassBdInfo($classid);
        } else {
            $classtemp = $r[islist] == 2 ? GetClassText($classid) : GetClassTemp($r['classtempid']);
            NewsBq($classid, $classtemp, 0, 0);
        }
    }
    if ($enews == 1) {
        return "";
    }
    insert_dolog("");
    //操作日志
    printerror("ReClassidSuccess", "history.go(-1)");
}
function EditClass($add, $userid, $username)
{
    global $empire, $class_r, $dbtbpre;
    //修改外部栏目
    if ($add[ecmsclasstype]) {
        EditWbClass($add, $userid, $username);
    }
    $add[classid] = (int) $add[classid];
    $add[classpath] = trim($add[classpath]);
    $checkclasspath = $add['classpath'];
    if ($add['oldclasspath'] != $add['pripath'] . $add['oldcpath']) {
        $add[classpath] = $add['oldcpath'];
    }
    if (!$add[classname] || !$add[classpath] || !$add[modid] || !$add[classid]) {
        printerror("EmptyClass", "");
    }
    if ($add[islast] && (!$add[newstempid] || !$add[listtempid])) {
        printerror("LastMustChange", "");
    }
    //操作权限
    CheckLevel($userid, $username, $classid, "class");
    $add = DoPostClassVar($add);
    $add[oldmodid] = (int) $add[oldmodid];
    //改变目录
    $classpath = $add[pripath] . $add[classpath];
    if ($add[oldclasspath] != $classpath && $checkclasspath == $add['oldcpath']) {
        if (file_exists("../../" . $classpath)) {
            //检测目录是否存在
            printerror("ReClasspath", "");
        }
    }
    //取得表名
    $tabler = GetModTable($add[modid]);
    $tabler[tid] = (int) $tabler[tid];
    //修改大栏目
    if (!$add[islast]) {
        //改变大栏目
        if ($add[bclassid] != $add[oldbclassid]) {
            //转到主栏目
            if (empty($add[bclassid])) {
                $sonclass = "";
                $featherclass = "";
                //取得本栏目的子栏目
                $r = $empire->fetch1("select sonclass,featherclass,classpath from {$dbtbpre}enewsclass where classid='{$add['classid']}'");
                //改变父栏目的子栏目
                $where = ReturnClass($r[featherclass]);
                if (empty($where)) {
                    $where = "classid=0";
                }
                $osql = $empire->query("select sonclass,classid from {$dbtbpre}enewsclass where " . $where);
                while ($o = $empire->fetch($osql)) {
                    $newsonclass = str_replace($r[sonclass], "|", $o[sonclass]);
                    $uosql = $empire->query("update {$dbtbpre}enewsclass set sonclass='{$newsonclass}' where classid='{$o['classid']}'");
                }
                //修改子栏目的父栏目
                $osql = $empire->query("select featherclass,classid,classpath from {$dbtbpre}enewsclass where featherclass like '%|" . $add[classid] . "%|'");
                while ($o = $empire->fetch($osql)) {
                    $newclasspath = str_replace($r[classpath] . "/", $classpath . "/", $o[classpath]);
                    $newfeatherclass = str_replace($r[featherclass], "|", $o[featherclass]);
                    $uosql = $empire->query("update {$dbtbpre}enewsclass set featherclass='{$newfeatherclass}',classpath='{$newclasspath}' where classid='{$o['classid']}'");
                }
            } else {
                //大栏目跟原栏目相同
                if ($add[classid] == $add[bclassid]) {
                    printerror("BclassIsself", "");
                }
                //取得现在大栏目的值
                $b = $empire->fetch1("select featherclass,sonclass,islast,wburl from {$dbtbpre}enewsclass where classid='{$add['bclassid']}'");
                //检测大栏目是否为终级栏目
                if ($b[islast]) {
                    printerror("BclassNotLast", "");
                }
                if ($b[wburl]) {
                    printerror("BclassNotWb", "");
                }
                //是否非法父栏目
                if ($b[featherclass]) {
                    $c_nb_r = explode("|" . $add[classid] . "|", $b[featherclass]);
                    if (count($c_nb_r) != 1) {
                        printerror("BclassIssmall", "");
                    }
                }
                if (empty($b[featherclass])) {
                    $b[featherclass] = "|";
                }
                $featherclass = $b[featherclass] . $add[bclassid] . "|";
                //取得现在栏目本身的值
                $o = $empire->fetch1("select featherclass,sonclass,classpath from {$dbtbpre}enewsclass where classid='{$add['classid']}'");
                //修改子栏目的父栏目
                $osql = $empire->query("select featherclass,classid,classpath from {$dbtbpre}enewsclass where featherclass like '%|" . $add[classid] . "|%'");
                while ($or = $empire->fetch($osql)) {
                    $newclasspath = str_replace($o[classpath] . "/", $classpath . "/", $or[classpath]);
                    if (empty($o[featherclass])) {
                        $newfeatherclass = $b[featherclass] . $add[bclassid] . $or[featherclass];
                    } else {
                        $newfeatherclass = str_replace($o[featherclass], $featherclass, $or[featherclass]);
                    }
                    $uosql = $empire->query("update {$dbtbpre}enewsclass set featherclass='{$newfeatherclass}',classpath='{$newclasspath}' where classid='{$or['classid']}'");
                }
                //改变旧大栏目的所有子栏目
                $owhere = ReturnClass($o[featherclass]);
                if (empty($owhere)) {
                    $owhere = "classid=0";
                }
                $oosql = $empire->query("select sonclass,classid from {$dbtbpre}enewsclass where " . $owhere);
                while ($oo = $empire->fetch($oosql)) {
                    $newsonclass = str_replace($o[sonclass], "|", $oo[sonclass]);
                    $usql = $empire->query("update {$dbtbpre}enewsclass set sonclass='{$newsonclass}' where classid='{$oo['classid']}'");
                }
                //改变新大栏目的子栏目
                $where = ReturnClass($featherclass);
                if (empty($where)) {
                    $where = "classid=0";
                }
                $nbsql = $empire->query("select sonclass,classid from {$dbtbpre}enewsclass where " . $where);
                while ($nb = $empire->fetch($nbsql)) {
                    if (empty($nb[sonclass])) {
                        $nb[sonclass] = "|";
                    }
                    $newsonclass = $nb[sonclass] . substr($o[sonclass], 1);
                    $usql = $empire->query("update {$dbtbpre}enewsclass set sonclass='{$newsonclass}' where classid='{$nb['classid']}'");
                }
            }
            $change = ",bclassid={$add['bclassid']},featherclass='{$featherclass}'";
        }
        //绑定域名应用于子栏目
        if ($add['UrlToSmall']) {
            UpdateSmallClassDomain($add['classid'], $add['classurl'], $classpath);
        }
        //wap模板应用于子栏目
        if ($add['wapstylesclass']) {
            $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']}'" . $change . " where classid='{$add['classid']}'");
        //副表
        $ret_cr = ReturnClassAddF($add, 1);
        $empire->query("update {$dbtbpre}enewsclassadd set classtext='" . addslashes($add[classtext]) . "'" . $ret_cr[0] . " where classid='{$add['classid']}'");
        GetClass();
        //生成栏目文件
        if ($add[islist] == 0 || $add[islist] == 2) {
            $classtemp = $add[islist] == 2 ? GetClassText($add[classid]) : GetClassTemp($add['classtempid']);
            NewsBq($add[classid], $classtemp, 0, 1);
        } elseif ($add[islist] == 3) {
            ReClassBdInfo($add[classid]);
        }
        if ($add[islist] == 2) {
            //删除动态模板缓存文件
            DelOneTempTmpfile('classpage' . $add[classid]);
        }
    } else {
        if ($add[modid] != $add[oldmodid]) {
            $chmtbr = GetModTable($add[oldmodid]);
            if ($chmtbr[tid] != $tabler[tid] && $chmtbr[tbname]) {
                $chmchecknum = $empire->gettotal("select count(*) as total from {$dbtbpre}ecms_" . $chmtbr[tbname] . " where classid='{$add['classid']}'");
                if ($chmchecknum) {
                    printerror("ClassChangeModHaveInfo", "history.go(-1)");
                }
            }
        }
        //改变大栏目
        if ($add[bclassid] != $add[oldbclassid]) {
            //转到主栏目
            if (empty($add[bclassid])) {
                $sonclass = "";
                $featherclass = "";
                //取得栏目原本的大栏目
                $r = $empire->fetch1("select featherclass,classpath from {$dbtbpre}enewsclass where classid='{$add['classid']}'");
                //改变原本大栏目的子栏目
                $where = ReturnClass($r[featherclass]);
                if (empty($where)) {
                    $where = "classid=0";
                }
                $bsql = $empire->query("select classid,sonclass from {$dbtbpre}enewsclass where " . $where);
                while ($br = $empire->fetch($bsql)) {
                    $newsonclass = str_replace("|" . $add[classid] . "|", "|", $br[sonclass]);
                    $usql = $empire->query("update {$dbtbpre}enewsclass set sonclass='{$newsonclass}' where classid='{$br['classid']}'");
                }
            } else {
                //取得现在大栏目的值
                $b = $empire->fetch1("select featherclass,islast,wburl from {$dbtbpre}enewsclass where classid='{$add['bclassid']}'");
                //检测大栏目是否为终级栏目
                if ($b[islast]) {
                    printerror("BclassNotLast", "");
                }
                if ($b[wburl]) {
                    printerror("BclassNotWb", "");
                }
                if (empty($b[featherclass])) {
                    $b[featherclass] = "|";
                }
                $featherclass = $b[featherclass] . $add[bclassid] . "|";
                //改变新大栏目的子栏目
                $where = ReturnClass($featherclass);
                if (empty($where)) {
                    $where = "classid=0";
                }
                $bsql = $empire->query("select sonclass,classid from {$dbtbpre}enewsclass where " . $where);
                while ($nb = $empire->fetch($bsql)) {
                    if (empty($nb[sonclass])) {
                        $nb[sonclass] = "|";
                    }
                    $newsonclass = $nb[sonclass] . $add[classid] . "|";
                    $usql = $empire->query("update {$dbtbpre}enewsclass set sonclass='{$newsonclass}' where classid='{$nb['classid']}'");
                }
                //改变旧大栏目的子栏目
                $o = $empire->fetch1("select sonclass,featherclass from {$dbtbpre}enewsclass where classid='{$add['classid']}'");
                $where = ReturnClass($o[featherclass]);
                if (empty($where)) {
                    $where = "classid=0";
                }
                $osql = $empire->query("select sonclass,classid from {$dbtbpre}enewsclass where " . $where);
                while ($ob = $empire->fetch($osql)) {
                    $newsonclass = str_replace("|" . $add[classid] . "|", "|", $ob[sonclass]);
                    $usql = $empire->query("update {$dbtbpre}enewsclass set sonclass='{$newsonclass}' where classid='{$ob['classid']}'");
                }
            }
            $change = ",bclassid={$add['bclassid']},featherclass='{$featherclass}'";
        }
        //应用于已生成的信息
        if ($add['tobetempinfo']) {
            $upsql = $empire->query("update {$dbtbpre}ecms_" . $tabler[tbname] . " set newstempid={$add['newstempid']} where classid='{$add['classid']}'");
        }
        //文件前缀
        $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['bdinfoid']}'" . $change . " where classid='{$add['classid']}'");
        //副表
        $ret_cr = ReturnClassAddF($add, 1);
        $empire->query("update {$dbtbpre}enewsclassadd set classtext='" . addslashes($add[classtext]) . "'" . $ret_cr[0] . " where classid='{$add['classid']}'");
        GetClass();
    }
    //移动目录
    if ($add[bclassid] != $add[oldbclassid] || $add[oldclasspath] != $classpath && $add['classpath'] == $add['oldcpath']) {
        $opath = "../../" . $add[oldclasspath];
        $newpath = "../../" . $classpath;
        MovePath($opath, $newpath);
        $opath = "../../d/file/" . $add[oldclasspath];
        $npath = "../../d/file/" . $classpath;
        CopyPath($opath, $npath);
    } else {
        if ($add['oldcpath'] != $add['classpath']) {
            AlterClassPath($add['classid'], $add['islast'], $add['oldclasspath'], $classpath);
            GetClass();
        }
    }
    //删除缓存文件
    if ($add[oldclassname] != $add[classname] || $add[bclassid] != $add[oldbclassid]) {
        DelListEnews();
        GetSearch($add[modid]);
    } else {
        if ($add[oldclasspath] != $classpath && $add['classpath'] == $add['oldcpath'] || $add[listdt] != $add[oldlistdt]) {
            DelListEnews();
        }
        if ($add[openadd] != $add[oldopenadd] || $add[modid] != $add[oldmodid]) {
            GetSearch($add[modid]);
            if ($add[modid] != $add[oldmodid]) {
                GetSearch($add[oldmodid]);
            }
        }
    }
    //修改栏目扩展名
    if ($add[oldclasstype] != $add[classtype]) {
        $todaytime = date("Y-m-d H:i:s");
        if ($add[islast]) {
            $query = "select count(*) as total from {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " where checked=1 and classid='{$add['classid']}'";
            $lencord = $add[oldlencord];
            $num = $empire->gettotal($query);
        } else {
            $lencord = $add[oldlencord];
            if ($add[oldislist] == 1) {
                $where = ReturnClass($class_r[$add[classid]][sonclass]);
                $query = "select count(*) as total from {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " where checked=1 and (" . $where . ")";
                $num = $empire->gettotal($query);
            } else {
                $num = 1;
            }
        }
        RenameListfile($add[classid], $lencord, $num, $add[oldclasstype], $add[classtype], $classpath);
    }
    //来源
    if ($add['from']) {
        $returnurl = "ListPageClass.php";
    } else {
        $returnurl = "ListClass.php";
    }
    TogNotReClass(1);
    if ($sql) {
        insert_dolog("classid=" . $add[classid] . "<br>classname=" . $add[classname]);
        //操作日志
        printerror("EditClassSuccess", $returnurl);
    } else {
        printerror("DbError", "history.go(-1)");
    }
}
Exemple #4
0
function hReClassHtml($sonclass)
{
    global $empire, $dbtbpre, $class_r;
    $r = explode("|", $sonclass);
    $count = count($r);
    for ($i = 1; $i < $count - 1; $i++) {
        //终极栏目
        if ($class_r[$r[$i]]['islast']) {
            if (!$class_r[$r[$i]]['listdt']) {
                ListHtml($r[$i], '', 0, $userlistr);
            }
        } elseif ($class_r[$r[$i]]['islist'] == 1) {
            if (!$class_r[$r[$i]]['listdt']) {
                ListHtml($r[$i], '', 3);
            }
        } elseif ($class_r[$r[$i]]['islist'] == 3) {
            ReClassBdInfo($r[$i]);
        } else {
            $cr = $empire->fetch1("select classtempid from {$dbtbpre}enewsclass where classid='{$r[$i]}'");
            $classtemp = $class_r[$r[$i]]['islist'] == 2 ? GetClassText($r[$i]) : GetClassTemp($cr['classtempid']);
            NewsBq($r[$i], $classtemp, 0, 0);
        }
    }
}