예제 #1
0
파일: qinfofun.php 프로젝트: novnan/meiju
function DodoInfo($add, $ecms = 0)
{
    global $empire, $public_r, $emod_r, $level_r, $class_r, $dbtbpre, $fun_r;
    //验证来源
    if ($ecms == 0 || $ecms == 1) {
        CheckCanPostUrl();
    }
    //开启投稿
    if ($public_r['addnews_ok']) {
        printerror("CloseQAdd", "", 1);
    }
    //验证本时间允许操作
    eCheckTimeCloseDo('info');
    $classid = (int) $add['classid'];
    $mid = (int) $class_r[$classid]['modid'];
    if (!$mid || !$classid) {
        printerror("EmptyQinfoCid", "", 1);
    }
    $tbname = $emod_r[$mid]['tbname'];
    $qenter = $emod_r[$mid]['qenter'];
    if (!$tbname || !$qenter || $qenter == ',') {
        printerror("ErrorUrl", "history.go(-1)", 1);
    }
    $muserid = (int) getcvar('mluserid');
    $musername = RepPostVar(getcvar('mlusername'));
    $mrnd = RepPostVar(getcvar('mlrnd'));
    //取得栏目信息
    $isadd = 0;
    if ($ecms == 0) {
        $isadd = 1;
    }
    $setuserday = '';
    $cr = DoQCheckAddLevel($classid, $muserid, $musername, $mrnd, $ecms, $isadd);
    $setuserday = $cr['checkaddnumquery'];
    $filepass = (int) $add['filepass'];
    $id = (int) $add['id'];
    $infor = array();
    //组合标题属性
    $titlecolor = RepPostStr(RepPhpAspJspcodeText($add[titlecolor]));
    $titlefont = TitleFont($add[titlefont], $titlecolor);
    $titlecolor = "";
    $titlefont = "";
    $ttid = (int) $add['ttid'];
    $keyboard = addslashes(RepPostStr(trim(DoReplaceQjDh($add[keyboard]))));
    $keyid = '';
    //返回关键字组合
    if ($keyboard && strstr($qenter, ',special.field,')) {
        $keyboard = str_replace('[!--f--!]', 'ecms', $keyboard);
        $keyid = GetKeyid($keyboard, $classid, $id, $class_r[$classid][link_num]);
    }
    //验证码
    $keyvname = 'checkinfokey';
    //moreport
    if (Moreport_ReturnMustDt()) {
        define('ECMS_SELFPATH', eReturnEcmsMainPortPath());
        Moreport_ResetMainTempGid();
    }
    //-----------------增加
    if ($ecms == 0) {
        //时间
        $lasttime = getcvar('lastaddinfotime');
        if ($lasttime) {
            if (time() - $lasttime < $public_r['readdinfotime']) {
                printerror("QAddInfoOutTime", "", 1);
            }
        }
        //验证码
        if ($cr['qaddshowkey']) {
            ecmsCheckShowKey($keyvname, $add['key'], 1);
        }
        //IP发布数限制
        $check_ip = egetip();
        $check_checked = $cr['wfid'] ? 0 : $cr['checkqadd'];
        eCheckIpAddInfoNum($check_ip, $tbname, $mid, $check_checked);
        //返回字段
        $ret_r = ReturnQAddinfoF($mid, $add, $infor, $classid, $filepass, $muserid, $musername, 0);
        $checked = $cr['checkqadd'];
        $havehtml = 0;
        $newspath = date($cr['newspath']);
        $truetime = time();
        $newstime = $truetime;
        $newstempid = $cr['newstempid'];
        $haveaddfen = 0;
        //强制签发
        $isqf = 0;
        if ($cr['wfid']) {
            $checked = 0;
            $isqf = 1;
        }
        //增扣点
        if ($checked && $muserid) {
            AddInfoFen($cr['addinfofen'], $muserid);
            $haveaddfen = 1;
        }
        if (empty($muserid)) {
            $musername = $fun_r['guest'];
        }
        //会员投稿数更新
        if ($setuserday) {
            $empire->query($setuserday);
        }
        //发布时间
        if (!strstr($qenter, ',newstime,')) {
            $ret_r[0] = ",newstime" . $ret_r[0];
            $ret_r[1] = ",'{$newstime}'" . $ret_r[1];
        } else {
            if ($add['newstime']) {
                $newstime = to_time($add['newstime']);
                $newstime = intval($newstime);
            }
        }
        //附加链接参数
        $addecmscheck = empty($checked) ? '&ecmscheck=1' : '';
        //索引表
        $indexsql = $empire->query("insert into {$dbtbpre}ecms_" . $tbname . "_index(classid,checked,newstime,truetime,lastdotime,havehtml) values('{$classid}','{$checked}','{$newstime}','{$truetime}','{$truetime}','{$havehtml}');");
        $id = $empire->lastid();
        //返回表信息
        $infotbr = ReturnInfoTbname($tbname, $checked, $ret_r[4]);
        //主表
        $sql = $empire->query("insert into " . $infotbr['tbname'] . "(id,classid,ttid,onclick,plnum,totaldown,newspath,filename,userid,username,firsttitle,isgood,istop,isqf,ismember,isurl,truetime,lastdotime,havehtml,groupid,userfen,titlefont,titleurl,stb,fstb,restb,keyboard" . $ret_r[0] . ") values('{$id}','{$classid}','{$ttid}',0,0,0,'{$newspath}','','" . $muserid . "','" . addslashes($musername) . "',0,0,0,'{$isqf}',1,0,'{$truetime}','{$truetime}','{$havehtml}',0,0,'{$titlefont}','','{$ret_r['4']}','{$public_r['filedeftb']}','{$public_r['pldeftb']}','{$keyboard}'" . $ret_r[1] . ");");
        //副表
        $fsql = $empire->query("insert into " . $infotbr['datatbname'] . "(id,classid,keyid,dokey,newstempid,closepl,haveaddfen,infotags" . $ret_r[2] . ") values('{$id}','{$classid}','{$keyid}',1,'{$newstempid}',0,'{$haveaddfen}',''" . $ret_r[3] . ");");
        //扣点记录
        if ($haveaddfen) {
            if ($cr['addinfofen'] < 0) {
                BakDown($classid, $id, 0, $muserid, $musername, RepPostStr($add[title]), abs($cr['addinfofen']), 3);
            }
        }
        //签发
        if ($isqf == 1) {
            InfoInsertToWorkflow($id, $classid, $cr['wfid'], $muserid, addslashes($musername));
        }
        //文件命名
        $filename = ReturnInfoFilename($classid, $id, '');
        //信息地址
        $infourl = GotoGetTitleUrl($classid, $id, $newspath, $filename, 0, 0, '');
        $usql = $empire->query("update " . $infotbr['tbname'] . " set filename='{$filename}',titleurl='{$infourl}' where id='{$id}'");
        //修改ispic
        UpdateTheIspic($classid, $id, $checked);
        //修改附件
        if ($filepass) {
            UpdateTheFile($id, $filepass, $classid, $public_r['filedeftb']);
        }
        //更新栏目信息数
        AddClassInfos($classid, '+1', '+1', $checked);
        //更新新信息数
        DoUpdateAddDataNum('info', $class_r[$classid]['tid'], 1);
        //清除验证码
        ecmsEmptyShowKey($keyvname);
        esetcookie("qeditinfo", "", 0);
        //生成页面
        if ($checked && !$cr['showdt']) {
            $titleurl = qAddGetHtml($classid, $id);
        }
        //生成列表
        if ($checked) {
            qAddListHtml($classid, $mid, $cr['qaddlist'], $cr['listdt']);
            //生成上一篇
            if ($cr['repreinfo']) {
                $prer = $empire->fetch1("select * from {$dbtbpre}ecms_" . $tbname . " where id<{$id} and classid='{$classid}' order by id desc limit 1");
                GetHtml($prer['classid'], $prer['id'], $prer, 1);
            }
        }
        if ($sql) {
            $reurl = DoingReturnUrl("AddInfo.php?classid={$classid}&mid={$mid}" . $addecmscheck, $add['ecmsfrom']);
            if ($add['gotoinfourl'] && $checked) {
                if ($cr['showdt'] == 1) {
                    $reurl = $public_r[newsurl] . "e/action/ShowInfo/?classid={$classid}&id={$id}";
                } elseif ($cr['showdt'] == 2) {
                    $rewriter = eReturnRewriteInfoUrl($classid, $id, 1);
                    $reurl = $rewriter['pageurl'];
                } else {
                    $reurl = $titleurl;
                }
            }
            esetcookie("lastaddinfotime", time(), time() + 3600 * 24);
            //设置最后发表时间
            printerror("AddQinfoSuccess", $reurl, 1);
        } else {
            printerror("DbError", "history.go(-1)", 1);
        }
    } elseif ($ecms == 1) {
        if (!$id) {
            printerror("ErrorUrl", "history.go(-1)", 1);
        }
        //检测权限
        $infor = CheckQdoinfo($classid, $id, $muserid, $tbname, $cr['adminqinfo'], 1);
        //检测时间
        if ($public_r['qeditinfotime']) {
            if (time() - $infor['truetime'] > $public_r['qeditinfotime'] * 60) {
                printerror("QEditInfoOutTime", "history.go(-1)", 1);
            }
        }
        $iaddfield = '';
        $addfield = '';
        $faddfield = '';
        //返回字段
        $ret_r = ReturnQAddinfoF($mid, $add, $infor, $classid, $filepass, $muserid, $musername, 1);
        if ($keyboard) {
            $addfield = ",keyboard='{$keyboard}'";
            $faddfield = ",keyid='{$keyid}'";
        }
        //时间
        if (strstr($qenter, ',newstime,')) {
            if ($add['newstime']) {
                $newstime = to_time($add['newstime']);
                $newstime = intval($newstime);
                $iaddfield .= ",newstime='{$newstime}'";
            }
        }
        //修改是否需要审核
        $ychecked = $infor['checked'];
        if ($cr['qeditchecked']) {
            $infor['checked'] = 0;
            $iaddfield .= ",checked=0";
            $relist = 1;
            //删除原页面
            DelNewsFile($infor[filename], $infor[newspath], $infor[classid], $infor[newstext], $infor[groupid]);
        }
        //会员投稿数更新
        if ($setuserday) {
            //$empire->query($setuserday);
        }
        $lastdotime = time();
        //附加链接参数
        $addecmscheck = empty($infor['checked']) ? '&ecmscheck=1' : '';
        //索引表
        $indexsql = $empire->query("update {$dbtbpre}ecms_" . $tbname . "_index set lastdotime={$lastdotime},havehtml=0" . $iaddfield . " where id='{$id}'");
        //返回表信息
        $infotbr = ReturnInfoTbname($tbname, $ychecked, $infor['stb']);
        //主表
        $sql = $empire->query("update " . $infotbr['tbname'] . " set lastdotime={$lastdotime},havehtml=0,ttid='{$ttid}'" . $addfield . $ret_r[0] . " where id={$id} and classid={$classid} and userid='{$muserid}' and ismember=1");
        //副表
        $fsql = $empire->query("update " . $infotbr['datatbname'] . " set classid='{$classid}'" . $faddfield . $ret_r[3] . " where id='{$id}'");
        //修改ispic
        UpdateTheIspic($classid, $id, $ychecked);
        //更新附件
        UpdateTheFileEdit($classid, $id, $infor['fstb']);
        //未审核信息互转
        if ($ychecked != $infor['checked']) {
            MoveCheckInfoData($tbname, $ychecked, $infor['stb'], "id='{$id}'");
            //更新栏目信息数
            if ($infor['checked']) {
                AddClassInfos($classid, '', '+1');
            } else {
                AddClassInfos($classid, '', '-1');
            }
        }
        esetcookie("qeditinfo", "", 0);
        //生成页面
        if ($infor['checked'] && !$cr['showdt']) {
            $titleurl = qAddGetHtml($classid, $id);
        }
        //生成列表
        if ($infor['checked'] || $relist == 1) {
            qAddListHtml($classid, $mid, $cr['qaddlist'], $cr['listdt']);
        }
        //生成上一篇
        if ($cr['repreinfo'] && $infor['checked']) {
            $prer = $empire->fetch1("select * from {$dbtbpre}ecms_" . $tbname . " where id<{$id} and classid='{$classid}' order by id desc limit 1");
            GetHtml($prer['classid'], $prer['id'], $prer, 1);
        }
        if ($sql) {
            $reurl = DoingReturnUrl("ListInfo.php?mid={$mid}" . $addecmscheck, $add['ecmsfrom']);
            if ($add['editgotoinfourl'] && $infor['checked']) {
                if ($cr['showdt'] == 1) {
                    $reurl = $public_r[newsurl] . "e/action/ShowInfo/?classid={$classid}&id={$id}";
                } elseif ($cr['showdt'] == 2) {
                    $rewriter = eReturnRewriteInfoUrl($classid, $id, 1);
                    $reurl = $rewriter['pageurl'];
                } else {
                    $reurl = $titleurl;
                }
            }
            printerror("EditQinfoSuccess", $reurl, 1);
        } else {
            printerror("DbError", "history.go(-1)", 1);
        }
    } elseif ($ecms == 2) {
        if (!$id) {
            printerror("ErrorUrl", "history.go(-1)", 1);
        }
        //检测权限
        $r = CheckQdoinfo($classid, $id, $muserid, $tbname, $cr['adminqinfo'], 2);
        //附加链接参数
        $addecmscheck = empty($r['checked']) ? '&ecmscheck=1' : '';
        //返回表信息
        $infotbr = ReturnInfoTbname($tbname, $r['checked'], $r['stb']);
        $stf = $emod_r[$mid]['savetxtf'];
        $pf = $emod_r[$mid]['pagef'];
        //分页字段
        if ($pf) {
            if (strstr($emod_r[$mid]['tbdataf'], ',' . $pf . ',')) {
                $finfor = $empire->fetch1("select " . $pf . " from " . $infotbr['datatbname'] . " where id='{$id}' limit 1");
                $r[$pf] = $finfor[$pf];
            }
        }
        //存文本
        if ($stf) {
            $newstextfile = $r[$stf];
            $r[$stf] = GetTxtFieldText($r[$stf]);
            //删除文件
            DelTxtFieldText($newstextfile);
        }
        //删除信息文件
        DelNewsFile($r[filename], $r[newspath], $classid, $r[$pf], $r[groupid]);
        $indexsql = $empire->query("delete from {$dbtbpre}ecms_" . $tbname . "_index where id='{$id}'");
        $sql = $empire->query("delete from " . $infotbr['tbname'] . " where id={$id} and classid={$classid} and userid='{$muserid}' and ismember=1");
        $fsql = $empire->query("delete from " . $infotbr['datatbname'] . " where id={$id}");
        esetcookie("qdelinfo", "", 0);
        //更新栏目信息数
        AddClassInfos($classid, '-1', '-1', $r['checked']);
        //删除其它表记录和附件
        DelSingleInfoOtherData($classid, $id, $r, 0, 0);
        //生成列表
        if ($r['checked']) {
            qAddListHtml($classid, $mid, $cr['qaddlist'], $cr['listdt']);
            //生成上一篇
            if ($cr['repreinfo']) {
                $prer = $empire->fetch1("select * from {$dbtbpre}ecms_" . $tbname . " where id<{$id} and classid='{$classid}' order by id desc limit 1");
                GetHtml($prer['classid'], $prer['id'], $prer, 1);
                //下一篇
                $nextr = $empire->fetch1("select * from {$dbtbpre}ecms_" . $tbname . " where id>{$id} and classid='{$classid}' order by id limit 1");
                if ($nextr['id']) {
                    GetHtml($nextr['classid'], $nextr['id'], $nextr, 1);
                }
            }
        }
        if ($sql) {
            $reurl = DoingReturnUrl("ListInfo.php?mid={$mid}", $add['ecmsfrom']);
            printerror("DelQinfoSuccess", $reurl, 1);
        } else {
            printerror("DbError", "history.go(-1)", 1);
        }
    } else {
        printerror("ErrorUrl", "", 1);
    }
}
예제 #2
0
파일: hinfofun.php 프로젝트: novnan/meiju
function DoWfInfo($add, $userid, $username)
{
    global $empire, $dbtbpre, $class_r, $emod_r, $lur;
    $id = (int) $add[id];
    $classid = (int) $add[classid];
    $doing = (int) $add['doing'];
    if (!$id || !$classid || !$doing) {
        printerror('EmptyDoWfInfo', '');
    }
    $wfinfor = $empire->fetch1("select id,checknum,wfid,tid,groupid,userclass,username,checktno from {$dbtbpre}enewswfinfo where id='{$id}' and classid='{$classid}' limit 1");
    if (!$wfinfor[id]) {
        printerror('ErrorUrl', '');
    }
    if ($wfinfor[checktno] == '100' || $wfinfor[checktno] == '101' || $wfinfor[checktno] == '102') {
        printerror('DoWfInfoOver', '');
    }
    $wfitemr = $empire->fetch1("select tid,wfid,tno,groupid,userclass,username,lztype,tbdo,tddo,tstatus from {$dbtbpre}enewsworkflowitem where tid='{$wfinfor['tid']}'");
    if (!(strstr(',' . $wfitemr[groupid] . ',', ',' . $lur[groupid] . ',') || strstr(',' . $wfitemr[userclass] . ',', ',' . $lur[classid] . ',') || strstr(',' . $wfitemr[username] . ',', ',' . $lur[username] . ','))) {
        printerror("NotDoCheckUserLevel", "history.go(-1)");
    }
    if (!(strstr(',' . $wfinfor[groupid] . ',', ',' . $lur[groupid] . ',') || strstr(',' . $wfinfor[userclass] . ',', ',' . $lur[classid] . ',') || strstr(',' . $wfinfor[username] . ',', ',' . $lur[username] . ','))) {
        printerror("HaveDoWfInfo", "history.go(-1)");
    }
    $pubid = ReturnInfoPubid($classid, $id);
    //附加链接参数
    $addecmscheck = empty($_POST['ecmscheck']) ? '&ecmscheck=1' : '';
    $checktext = ehtmlspecialchars($add[checktext]);
    if ($doing == 1) {
        if ($wfitemr[lztype] == 0) {
            if ($wfitemr['tno'] == '100') {
                $empire->query("update {$dbtbpre}ecms_" . $class_r[$classid][tbname] . "_index set checked=1 where id='{$id}'");
                $ar = $empire->fetch1("select * from {$dbtbpre}ecms_" . $class_r[$classid][tbname] . "_check where id='{$id}'");
                //未审核表转换
                MoveCheckInfoData($class_r[$classid][tbname], 0, $ar['stb'], "id='{$id}'");
                //更新栏目信息数
                AddClassInfos($classid, '', '+1');
                $empire->query("update {$dbtbpre}enewswfinfo set tstatus='',checktno='100' where id='{$id}' and classid='{$classid}' limit 1");
                //日志
                InsertWfLog($classid, $id, $wfitemr[wfid], $wfitemr[tid], $username, $checktext, $wfinfor[checknum], 1);
                //生成
                GetHtml($ar['classid'], $ar['id'], $ar, 1);
                ListHtml($classid, $fr, 0);
            } else {
                $newwfitemr = $empire->fetch1("select tid,wfid,tno,groupid,userclass,username,lztype,tbdo,tddo,tstatus from {$dbtbpre}enewsworkflowitem where wfid='{$wfitemr['wfid']}' and tno>{$wfitemr['tno']} order by tno limit 1");
                $empire->query("update {$dbtbpre}enewswfinfo set tid='{$newwfitemr['tid']}',groupid='{$newwfitemr['groupid']}',userclass='{$newwfitemr['userclass']}',username='******'username']}',tstatus='{$newwfitemr['tstatus']}',checktno='0' where id='{$id}' and classid='{$classid}' limit 1");
                //日志
                InsertWfLog($classid, $id, $newwfitemr[wfid], $newwfitemr[tid], $username, $checktext, $wfinfor[checknum], 1);
            }
        } else {
            $newgroupid = str_replace(',' . $lur[groupid] . ',', ',', $wfinfor[groupid]);
            $newuserclass = str_replace(',' . $lur[classid] . ',', ',', $wfinfor[userclass]);
            $newusername = str_replace(',' . $lur[username] . ',', ',', $wfinfor[username]);
            //下一个节点
            if (($newgroupid == '' || $newgroupid == ',') && ($newuserclass == '' || $newuserclass == ',') && ($newusername == '' || $newusername == ',')) {
                if ($wfitemr['tno'] == '100') {
                    $empire->query("update {$dbtbpre}ecms_" . $class_r[$classid][tbname] . "_index set checked=1 where id='{$id}'");
                    $ar = $empire->fetch1("select * from {$dbtbpre}ecms_" . $class_r[$classid][tbname] . "_check where id='{$id}'");
                    //未审核表转换
                    MoveCheckInfoData($class_r[$classid][tbname], 0, $ar['stb'], "id='{$id}'");
                    //更新栏目信息数
                    AddClassInfos($classid, '', '+1');
                    $empire->query("update {$dbtbpre}enewswfinfo set tstatus='',checktno='100' where id='{$id}' and classid='{$classid}' limit 1");
                    //日志
                    InsertWfLog($classid, $id, $wfitemr[wfid], $wfitemr[tid], $username, $checktext, $wfinfor[checknum], 1);
                    //生成
                    GetHtml($ar['classid'], $ar['id'], $ar, 1);
                    ListHtml($classid, $fr, 0);
                } else {
                    $newwfitemr = $empire->fetch1("select tid,wfid,tno,groupid,userclass,username,lztype,tbdo,tddo,tstatus from {$dbtbpre}enewsworkflowitem where wfid='{$wfitemr['wfid']}' and tno>{$wfitemr['tno']} order by tno limit 1");
                    $empire->query("update {$dbtbpre}enewswfinfo set tid='{$newwfitemr['tid']}',groupid='{$newwfitemr['groupid']}',userclass='{$newwfitemr['userclass']}',username='******'username']}',tstatus='{$newwfitemr['tstatus']}',checktno='0' where id='{$id}' and classid='{$classid}' limit 1");
                    //日志
                    InsertWfLog($classid, $id, $newwfitemr[wfid], $newwfitemr[tid], $username, $checktext, $wfinfor[checknum], 1);
                }
            } else {
                $empire->query("update {$dbtbpre}enewswfinfo set groupid='{$newgroupid}',userclass='{$newuserclass}',username='******' where id='{$id}' and classid='{$classid}' limit 1");
                //日志
                InsertWfLog($classid, $id, $wfitemr[wfid], $wfitemr[tid], $username, $checktext, $wfinfor[checknum], 1);
            }
        }
        $mess = 'DoWfInfoCkSuccess';
    } elseif ($doing == 2) {
        if (empty($checktext)) {
            printerror('EmptyChecktext', 'history.go(-1)');
        }
        if ($wfitemr[tbdo] == 0) {
            $empire->query("update {$dbtbpre}enewswfinfo set tid=0,tstatus='',checktno='101' where id='{$id}' and classid='{$classid}' limit 1");
        } else {
            $newwfitemr = $empire->fetch1("select tid,wfid,tno,groupid,userclass,username,lztype,tbdo,tddo,tstatus from {$dbtbpre}enewsworkflowitem where wfid='{$wfitemr['wfid']}' and tid='{$wfitemr['tbdo']}' limit 1");
            $empire->query("update {$dbtbpre}enewswfinfo set tid='{$newwfitemr['tid']}',groupid='{$newwfitemr['groupid']}',userclass='{$newwfitemr['userclass']}',username='******'username']}',tstatus='{$newwfitemr['tstatus']}',checktno='101' where id='{$id}' and classid='{$classid}' limit 1");
        }
        //日志
        InsertWfLog($classid, $id, $wfitemr[wfid], $wfitemr[tid], $username, $checktext, $wfinfor[checknum], 2);
        $mess = 'DoWfInfoTbSuccess';
    } else {
        if (empty($checktext)) {
            printerror('EmptyChecktext', 'history.go(-1)');
        }
        $empire->query("update {$dbtbpre}enewswfinfo set tid=0,tstatus='',checktno='102' where id='{$id}' and classid='{$classid}' limit 1");
        //日志
        InsertWfLog($classid, $id, $wfitemr[wfid], $wfitemr[tid], $username, $checktext, $wfinfor[checknum], 3);
        if ($wfitemr[tddo]) {
            $index_r = $empire->fetch1("select checked from {$dbtbpre}ecms_" . $class_r[$classid][tbname] . "_index where id='{$id}' limit 1");
            //返回表
            $infotb = ReturnInfoMainTbname($class_r[$classid][tbname], $index_r['checked']);
            $r = $empire->fetch1("select * from " . $infotb . " where id='{$id}' limit 1");
            $mid = $class_r[$classid][modid];
            $tbname = $class_r[$classid][tbname];
            $pf = $emod_r[$mid]['pagef'];
            $stf = $emod_r[$mid]['savetxtf'];
            //返回表信息
            $infotbr = ReturnInfoTbname($class_r[$classid][tbname], $index_r['checked'], $r['stb']);
            //分页字段
            if ($pf) {
                if (strstr($emod_r[$mid]['tbdataf'], ',' . $pf . ',')) {
                    $finfor = $empire->fetch1("select " . $pf . " from " . $infotbr['datatbname'] . " where id='{$id}' limit 1");
                    $r[$pf] = $finfor[$pf];
                }
            }
            //存文本
            if ($stf) {
                $newstextfile = $r[$stf];
                $r[$stf] = GetTxtFieldText($r[$stf]);
                DelTxtFieldText($newstextfile);
                //删除文件
            }
            DelNewsFile($r[filename], $r[newspath], $classid, $r[$pf], $r[groupid]);
            //删除信息文件
            $empire->query("delete from {$dbtbpre}ecms_" . $tbname . "_index where id='{$id}'");
            $sql = $empire->query("delete from " . $infotbr['tbname'] . " where id='{$id}'");
            $fsql = $empire->query("delete from " . $infotbr['datatbname'] . " where id='{$id}'");
            //更新栏目信息数
            AddClassInfos($r[classid], '-1', '-1', $index_r['checked']);
            //删除其它表记录与附件
            DelSingleInfoOtherData($r['classid'], $id, $r, 0, 0);
        }
        $mess = 'DoWfInfoTdSuccess';
        $isclose = 1;
    }
    //操作日志
    insert_dolog("classid={$classid}&id={$id}", $pubid);
    printerror($mess, "workflow/DoWfInfo.php?classid={$classid}&id={$id}&isclose={$isclose}" . hReturnEcmsHashStrHref2(0));
}
예제 #3
0
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] . "_check where id='{$r['id']}' limit 1");
            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] . "_index set checked=1 where id='{$r['id']}' limit 1");
            $pubid = ReturnInfoPubid($r['classid'], $r['id']);
            $empire->query("update {$dbtbpre}enewsinfovote set infouptime=0 where pubid='{$pubid}' limit 1");
            //互转
            MoveCheckInfoData($class_r[$r[classid]][tbname], 0, $infor['stb'], "id='{$r['id']}'");
            AddClassInfos($r['classid'], '', '+1');
            //刷新信息
            GetHtml($infor['classid'], $infor['id'], $infor, 1);
            //刷新列表
            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] . "' limit 1");
            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']}' limit 1");
                    $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] . "_index set checked=0,havehtml=0 where id='{$r['id']}' limit 1");
            $pubid = ReturnInfoPubid($r['classid'], $r['id']);
            $empire->query("update {$dbtbpre}enewsinfovote set infodowntime=0 where pubid='{$pubid}' limit 1");
            //互转
            MoveCheckInfoData($class_r[$r[classid]][tbname], 1, $infor['stb'], "id='{$r['id']}'");
            AddClassInfos($r['classid'], '', '-1');
            //刷新列表
            ReListHtml($r[classid], 1);
        }
    }
}