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]); $todaytime = time(); $filetime = $todaytime; $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'], $public_r['filedeftb'])); } //替换关键字和字符 $value = DoReplaceKeyAndWord($value, 1, $cr[newsclassid]); } //简介 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, 0, $public_r['filedeftb']); } } //时间 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]; //记录数据库 eInsertFileTable($tranr[filename], $tranr[filesize], $tranr[filepath], $username, $cr[newsclassid], '[URL]' . $tranr[filename], $tranr[type], 0, $r[id], $public_r[fpath], 0, 0, $public_r['filedeftb']); $value = $tranr[url]; } } //存放文本 if ($savetxtf == $dofield) { //建立目录 $thetxtfile = GetFileMd5(); $truevalue = MkDirTxtFile(date("Y/md"), $thetxtfile); //写放文件 EditTxtFieldText($truevalue, $value); $value = $truevalue; } $value = addslashes($value); if (strstr($emod_r[$mid]['tbdataf'], ',' . $dofield . ',')) { $dataifield .= "," . $dofield; $dataivalue .= ",'" . $value . "'"; } else { $ifield .= "," . $dofield; $ivalue .= ",'" . $value . "'"; } } $r[keyboard] = addslashes($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]); //索引表 $havehtml = 0; $indexsql = $empire->query("insert into {$dbtbpre}ecms_" . $class_r[$cr[newsclassid]][tbname] . "_index(classid,checked,newstime,truetime,lastdotime,havehtml) values('{$cr['newsclassid']}','{$checked}','{$r['newstime']}','{$r['truetime']}','{$r['truetime']}','{$havehtml}');"); $id = $empire->lastid(); $infotbr = ReturnInfoTbname($class_r[$cr[newsclassid]][tbname], $checked, $stb); //主表 $isurl = $r['titleurl'] ? 1 : 0; $isql = $empire->query("insert into " . $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,newstime" . $ifield . ") values('{$id}','{$cr['newsclassid']}',0,0,0,0,'{$newspath}','{$filename}','{$r['userid']}','{$r['username']}',0,0,'{$ispic}',0,'{$isqf}',0,'{$isurl}','{$r['truetime']}','{$r['truetime']}','{$havehtml}',0,0,'{$r['titlefont']}','{$r['titleurl']}','{$stb}','{$public_r['filedeftb']}','{$public_r['pldeftb']}','{$r['keyboard']}','{$r['newstime']}'" . $ivalue . ");"); //副表 $fisql = $empire->query("insert into " . $infotbr['datatbname'] . "(id,classid,keyid,dokey,newstempid,closepl,haveaddfen,infotags" . $dataifield . ") values('{$id}','{$cr['newsclassid']}','{$keyid}',1,'{$newstempid}',0,0,''" . $dataivalue . ");"); //更新栏目信息数 AddClassInfos($cr['newsclassid'], '+1', '+1', $checked); //更新新信息数 DoUpdateAddDataNum('info', $class_r[$cr['newsclassid']]['tid'], 1); //签发 if ($isqf == 1) { InfoInsertToWorkflow($id, $cr[newsclassid], $class_r[$cr[newsclassid]][wfid], $userid, $username); } //更新附件 UpdateTheFile($id, $r['id'], $cr[newsclassid], $public_r['filedeftb']); //取第一张图片为标题图片 $addtitlepic = ""; if ($cr['getfirstpic'] && $titlepicnoval) { $firsttitlepic = GetFpicToTpic($cr[newsclassid], $id, $cr['getfirstpic'], $cr['getfirstspic'], $cr['getfirstspicw'], $cr['getfirstspich'], $public_r['filedeftb']); if ($firsttitlepic) { $addtitlepic = ",titlepic='" . addslashes($firsttitlepic) . "',ispic=1"; } } //文件命名 $filename = ReturnInfoFilename($cr[newsclassid], $id, $r[filenameqz]); //信息地址 $updateinfourl = ''; if (!$isurl) { $infourl = GotoGetTitleUrl($cr['newsclassid'], $id, $newspath, $filename, 0, $isurl, ''); $updateinfourl = ",titleurl='{$infourl}'"; } $usql = $empire->query("update " . $infotbr['tbname'] . " set filename='{$filename}'" . $updateinfourl . $addtitlepic . " where id='{$id}'"); } $fm = ehtmlspecialchars($_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=" . ehtmlspecialchars($_GET[from]) . hReturnEcmsHashStrHref2(0) . "');\"></body>"; exit; } else { printerror("CjLoadDbSuccess", "CheckCj.php?classid={$classid}&from=" . ehtmlspecialchars($_GET[from]) . hReturnEcmsHashStrHref2(0)); } } echo "<b>{$cr['classname']}</b> " . $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=" . ehtmlspecialchars($_GET[from]) . hReturnEcmsHashStrHref(0) . "';</script>"; exit; }
function AddNews($add, $userid, $username) { global $empire, $class_r, $class_zr, $bclassid, $public_r, $dbtbpre, $emod_r; $add[classid] = (int) $add[classid]; $userid = (int) $userid; $ztid = $add[ztid]; if (!$add[title] || !$add[classid]) { printerror("EmptyTitle", "history.go(-1)"); } //操作权限 $doselfinfo = CheckLevel($userid, $username, $add[classid], "news"); if (!$doselfinfo['doaddinfo']) { printerror("NotAddInfoLevel", "history.go(-1)"); } $ccr = $empire->fetch1("select classid,modid,listdt,haddlist,sametitle,addreinfo,wburl,repreinfo from {$dbtbpre}enewsclass where classid='{$add['classid']}' and islast=1"); if (!$ccr['classid'] || $ccr[wburl]) { printerror("ErrorUrl", "history.go(-1)"); } if ($ccr['sametitle']) { $num = $empire->gettotal("select count(*) as total from {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " where title='{$add['title']}' limit 1"); if ($num) { printerror("ReInfoTitle", "history.go(-1)"); } } $add = DoPostInfoVar($add); //返回变量 $ret_r = ReturnAddF($add, $class_r[$add[classid]][modid], $userid, $username, 0, 0, 1); //返回自定义字段 $newspath = FormatPath($add[classid], $add[newspath], 1); //查看目录是否存在,不存在则建立 //签发 $isqf = 0; if ($class_r[$add[classid]][wfid]) { $add[checked] = 0; $isqf = 1; } $truetime = time(); $lastdotime = $truetime; //返回关键字组合 if ($add['info_diyotherlink']) { $keyid = DoPostDiyOtherlinkID($add['info_keyid']); } else { $keyid = GetKeyid($add[keyboard], $add[classid], 0, $class_r[$add[classid]][link_num]); } //主表 $sql = $empire->query("insert into {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . "(classid,onclick,newspath,keyboard,keyid,userid,username,ztid,checked,istop,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({$add['classid']},'{$add['onclick']}','{$newspath}','" . addslashes($add[keyboard]) . "','{$keyid}',{$userid},'" . addslashes($username) . "','{$add['my_ztid']}',{$add['checked']},'{$add['istop']}',{$truetime},0,{$add['dokey']},{$add['isgood']},'" . addslashes($add[my_titlefont]) . "','" . addslashes($add[titleurl]) . "','{$filename}',{$add['groupid']},{$add['newstempid']},0,{$add['firsttitle']},'{$isqf}',{$add['userfen']},'{$add['totaldown']}',{$add['closepl']},0,{$lastdotime},0,0,0,0,'" . $ret_r[tb] . "','{$add['ttid']}','" . addslashes($add[infotags]) . "','{$add['ispic']}'" . $ret_r[values] . ");"); $id = $empire->lastid(); //副表 $fsql = $empire->query("insert into {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . "_data_" . $ret_r['tb'] . "(id,classid" . $ret_r[datafields] . ") values('{$id}','{$add['classid']}'" . $ret_r[datavalues] . ");"); //签发 if ($isqf == 1) { InfoInsertToWorkflow($id, $add[classid], $class_r[$add[classid]][wfid], $userid, $username); } //更新附件表 UpdateTheFile($id, $add['filepass']); //取第一张图作为标题图片 if ($add['getfirsttitlepic'] && empty($add['titlepic'])) { $firsttitlepic = GetFpicToTpic($add['classid'], $id, $add['getfirsttitlepic'], $add['getfirsttitlespic'], $add['getfirsttitlespicw'], $add['getfirsttitlespich']); if ($firsttitlepic) { $addtitlepic = ",titlepic='" . addslashes($firsttitlepic) . "',ispic=1"; } } //文件命名 if ($add['filename']) { $filename = $add['filename']; } else { $filename = ReturnInfoFilename($add[classid], $id, ''); } $usql = $empire->query("update {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " set filename='{$filename}'" . $addtitlepic . " where id='{$id}'"); //替换图片下一页 if ($add['repimgnexturl']) { UpdateImgNexturl($add[classid], $id); } //投票 AddInfoVote($add['classid'], $id, $add); //TAGS if ($add[infotags] && $add[infotags] != $add[oldinfotags]) { $tagtime = empty($add[newstime]) ? time() : to_time($add[newstime]); eInsertTags($add[infotags], $add['classid'], $id, $tagtime); } //增加信息是否生成文件 if ($ccr['addreinfo']) { $ar = $empire->fetch1("select * from {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " where id='{$id}'"); GetHtml($ar, ''); } //生成上一篇 if ($ccr['repreinfo'] && $add[checked]) { $prer = $empire->fetch1("select * from {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " where id<{$id} and classid='{$add['classid']}' and checked=1 order by id desc limit 1"); GetHtml($prer, ''); } //生成栏目 if ($ccr[haddlist] && $add[checked]) { hAddListHtml($add[classid], $ccr['modid'], $ccr['haddlist'], $ccr['listdt']); //生成信息列表 for ($z = 0; $z < count($ztid); $z++) { ListHtml(intval($ztid[$z]), '', 1); } } //同时发布 $copyclassid = $add[copyclassid]; $cpcount = count($copyclassid); if ($cpcount) { $copyids = AddInfoToCopyInfo($add[classid], $id, $copyclassid, $userid, $username); if ($copyids) { $empire->query("update {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " set copyids='{$copyids}' where id='{$id}'"); } } if ($sql) { //返回地址 if ($add['ecmsfrom'] && (stristr($add['ecmsfrom'], 'ListNews.php') || stristr($add['ecmsfrom'], 'ListAllInfo.php'))) { $ecmsfrom = $add['ecmsfrom']; } else { $ecmsfrom = $add['ecmsnfrom'] == 1 ? "ListNews.php?bclassid={$add['bclassid']}&classid={$add['classid']}" : "ListAllInfo.php?tbname=" . $class_r[$add[classid]][tbname]; } $GLOBALS['ecmsadderrorurl'] = $ecmsfrom; insert_dolog("classid={$add['classid']}<br>id=" . $id . "<br>title=" . $add[title]); //操作日志 printerror("AddNewsSuccess", "AddNews.php?enews=AddNews&ecmsnfrom={$add['ecmsnfrom']}&bclassid={$add['bclassid']}&classid={$add['classid']}"); } else { printerror("DbError", ""); } }
function AddNews($add, $userid, $username) { global $empire, $class_r, $class_zr, $bclassid, $public_r, $dbtbpre, $emod_r; $add[classid] = (int) $add[classid]; $userid = (int) $userid; if (!$add[title] || !$add[classid]) { printerror("EmptyTitle", "history.go(-1)"); } //操作权限 $doselfinfo = CheckLevel($userid, $username, $add[classid], "news"); if (!$doselfinfo['doaddinfo']) { printerror("NotAddInfoLevel", "history.go(-1)"); } $ccr = $empire->fetch1("select classid,modid,listdt,haddlist,sametitle,addreinfo,wburl,repreinfo from {$dbtbpre}enewsclass where classid='{$add['classid']}' and islast=1 limit 1"); if (!$ccr['classid'] || $ccr['wburl']) { printerror("ErrorUrl", "history.go(-1)"); } if ($ccr['sametitle']) { if (ReturnCheckRetitle($add)) { printerror("ReInfoTitle", "history.go(-1)"); } } $add = DoPostInfoVar($add); //返回变量 $ret_r = ReturnAddF($add, $class_r[$add[classid]][modid], $userid, $username, 0, 0, 1); //返回自定义字段 $newspath = FormatPath($add[classid], $add[newspath], 1); //查看目录是否存在,不存在则建立 //审核权限 if (!$doselfinfo['docheckinfo']) { $add['checked'] = $class_r[$add[classid]][checked]; } //必须审核 if ($doselfinfo['domustcheck']) { $add['checked'] = 0; } //推荐权限 if (!$doselfinfo['dogoodinfo']) { $add['isgood'] = 0; $add['firsttitle'] = 0; $add['istop'] = 0; } //签发 $isqf = 0; if ($class_r[$add[classid]][wfid]) { $add[checked] = 0; $isqf = 1; } $newstime = empty($add['newstime']) ? time() : to_time($add['newstime']); $truetime = time(); $lastdotime = $truetime; //是否生成 $havehtml = 0; if ($add['checked'] == 1 && $ccr['addreinfo']) { $havehtml = 1; } //返回关键字组合 if ($add['info_diyotherlink']) { $keyid = DoPostDiyOtherlinkID($add['info_keyid']); } else { $keyid = GetKeyid($add[keyboard], $add[classid], 0, $class_r[$add[classid]][link_num]); } //附加链接参数 $addecmscheck = empty($add['checked']) ? '&ecmscheck=1' : ''; //索引表 $sql = $empire->query("insert into {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . "_index(classid,checked,newstime,truetime,lastdotime,havehtml) values('{$add['classid']}','{$add['checked']}','{$newstime}','{$truetime}','{$lastdotime}','{$havehtml}');"); $id = $empire->lastid(); $pubid = ReturnInfoPubid($add['classid'], $id); $infotbr = ReturnInfoTbname($class_r[$add[classid]][tbname], $add['checked'], $ret_r['tb']); //主表 $infosql = $empire->query("insert into " . $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('{$id}','{$add['classid']}','{$add['ttid']}','{$add['onclick']}',0,'{$add['totaldown']}','{$newspath}','{$filename}','{$userid}','" . addslashes($username) . "','{$add['firsttitle']}','{$add['isgood']}','{$add['ispic']}','{$add['istop']}','{$isqf}',0,'{$add['isurl']}','{$truetime}','{$lastdotime}','{$havehtml}','{$add['groupid']}','{$add['userfen']}','" . addslashes($add[my_titlefont]) . "','" . addslashes($add[titleurl]) . "','{$ret_r['tb']}','{$public_r['filedeftb']}','{$public_r['pldeftb']}','" . addslashes($add[keyboard]) . "'" . $ret_r['values'] . ");"); //副表 $finfosql = $empire->query("insert into " . $infotbr['datatbname'] . "(id,classid,keyid,dokey,newstempid,closepl,haveaddfen,infotags" . $ret_r['datafields'] . ") values('{$id}','{$add['classid']}','{$keyid}','{$add['dokey']}','{$add['newstempid']}','{$add['closepl']}',0,'" . addslashes($add[infotags]) . "'" . $ret_r['datavalues'] . ");"); //更新栏目信息数 AddClassInfos($add['classid'], '+1', '+1', $add['checked']); //更新新信息数 DoUpdateAddDataNum('info', $class_r[$add['classid']]['tid'], 1); //签发 if ($isqf == 1) { InfoInsertToWorkflow($id, $add[classid], $class_r[$add[classid]][wfid], $userid, $username); } //更新附件表 UpdateTheFile($id, $add['filepass'], $add['classid'], $public_r['filedeftb']); //取第一张图作为标题图片 if ($add['getfirsttitlepic'] && empty($add['titlepic'])) { $firsttitlepic = GetFpicToTpic($add['classid'], $id, $add['getfirsttitlepic'], $add['getfirsttitlespic'], $add['getfirsttitlespicw'], $add['getfirsttitlespich'], $public_r['filedeftb']); if ($firsttitlepic) { $addtitlepic = ",titlepic='" . addslashes($firsttitlepic) . "',ispic=1"; } } //文件命名 if ($add['filename']) { $filename = $add['filename']; } else { $filename = ReturnInfoFilename($add[classid], $id, ''); } //信息地址 $updateinfourl = ''; if (!$add['isurl']) { $infourl = GotoGetTitleUrl($add['classid'], $id, $newspath, $filename, $add['groupid'], $add['isurl'], $add['titleurl']); $updateinfourl = ",titleurl='{$infourl}'"; } $usql = $empire->query("update " . $infotbr['tbname'] . " set filename='{$filename}'" . $updateinfourl . $addtitlepic . " where id='{$id}'"); //替换图片下一页 if ($add['repimgnexturl']) { UpdateImgNexturl($add[classid], $id, $add['checked']); } //投票 AddInfoVote($add['classid'], $id, $add); //加入专题 InsertZtInfo($add['ztids'], $add['zcids'], $add['oldztids'], $add['oldzcids'], $add['classid'], $id, $newstime); //TAGS if ($add[infotags] && $add[infotags] != $add[oldinfotags]) { eInsertTags($add[infotags], $add['classid'], $id, $newstime); } //增加信息是否生成文件 if ($ccr['addreinfo'] && $add['checked']) { GetHtml($add['classid'], $id, '', 0); } //生成上一篇 if ($ccr['repreinfo'] && $add['checked']) { $prer = $empire->fetch1("select * from {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " where id<{$id} and classid='{$add['classid']}' order by id desc limit 1"); GetHtml($add['classid'], $prer['id'], $prer, 1); } //生成栏目 if ($ccr['haddlist'] && $add['checked']) { hAddListHtml($add['classid'], $ccr['modid'], $ccr['haddlist'], $ccr['listdt']); //生成信息列表 if ($add['ttid']) { ListHtml($add['ttid'], '', 5); } } //同时发布 $copyclassid = $add[copyclassid]; $cpcount = count($copyclassid); if ($cpcount) { $copyids = AddInfoToCopyInfo($add[classid], $id, $copyclassid, $userid, $username, $doselfinfo); if ($copyids) { UpdateInfoCopyids($add['classid'], $id, $copyids); } } if ($sql) { //返回地址 if ($add['ecmsfrom'] && (stristr($add['ecmsfrom'], 'ListNews.php') || stristr($add['ecmsfrom'], 'ListAllInfo.php'))) { $ecmsfrom = $add['ecmsfrom']; } else { $ecmsfrom = $add['ecmsnfrom'] == 1 ? "ListNews.php?bclassid={$add['bclassid']}&classid={$add['classid']}" : "ListAllInfo.php?tbname=" . $class_r[$add[classid]][tbname]; $ecmsfrom .= hReturnEcmsHashStrHref2(0); } $GLOBALS['ecmsadderrorurl'] = $ecmsfrom . $addecmscheck; insert_dolog("classid={$add['classid']}<br>id=" . $id . "<br>title=" . $add[title], $pubid); //操作日志 printerror("AddNewsSuccess", "AddNews.php?enews=AddNews&ecmsnfrom={$add['ecmsnfrom']}&bclassid={$add['bclassid']}&classid={$add['classid']}" . $addecmscheck . hReturnEcmsHashStrHref2(0)); } else { printerror("DbError", ""); } }
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); } }