Ejemplo n.º 1
0
function GetKeyid($keyboard, $classid, $id, $link_num)
{
    global $empire, $public_r, $class_r, $fun_r, $dbtbpre, $eyh_r, $etable_r;
    if ($keyboard) {
        if (empty($link_num)) {
            return '';
        }
        $keyboard = RepDyh($keyboard);
        $r = explode(",", $keyboard);
        for ($i = 0; $i < count($r); $i++) {
            if ($i == 0) {
                $or = "";
            } else {
                $or = " or ";
            }
            $repadd .= $or . "[!--f--!]" . " like '%" . $r[$i] . "%'";
        }
        //搜索范围
        if ($public_r['newslink'] == 1) {
            $add = '(' . str_replace('[!--f--!]', 'keyboard', $repadd) . ')';
        } elseif ($public_r['newslink'] == 2) {
            $add = '(' . str_replace('[!--f--!]', 'keyboard', $repadd) . ' or ' . str_replace('[!--f--!]', 'title', $repadd) . ')';
        } else {
            $add = '(' . str_replace('[!--f--!]', 'title', $repadd) . ')';
        }
        //模型
        if (!empty($class_r[$classid][modid])) {
            $mr = $empire->fetch1("select sonclass from {$dbtbpre}enewsmod where mid='" . $class_r[$classid][modid] . "'");
            $where = " and (" . ReturnClass($mr[sonclass]) . ")";
        }
        //优化
        $tbname = $class_r[$classid][tbname];
        $yhvar = 'otherlink';
        $yhid = $etable_r[$tbname][yhid];
        $yhadd = '';
        if ($yhid) {
            $yhadd = ReturnYhSql($yhid, $yhvar);
        }
        //ID声名
        $keyid = "";
        $first = 0;
        $key_sql = $empire->query("select id from {$dbtbpre}ecms_" . $class_r[$classid][tbname] . " where " . $yhadd . $add . $where . " and id<>{$id} and checked=1 order by newstime desc limit {$link_num}");
        while ($link_r = $empire->fetch($key_sql)) {
            if (empty($first)) {
                $dh = "";
                $first = 1;
            } else {
                $dh = ",";
            }
            $keyid .= $dh . $link_r[id];
        }
    } else {
        $keyid = "";
    }
    return $keyid;
}
Ejemplo n.º 2
0
function CjNewsIn_all($classid, $checked, $uptime, $start, $userid, $username)
{
    global $class_r, $empire, $public_r, $dbtbpre, $fun_r, $emod_r;
    $checked = (int) $checked;
    $classid = (int) $classid;
    $start = (int) $start;
    if (empty($classid)) {
        printerror("ErrorUrl", "history.go(-1)");
    }
    //操作权限
    CheckLevel($userid, $username, $classid, "cj");
    $cr = $empire->fetch1("select * from {$dbtbpre}enewsinfoclass where classid='{$classid}'");
    //副表
    $cra = $empire->fetch1("select * from {$dbtbpre}ecms_infoclass_" . $cr[tbname] . " where classid='{$classid}'");
    //组合两数组
    $cr = TogTwoArray($cr, $cra);
    //导入gd处理文件
    if ($cr['mark'] || $cr['getfirstspic']) {
        @(include_once "gd.php");
    }
    if (empty($cr[insertnum])) {
        $cr[insertnum] = 10;
    }
    $mid = $class_r[$cr[newsclassid]][modid];
    $savetxtf = $emod_r[$mid]['savetxtf'];
    $stb = $emod_r[$mid]['deftb'];
    //取得采集字段
    $record = "<!--record-->";
    $field = "<!--field--->";
    $mr = $empire->fetch1("select cj from {$dbtbpre}enewsmod where mid='" . $class_r[$cr[newsclassid]][modid] . "'");
    $cjr = explode($record, $mr[cj]);
    $ccount = count($cjr);
    $sql = $empire->query("select * from {$dbtbpre}ecms_infotmp_" . $cr[tbname] . " where classid='{$classid}' and checked=0 and id>{$start} order by id limit " . $cr[insertnum]);
    $filetime = date("Y-m-d H:i:s");
    $todaytime = time();
    $b = 0;
    while ($r = $empire->fetch($sql)) {
        $b = 1;
        $newstart = $r[id];
        $ivalue = '';
        $ifield = '';
        $dataivalue = '';
        $dataifield = '';
        $titlepicnoval = 0;
        for ($j = 0; $j < $ccount - 1; $j++) {
            $cjr1 = explode($field, $cjr[$j]);
            $dofield = $cjr1[1];
            $var = "zz_" . $dofield;
            $var1 = "z_" . $dofield;
            $var2 = "qz_" . $dofield;
            $var3 = "save_" . $dofield;
            $value = $r[$dofield];
            //自身链接
            if ($dofield == "empireselfurl") {
                $value = $r['oldurl'];
            }
            //内容
            if ($dofield == "newstext") {
                if ($cr[copyimg] || $cr[copyflash]) {
                    $GLOBALS['cjnewsurl'] = $r[oldurl];
                    $value = addslashes(CopyImg(stripSlashes($value), $cr[copyimg], $cr[copyflash], $cr[newsclassid], $cr[imgurl], $username, 0, $r['id'], $cr['mark']));
                }
                //替换关键字和字符
                $value = DoReplaceKeyAndWord($value, 1);
            }
            //简介
            if ($dofield == "smalltext") {
                if (empty($value)) {
                    $value = SubSmalltextVal($r[newstext], $cr[smalltextlen]);
                } else {
                    $value = DoClearSmalltextVal($value);
                }
            }
            //图片集
            if ($dofield == "morepic") {
                if ($cr[$var3] == " checked") {
                    $msavepic = 1;
                    $r['filepass'] = $r['id'];
                    $value = LoadInSaveMorepicFile($value, $msavepic, $cr[newsclassid], 0, $r);
                }
            }
            //时间
            if ($dofield == "newstime") {
                continue;
            }
            //图片标题
            if ($dofield == "titlepic" && $cr[zz_titlepicl]) {
                $cr[$var] = $cr[zz_titlepicl];
                $cr[$var1] = $cr[z_titlepicl];
                $cr[$var2] = $cr[qz_titlepicl];
                $cr[$var3] = $cr[save_titlepicl];
            }
            if ($dofield == "titlepic" && empty($value)) {
                $titlepicnoval = 1;
            }
            //是否远程保存
            if ($value && !$cr[$var1] && $cr[$var3] == " checked" && $dofield != "morepic") {
                $tranr = DoTranUrl($value, $cr[newsclassid]);
                if ($tranr[tran]) {
                    $tranr[filesize] = (int) $tranr[filesize];
                    $tranr[type] = (int) $tranr[type];
                    $r[id] = (int) $r[id];
                    //记录数据库
                    $usql = $empire->query("insert into {$dbtbpre}enewsfile(filename,filesize,adduser,path,filetime,classid,no,type,id,cjid,onclick,fpath) values('{$tranr['filename']}',{$tranr['filesize']},'{$username}','{$tranr['filepath']}','{$filetime}',{$cr['newsclassid']},'[URL]" . $tranr[filename] . "',{$tranr['type']},0,{$r['id']},0,'{$public_r['fpath']}');");
                    $value = $tranr[url];
                }
            }
            //存放文本
            if ($savetxtf == $dofield) {
                //建立目录
                $thetxtfile = GetFileMd5();
                $truevalue = MkDirTxtFile(date("Y/md"), $thetxtfile);
                //写放文件
                EditTxtFieldText($truevalue, $value);
                $value = $truevalue;
            }
            $value = RepDyh($value);
            if (strstr($emod_r[$mid]['tbdataf'], ',' . $dofield . ',')) {
                $dataifield .= "," . $dofield;
                $dataivalue .= ",'" . $value . "'";
            } else {
                $ifield .= "," . $dofield;
                $ivalue .= ",'" . $value . "'";
            }
        }
        $r[keyboard] = RepDyh($r[keyboard]);
        //时间
        if ($uptime) {
            $r[newstime] = $todaytime;
            $r[truetime] = $todaytime;
        } else {
            if ($r[newstime] == "0000-00-00 00:00:00") {
                $r[newstime] = $todaytime;
            } else {
                $r[newstime] = to_time($r[newstime]);
            }
        }
        //查看目录是否存在,不存在则建立
        $newspath = FormatPath($cr[newsclassid], "", 0);
        //强制签发
        if ($class_r[$cr[newsclassid]][wfid]) {
            $checked = 0;
            $isqf = 1;
        } else {
            $checked = $checked;
            $isqf = 0;
        }
        //变量处理
        $newstempid = 0;
        $ispic = $r[titlepic] ? 1 : 0;
        //返回关键字
        $keyid = GetKeyid($r[keyboard], $cr[newsclassid], 0, $class_r[$cr[newsclassid]][link_num]);
        $isql = $empire->query("insert into {$dbtbpre}ecms_" . $cr[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,newstime,ispic" . $ifield . ") values({$cr['newsclassid']},0,'{$newspath}','{$r['keyboard']}','{$keyid}',{$r['userid']},'{$r['username']}','{$cr['newsztid']}','{$checked}','{$r['truetime']}',0,1,0,'{$r['titlefont']}','{$r['titleurl']}','{$filename}',0,'" . $newstempid . "',0,0,'{$isqf}',0,0,0,0,'{$r['truetime']}',0,0,0,0,'{$stb}',0,'{$r['newstime']}','{$ispic}'" . $ivalue . ");");
        $id = $empire->lastid();
        //副表
        $fisql = $empire->query("insert into {$dbtbpre}ecms_" . $cr[tbname] . "_data_" . $stb . "(id,classid" . $dataifield . ") values('{$id}','{$cr['newsclassid']}'" . $dataivalue . ");");
        //签发
        if ($isqf == 1) {
            InfoInsertToWorkflow($id, $cr[newsclassid], $class_r[$cr[newsclassid]][wfid], $userid, $username);
        }
        //更新附件
        UpdateTheFile($id, $r['id']);
        //取第一张图片为标题图片
        $addtitlepic = "";
        if ($cr['getfirstpic'] && $titlepicnoval) {
            $firsttitlepic = GetFpicToTpic($cr[newsclassid], $id, $cr['getfirstpic'], $cr['getfirstspic'], $cr['getfirstspicw'], $cr['getfirstspich']);
            if ($firsttitlepic) {
                $addtitlepic = ",titlepic='" . addslashes($firsttitlepic) . "',ispic=1";
            }
        }
        //文件命名
        $filename = ReturnInfoFilename($cr[newsclassid], $id, $r[filenameqz]);
        $usql = $empire->query("update {$dbtbpre}ecms_" . $cr[tbname] . " set filename='{$filename}'" . $addtitlepic . " where id='{$id}'");
    }
    $fm = $_GET['fm'];
    //全部入库完毕
    if (empty($b)) {
        //取得忧化字段
        for ($ci = 0; $ci < $ccount - 1; $ci++) {
            $cir = explode($field, $cjr[$ci]);
            $cifield = $cir[1];
            if ($cifield == "title") {
                continue;
            }
            $updatefield .= "," . $cifield . "=''";
        }
        //状态原记录
        if ($cr['delloadinfo']) {
            $del = $empire->query("delete from {$dbtbpre}ecms_infotmp_" . $cr[tbname] . " where classid='{$classid}'");
        } else {
            $del = $empire->query("update {$dbtbpre}ecms_infotmp_" . $cr[tbname] . " set checked=1,keyboard=''" . $updatefield . " where classid='{$classid}'");
        }
        if ($fm) {
            echo "<link rel=\"stylesheet\" href=\"../data/images/css.css\" type=\"text/css\"><body topmargin=0><font color=red>" . $cr[classname] . "  " . $fun_r['CjLoadInInfosSuccess'] . "</font>,  <input type=button name=button value='" . $fun_r['OnlickLoadInCj'] . "' onclick=\"window.open('CheckCj.php?classid={$classid}&from={$_GET['from']}');\"></body>";
            exit;
        } else {
            printerror("CjLoadDbSuccess", "CheckCj.php?classid={$classid}&from={$_GET['from']}");
        }
    }
    echo "<b>{$cr['classname']}</b>&nbsp;&nbsp;" . $fun_r['OneCjLoadDbSuccess'] . "(ID:<font color=red><b>" . $newstart . "</b></font>)<script>self.location.href='ecmscj.php?enews=CjNewsIn_all&checked={$checked}&uptime={$uptime}&classid={$classid}&start={$newstart}&fm={$fm}&from={$_GET['from']}';</script>";
    exit;
}