Beispiel #1
0
$loginin = $lur['username'];
$loginrnd = $lur['rnd'];
$loginlevel = $lur['groupid'];
$loginadminstyleid = $lur['adminstyleid'];
hCheckEcmsRHash();
$incftp = 0;
if ($public_r['phpmode']) {
    include "../class/ftp.php";
    $incftp = 1;
}
//防采集
if ($public_r['opennotcj']) {
    @(include "../data/dbcache/notcj.php");
}
if ($enews == "ReListHtml") {
    $classid = $_GET['classid'];
    ReListHtml($classid, 0);
} elseif ($enews == "AddPostUrlData") {
    $postdata = $_POST['postdata'];
    AddPostUrlData($postdata, $logininid, $loginin);
} elseif ($enews == "PostUrlData") {
    $start = $_GET['start'];
    $rnd = $_GET['rnd'];
    PostUrlData($start, $rnd, $logininid, $loginin);
} elseif ($enews == "ChangeEnewsData") {
    ChangeEnewsData($logininid, $loginin);
} else {
    printerror("ErrorUrl", "history.go(-1)");
}
db_close();
$empire = null;
Beispiel #2
0
function CopyNews_all($classid, $id, $to_classid, $userid, $username)
{
    global $empire, $public_r, $class_r, $dbtbpre, $emod_r;
    $classid = (int) $classid;
    $to_classid = (int) $to_classid;
    if (empty($classid) || empty($to_classid)) {
        printerror("EmptyCopyClassid", "history.go(-1)");
    }
    if (empty($class_r[$classid][islast]) || empty($class_r[$to_classid][islast])) {
        printerror("EmptyCopyClassid", "history.go(-1)");
    }
    if ($class_r[$classid][modid] != $class_r[$to_classid][modid]) {
        printerror("DefModid", "history.go(-1)");
    }
    $userid = (int) $userid;
    //验证权限
    $doselfinfo = CheckLevel($userid, $username, $classid, "news");
    //权限
    if (!$doselfinfo['domoveinfo']) {
        printerror("NotMoveInfoLevel", "history.go(-1)");
    }
    $count = count($id);
    if (empty($count)) {
        printerror("NotCopyNewsid", "history.go(-1)");
    }
    $dopubid = 0;
    $donum = 0;
    $dolog = '';
    //附加链接参数
    $addecmscheck = empty($_POST['ecmscheck']) ? '&ecmscheck=1' : '';
    for ($i = 0; $i < $count; $i++) {
        $add .= "id='" . intval($id[$i]) . "' or ";
    }
    $add = substr($add, 0, strlen($add) - 4);
    $mid = $class_r[$classid][modid];
    $tbname = $class_r[$classid][tbname];
    $stf = $emod_r[$mid]['savetxtf'];
    //查看目录是否存在,不存在则建立
    $newspath = FormatPath($to_classid, "", 0);
    $newstime = time();
    $truetime = $newstime;
    $newstempid = 0;
    $dosql = $empire->query("select id,classid,checked from {$dbtbpre}ecms_" . $tbname . "_index where " . $add);
    while ($index_r = $empire->fetch($dosql)) {
        //返回表
        $infotb = ReturnInfoMainTbname($tbname, $index_r['checked']);
        //主表
        $r = $empire->fetch1("select * from " . $infotb . " where id='{$index_r['id']}' limit 1");
        //返回表信息
        $infotbr = ReturnInfoTbname($tbname, $index_r['checked'], $r['stb']);
        //副表
        $finfor = $empire->fetch1("select " . ReturnSqlFtextF($mid) . " from " . $infotbr['datatbname'] . " where id='{$r['id']}' limit 1");
        $r = array_merge($r, $finfor);
        if ($stf) {
            $r[$stf] = GetTxtFieldText($r[$stf]);
        }
        //返回自定义字段
        $ret_r = ReturnAddF($r, $class_r[$to_classid][modid], $userid, $username, 9, 1, 0);
        if ($class_r[$to_classid][wfid]) {
            $checked = 0;
            $isqf = 1;
        } else {
            $checked = $class_r[$to_classid][checked];
            $isqf = 0;
        }
        $checked = (int) $checked;
        //索引表
        $empire->query("insert into {$dbtbpre}ecms_" . $tbname . "_index(classid,checked,newstime,truetime,lastdotime,havehtml) values('{$to_classid}','{$checked}','{$r['newstime']}','{$truetime}','{$truetime}','{$r['havehtml']}');");
        $l_id = $empire->lastid();
        $update_infotbr = ReturnInfoTbname($tbname, $checked, $ret_r['tb']);
        //主表
        $sql = $empire->query("insert into " . $update_infotbr['tbname'] . "(id,classid,ttid,onclick,plnum,totaldown,newspath,filename,userid,username,firsttitle,isgood,ispic,istop,isqf,ismember,isurl,truetime,lastdotime,havehtml,groupid,userfen,titlefont,titleurl,stb,fstb,restb,keyboard" . $ret_r[fields] . ") values('{$l_id}','{$to_classid}','{$r['ttid']}',0,0,0,'{$newspath}','{$filename}',{$userid},'{$username}',0,0,'{$r['ispic']}',0,'{$isqf}',0,'{$r['isurl']}',{$truetime},{$truetime},{$r['havehtml']},{$r['groupid']},{$r['userfen']},'{$r['titlefont']}','{$r['titleurl']}','{$ret_r['tb']}','{$public_r['filedeftb']}','{$public_r['pldeftb']}','{$r['keyboard']}'" . $ret_r[values] . ");");
        //副表
        $empire->query("insert into " . $update_infotbr['datatbname'] . "(id,classid,keyid,dokey,newstempid,closepl,haveaddfen,infotags" . $ret_r[datafields] . ") values('{$l_id}','{$to_classid}','{$r['keyid']}',{$r['dokey']},'" . $newstempid . "',{$r['closepl']},0,'{$r['infotags']}'" . $ret_r[datavalues] . ");");
        //签发
        if ($isqf == 1) {
            InfoInsertToWorkflow($l_id, $to_classid, $class_r[$to_classid][wfid], $userid, $username);
        }
        //文件命名
        $filename = ReturnInfoFilename($to_classid, $l_id, $r[filenameqz]);
        //信息地址
        $updateinfourl = '';
        if (!$r['isurl']) {
            $infourl = GotoGetTitleUrl($to_classid, $l_id, $newspath, $filename, $r['groupid'], $r['isurl'], $r['titleurl']);
            $updateinfourl = ",titleurl='{$infourl}'";
        }
        $usql = $empire->query("update " . $update_infotbr['tbname'] . " set filename='{$filename}'" . $updateinfourl . " where id='{$l_id}'");
        //更新栏目信息数
        AddClassInfos($to_classid, '+1', '+1', $index_r['checked']);
        //生成信息文件
        if ($checked) {
            $addr = $empire->fetch1("select * from " . $update_infotbr['tbname'] . " where id='{$l_id}'");
            GetHtml($addr['classid'], $addr['id'], $addr, 1);
        }
        $donum++;
        if ($donum == 1) {
            $dopubid = ReturnInfoPubid($r['classid'], $r['id']);
            $dolog = "classid=" . $r['classid'] . "<br>id=" . $r['id'] . "<br>title=" . $r['title'] . "<br>to_classid=" . $to_classid;
        }
    }
    //刷新列表
    ReListHtml($to_classid, 1);
    //操作日志
    if ($donum == 1) {
        insert_dolog($dolog, $dopubid);
    } else {
        insert_dolog("classid=" . $classid . "<br>classname=" . $class_r[$classid][classname] . "<br>to_classid=" . $to_classid);
    }
    printerror("CopyNewsSuccess", $_SERVER['HTTP_REFERER']);
}
function DoAutoUpAndDownInfo()
{
    global $empire, $dbtbpre, $class_r, $emod_r, $public_r;
    $todaytime = time();
    $sql = $empire->query("select id,classid,infouptime,infodowntime from {$dbtbpre}enewsinfovote where infouptime>0 or infodowntime>0");
    while ($r = $empire->fetch($sql)) {
        if (!$class_r[$r[classid]]['tbname']) {
            continue;
        }
        //上线
        if ($r['infouptime'] && $r['infouptime'] <= $todaytime) {
            $infor = $empire->fetch1("select * from {$dbtbpre}ecms_" . $class_r[$r[classid]][tbname] . " where id='{$r['id']}'");
            if (!$infor['id']) {
                continue;
            }
            //签发
            if ($infor['isqf']) {
                $qfr = $empire->fetch1("select checktno from {$dbtbpre}enewswfinfo where id='{$r['id']}' and classid='{$r['classid']}' limit 1");
                if ($qfr['checktno'] != '100') {
                    continue;
                }
            }
            $empire->query("update {$dbtbpre}ecms_" . $class_r[$r[classid]][tbname] . " set checked=1 where id='{$r['id']}'");
            $empire->query("update {$dbtbpre}enewsinfovote set infouptime=0 where id='{$r['id']}' and classid='{$r['classid']}' limit 1");
            $infor['checked'] = 1;
            //刷新信息
            GetHtml($infor, '');
            //刷新列表
            ReListHtml($r[classid], 1);
        }
        //下线
        if ($r['infodowntime'] && $r['infodowntime'] <= $todaytime) {
            $mid = $class_r[$r[classid]][modid];
            $tbname = $class_r[$r[classid]][tbname];
            $pf = $emod_r[$mid]['pagef'];
            $stf = $emod_r[$mid]['savetxtf'];
            //主表
            $infor = $empire->fetch1("select * from {$dbtbpre}ecms_" . $class_r[$r[classid]][tbname] . " where id='" . $r[id] . "'");
            if (!$infor['id']) {
                continue;
            }
            //签发
            if ($infor['isqf']) {
                $qfr = $empire->fetch1("select checktno from {$dbtbpre}enewswfinfo where id='{$r['id']}' and classid='{$r['classid']}' limit 1");
                if ($qfr['checktno'] != '100') {
                    continue;
                }
            }
            //分页字段
            if ($pf) {
                if (strstr($emod_r[$mid]['tbdataf'], ',' . $pf . ',')) {
                    $finfor = $empire->fetch1("select " . $pf . " from {$dbtbpre}ecms_" . $tbname . "_data_" . $infor[stb] . " where id='{$r['id']}'");
                    $infor[$pf] = $finfor[$pf];
                }
                if ($stf && $stf == $pf) {
                    $infor[$pf] = GetTxtFieldText($infor[$pf]);
                }
            }
            DelNewsFile($infor[filename], $infor[newspath], $infor[classid], $infor[$pf], $infor[groupid]);
            $empire->query("update {$dbtbpre}ecms_" . $class_r[$r[classid]][tbname] . " set checked=0,havehtml=0 where id='{$r['id']}'");
            $empire->query("update {$dbtbpre}enewsinfovote set infodowntime=0 where id='{$r['id']}' and classid='{$r['classid']}' limit 1");
            //刷新列表
            ReListHtml($r[classid], 1);
        }
    }
}
function CopyNews_all($classid, $id, $to_classid, $userid, $username)
{
    global $empire, $public_r, $class_r, $dbtbpre, $emod_r;
    $classid = (int) $classid;
    $to_classid = (int) $to_classid;
    if (empty($classid) || empty($to_classid)) {
        printerror("EmptyCopyClassid", "history.go(-1)");
    }
    if (empty($class_r[$classid][islast]) || empty($class_r[$to_classid][islast])) {
        printerror("EmptyCopyClassid", "history.go(-1)");
    }
    if ($class_r[$classid][modid] != $class_r[$to_classid][modid]) {
        printerror("DefModid", "history.go(-1)");
    }
    $userid = (int) $userid;
    //验证权限
    $doselfinfo = CheckLevel($userid, $username, $classid, "news");
    //编辑权限
    if (!$doselfinfo['doeditinfo']) {
        printerror("NotEditInfoLevel", "history.go(-1)");
    }
    $count = count($id);
    if (empty($count)) {
        printerror("NotCopyNewsid", "history.go(-1)");
    }
    for ($i = 0; $i < $count; $i++) {
        $add .= "id='" . intval($id[$i]) . "' or ";
    }
    $add = substr($add, 0, strlen($add) - 4);
    $mid = $class_r[$classid][modid];
    $tbname = $class_r[$classid][tbname];
    $stf = $emod_r[$mid]['savetxtf'];
    //查看目录是否存在,不存在则建立
    $newspath = FormatPath($to_classid, "", 0);
    $newstime = time();
    $truetime = $newstime;
    $newstempid = 0;
    $dosql = $empire->query("select * from {$dbtbpre}ecms_" . $tbname . " where " . $add);
    while ($r = $empire->fetch($dosql)) {
        //副表
        if ($emod_r[$mid]['tbdataf'] && $emod_r[$mid]['tbdataf'] != ',') {
            $selectdataf = substr($emod_r[$mid]['tbdataf'], 1, -1);
            $finfor = $empire->fetch1("select " . $selectdataf . " from {$dbtbpre}ecms_" . $tbname . "_data_" . $r[stb] . " where id='{$r['id']}'");
            $r = array_merge($r, $finfor);
        }
        if ($stf) {
            $r[$stf] = GetTxtFieldText($r[$stf]);
        }
        //返回自定义字段
        $ret_r = ReturnAddF($r, $class_r[$to_classid][modid], $userid, $username, 9, 1, 0);
        if ($class_r[$to_classid][wfid]) {
            $checked = 0;
            $isqf = 1;
        } else {
            $checked = $class_r[$to_classid][checked];
            $isqf = 0;
        }
        $checked = (int) $checked;
        //主表
        $sql = $empire->query("insert into {$dbtbpre}ecms_" . $tbname . "(classid,onclick,newspath,keyboard,keyid,userid,username,ztid,checked,truetime,ismember,dokey,isgood,titlefont,titleurl,filename,groupid,newstempid,plnum,firsttitle,isqf,userfen,totaldown,closepl,havehtml,lastdotime,haveaddfen,infopfen,infopfennum,votenum,stb,ttid,infotags,ispic" . $ret_r[fields] . ") values({$to_classid},0,'{$newspath}','{$r['keyboard']}','{$r['keyid']}',{$userid},'{$username}','',{$checked},{$truetime},0,{$r['dokey']},0,'{$r['titlefont']}','{$r['titleurl']}','{$filename}',{$r['groupid']},'" . $newstempid . "',0,0,'{$isqf}',{$r['userfen']},0,{$r['closepl']},{$r['havehtml']},{$truetime},0,0,0,0,'{$ret_r['tb']}','{$r['ttid']}','{$r['infotags']}','{$r['ispic']}'" . $ret_r[values] . ");");
        $l_id = $empire->lastid();
        //副表
        $empire->query("insert into {$dbtbpre}ecms_" . $tbname . "_data_" . $ret_r[tb] . "(id,classid" . $ret_r[datafields] . ") values('{$l_id}','{$to_classid}'" . $ret_r[datavalues] . ");");
        //签发
        if ($isqf == 1) {
            InfoInsertToWorkflow($l_id, $to_classid, $class_r[$to_classid][wfid], $userid, $username);
        }
        //文件命名
        $filename = ReturnInfoFilename($to_classid, $l_id, $r[filenameqz]);
        $usql = $empire->query("update {$dbtbpre}ecms_" . $class_r[$to_classid][tbname] . " set filename='{$filename}' where id='{$l_id}'");
        //生成信息文件
        $addr = $empire->fetch1("select * from {$dbtbpre}ecms_" . $class_r[$to_classid][tbname] . " where id='{$l_id}'");
        GetHtml($addr, '');
    }
    //刷新列表
    ReListHtml($to_classid, 1);
    //操作日志
    insert_dolog("classid=" . $classid . "<br>classname=" . $class_r[$classid][classname]);
    printerror("CopyNewsSuccess", $_SERVER['HTTP_REFERER']);
}