function ReturnAddF($add, $modid, $userid, $username, $do = 0, $rdata = 0, $ch = 0) { global $empire, $public_r, $dbtbpre, $emod_r; if ($do == 0 || $do == 1) { //导入gd处理文件 if ($add['mark'] || $add['getfirsttitlespic'] || $add['mcreatespic']) { include_once ECMS_PATH . 'e/class/gd.php'; } } $ret_r['tb'] = $emod_r[$modid]['deftb']; $r = explode(',', $emod_r[$modid][enter]); $count = count($r) - 1; if (empty($do)) { //数据库操作 for ($i = 1; $i < $count; $i++) { $f = $r[$i]; if ($f == 'special.field' || !strstr($emod_r[$modid]['canaddf'], ',' . $f . ',')) { continue; } $add[$f] = ReturnCheckboxAddF($add[$f], $modid, $f); //复选框 $value = RepPhpAspJspcodeText($add[$f]); if ($f == 'newstime') { $value = empty($value) ? time() : to_time($value); } elseif ($f == "morepic") { $value = ReturnMorepicpath($add['msmallpic'], $add['mbigpic'], $add['mpicname'], $add['mdelpicid'], $add['mpicid'], $add, $add['mpicurl_qz'], 0); } elseif ($f == "downpath") { $value = ReturnDownpath($add['downname'], $add['downpath'], $add['delpathid'], $add['pathid'], $add['downuser'], $add['fen'], $add['thedownqz'], $add, $add['foruser'], $add['downurl_qz'], 0); } elseif ($f == "onlinepath") { $value = ReturnDownpath($add['odownname'], $add['odownpath'], $add['odelpathid'], $add['opathid'], $add['odownuser'], $add['ofen'], $add['othedownqz'], $add, $add['oforuser'], $add['onlineurl_qz'], 0); } elseif ($f == "smalltext") { if (!trim($value)) { $value = SubSmalltextVal($add[newstext], $public_r[smalltextlen]); //截取新闻内容 } } elseif ($f == 'infoip') { $value = egetip(); } elseif ($f == 'infozm') { $value = $value ? $value : GetInfoZm($add[title]); } //处理函数 $value = DoFFun($modid, $f, $value, 1, 0); //检测必填字段 if ($ch == 1 && empty($add['titleurl'])) { ChMustAddF($modid, $f, $value); ChIsOnlyAddF($modid, 0, $f, $value, 0); //唯一值 } //编辑器 if ($f == "newstext") { //远程保存 $value = addslashes(CopyImg(stripSlashes($value), $add[copyimg], $add[copyflash], $add[classid], $add[qz_url], $username, $add['id'], $add['filepass'], $add['mark'])); //替换关键字和字符 $value = DoReplaceKeyAndWord($value, $add['dokey']); //自动分页 if ($add[autopage] && !strstr($value, "[!--empirenews.page--]")) { if (empty($add[autosize])) { $add[autosize] = 5000; } $value = AutoDoPage($value, $add[autosize]); } } //存文本 if ($emod_r[$modid]['savetxtf'] && $f == $emod_r[$modid]['savetxtf']) { //建立目录 $thetxtfile = GetFileMd5(); $truevalue = MkDirTxtFile(date("Y/md"), $thetxtfile); //写放文件 EditTxtFieldText($truevalue, $value); $value = $truevalue; } if (strstr($emod_r[$modid]['tbdataf'], ',' . $f . ',')) { $ret_r['datafields'] .= "," . $f; $ret_r['datavalues'] .= ",'" . addslashes($value) . "'"; } else { $ret_r['fields'] .= "," . $f; $ret_r['values'] .= ",'" . addslashes($value) . "'"; } } } elseif ($do == 1) { //数据库操作 for ($i = 1; $i < $count; $i++) { $f = $r[$i]; if ($f == "special.field" || !strstr($emod_r[$modid]['caneditf'], ',' . $f . ',')) { continue; } $add[$f] = ReturnCheckboxAddF($add[$f], $modid, $f); //复选框 $value = RepPhpAspJspcodeText($add[$f]); if ($f == 'newstime') { $value = empty($value) ? time() : to_time($value); } elseif ($f == "morepic") { $value = ReturnMorepicpath($add['msmallpic'], $add['mbigpic'], $add['mpicname'], $add['mdelpicid'], $add['mpicid'], $add, $add['mpicurl_qz'], 1); } elseif ($f == "downpath") { $value = ReturnDownpath($add['downname'], $add['downpath'], $add['delpathid'], $add['pathid'], $add['downuser'], $add['fen'], $add['thedownqz'], $add, $add['foruser'], $add['downurl_qz'], 1); } elseif ($f == "onlinepath") { $value = ReturnDownpath($add['odownname'], $add['odownpath'], $add['odelpathid'], $add['opathid'], $add['odownuser'], $add['ofen'], $add['othedownqz'], $add, $add['oforuser'], $add['onlineurl_qz'], 1); } elseif ($f == "smalltext") { if (!trim($value)) { $value = SubSmalltextVal($add[newstext], $public_r[smalltextlen]); //截取新闻内容 } } elseif ($f == 'infozm') { $value = $value ? $value : GetInfoZm($add[title]); } //处理函数 $value = DoFFun($modid, $f, $value, 0, 0); //检测必填字段 if ($ch == 1 && empty($add['titleurl'])) { ChMustAddF($modid, $f, $value); ChIsOnlyAddF($modid, $add[id], $f, $value, 0); //唯一值 } //数据同步 SameDataAddF($add[id], $add[classid], $modid, $f, $value); //内容 if ($f == "newstext") { //远程保存 $value = addslashes(CopyImg(stripSlashes($value), $add[copyimg], $add[copyflash], $add[classid], $add[qz_url], $username, $add['id'], $add['filepass'], $add['mark'])); //自动分页 if ($add[autopage] && !strstr($value, "[!--empirenews.page--]")) { if (empty($add[autosize])) { $add[autosize] = 5000; } $value = AutoDoPage($value, $add[autosize]); } } //存文本 if ($emod_r[$modid]['savetxtf'] && $f == $emod_r[$modid]['savetxtf']) { //建立目录 $newstexttxt_r = explode("/", $add[newstext_url]); $thetxtfile = $newstexttxt_r[2]; $truevalue = MkDirTxtFile($newstexttxt_r[0] . "/" . $newstexttxt_r[1], $thetxtfile); //写放文件 EditTxtFieldText($truevalue, $value); $value = $truevalue; } if (strstr($emod_r[$modid]['tbdataf'], ',' . $f . ',')) { $ret_r['datafields'] .= "," . $f; $ret_r['datavalues'] .= "," . $f . "='" . addslashes($value) . "'"; } else { $ret_r['fields'] .= "," . $f; $ret_r['values'] .= "," . $f . "='" . addslashes($value) . "'"; } } } elseif ($do == 8) { //数据库操作 for ($i = 1; $i < $count; $i++) { $f = $r[$i]; if ($f == 'special.field') { continue; } $value = $add[$f]; //存文本 if ($emod_r[$modid]['savetxtf'] && $f == $emod_r[$modid]['savetxtf']) { //建立目录 $newstexttxt_r = explode("/", $add[newstext_url]); $thetxtfile = $newstexttxt_r[2]; $truevalue = MkDirTxtFile($newstexttxt_r[0] . "/" . $newstexttxt_r[1], $thetxtfile); //写放文件 EditTxtFieldText($truevalue, $value); $value = $truevalue; } if (strstr($emod_r[$modid]['tbdataf'], ',' . $f . ',')) { $ret_r['datafields'] .= "," . $f; $ret_r['datavalues'] .= "," . $f . "='" . StripAddsData($value) . "'"; } else { $ret_r['fields'] .= "," . $f; $ret_r['values'] .= "," . $f . "='" . StripAddsData($value) . "'"; } } } elseif ($do == 9) { //数据库操作 for ($i = 1; $i < $count; $i++) { $f = $r[$i]; if ($f == 'special.field') { continue; } $value = $add[$f]; //存文本 if ($emod_r[$modid]['savetxtf'] && $f == $emod_r[$modid]['savetxtf']) { //建立目录 $thetxtfile = GetFileMd5(); $truevalue = MkDirTxtFile(date("Y/md"), $thetxtfile); //写放文件 EditTxtFieldText($truevalue, $value); $value = $truevalue; } if (strstr($emod_r[$modid]['tbdataf'], ',' . $f . ',')) { $ret_r['datafields'] .= "," . $f; $ret_r['datavalues'] .= ",'" . StripAddsData($value) . "'"; } else { $ret_r['fields'] .= "," . $f; $ret_r['values'] .= ",'" . StripAddsData($value) . "'"; } } } elseif ($do == 10) { //数据库操作 for ($i = 1; $i < $count; $i++) { $f = $r[$i]; if ($f == 'special.field') { continue; } $value = $add[$f]; if (strstr($emod_r[$modid]['tbdataf'], ',' . $f . ',')) { $ret_r['datafields'] .= "," . $f; $ret_r['datavalues'] .= ",'" . StripAddsData($value) . "'"; } else { $ret_r['fields'] .= "," . $f; $ret_r['values'] .= ",'" . StripAddsData($value) . "'"; } } } return $ret_r; }
function DoRepNewstext($start,$oldword,$newword,$field,$classid,$tid,$tbname,$over,$dozz,$dotxt,$userid,$username){ global $empire,$public_r,$class_r,$fun_r,$dbtbpre,$emod_r; $tbname=RepPostVar($tbname); $field=RepPostVar($field); $tid=(int)$tid; $dotype=(int)$_POST['dotype']; $classid=(int)$classid; if(!$field||empty($tbname)||!$tid) { printerror("FailCX","history.go(-1)"); } if($dotype==0&&strlen($oldword)==0) { printerror("FailCX","history.go(-1)"); } CheckLevel($userid,$username,$classid,"repnewstext");//验证权限 //变量替换 $postoldword=ClearAddsData($oldword); $postnewword=ClearAddsData($newword); //替换条件 if($classid)//按栏目替换 { if(empty($class_r[$classid][islast]))//中级栏目 { $where=ReturnClass($class_r[$classid][sonclass]); } else//终极栏目 { $where="classid='$classid'"; } $add1=" and (".$where.")"; $add2=" where (".$where.")"; } $fr=$empire->fetch1("select tid,savetxt,tbdataf from {$dbtbpre}enewsf where tbname='$tbname' and f='$field' limit 1"); //系统字段 $specialdatafield=',keyid,dokey,newstempid,closepl,haveaddfen,infotags,'; if(!$fr['tid']&&stristr($specialdatafield,','.$field.',')) { $fr['tbdataf']=1; } //覆盖方式 if($dotype==1) { $repoldword=addslashes($oldword); $repnewword=addslashes($newword); if($over==1)//完全替换 { if(empty($add2)) { $and=" where "; } else { $and=" and "; } $add2.=$and.$field."='".$repoldword."'"; } if($fr['tbdataf'])//副表 { //已审核 $tbr=$empire->fetch1("select datatbs from {$dbtbpre}enewstable where tbname='$tbname' limit 1"); if($tbr['datatbs']) { $dtbr=explode(',',$tbr['datatbs']); $count=count($dtbr); for($i=1;$i<$count-1;$i++) { $empire->query("update {$dbtbpre}ecms_".$tbname."_data_".$dtbr[$i]." set ".$field."='$repnewword'".$add2); } } //未审核 $empire->query("update {$dbtbpre}ecms_".$tbname."_check_data set ".$field."='$repnewword'".$add2); } else//主表 { $empire->query("update {$dbtbpre}ecms_".$tbname." set ".$field."='$repnewword'".$add2); //未审核 $empire->query("update {$dbtbpre}ecms_".$tbname."_check set ".$field."='$repnewword'".$add2); } //替换完毕 insert_dolog("tbname=".$tbname."&field=".$field."&dotype=1<br>oldword=".$oldword."<br>newword=".$newword);//操作日志 printerror("DoRepNewstextSuccess","db/RepNewstext.php?tid=$tid".hReturnEcmsHashStrHref2(0)); } //存文本替换 elseif($fr['savetxt']) { $repoldword=addslashes($postoldword); $repnewword=addslashes($postnewword); //字段 $selectf=$fr['tbdataf']?',stb':','.$field; $fieldform="<input type='hidden' name='field' value='".$field."'>"; if(empty($public_r[dorepnum])) { $public_r[dorepnum]=600; } $start=(int)$start; $b=0; $sql=$empire->query("select id,checked from {$dbtbpre}ecms_".$tbname."_index where id>$start".$add1." order by id limit ".$public_r[dorepnum]); while($r=$empire->fetch($sql)) { $b=1; $newstart=$r[id]; //返回表 $infotb=ReturnInfoMainTbname($tbname,$r['checked']); //主表 $infor=$empire->fetch1("select isurl".$selectf." from ".$infotb." where id='$r[id]' limit 1"); if($infor['isurl']) { continue; } //副表 if($fr['tbdataf']) { //返回表信息 $infodatatb=ReturnInfoDataTbname($tbname,$r['checked'],$infor['stb']); $finfor=$empire->fetch1("select ".$field." from ".$infodatatb." where id='$r[id]' limit 1"); $infor[$field]=$finfor[$field]; } $value=GetTxtFieldText($infor[$field]); if(empty($value)) { continue; } if($dozz==1)//正则 { $newvalue=DoRepNewstextZz($repoldword,$repnewword,$value);//正则替换 } else//普通 { if(!stristr($value,$repoldword)) { continue; } $newvalue=str_replace($repoldword,$repnewword,$value); } EditTxtFieldText($infor[$field],$newvalue); } //替换完毕 if(empty($b)) { insert_dolog("tbname=".$tbname."&field=".$field."<br>oldword=".$oldword."<br>newword=".$newword);//操作日志 printerror("DoRepNewstextSuccess","db/RepNewstext.php?tid=$tid".hReturnEcmsHashStrHref2(0)); } EchoRepFieldForm($tid,$tbname,$over,$dozz,$dotxt,$newstart,$fieldform,$classid,$postoldword,$postnewword); } //正则替换 elseif($dozz==1) { //字段 $selectf=$fr['tbdataf']?',stb':','.$field; $fieldform="<input type='hidden' name='field' value='".$field."'>"; if(empty($public_r[dorepnum])) { $public_r[dorepnum]=600; } $start=(int)$start; $b=0; $sql=$empire->query("select id,checked from {$dbtbpre}ecms_".$tbname."_index where id>$start".$add1." order by id limit ".$public_r[dorepnum]); while($r=$empire->fetch($sql)) { $b=1; $newstart=$r[id]; //返回表 $infotb=ReturnInfoMainTbname($tbname,$r['checked']); //主表 $infor=$empire->fetch1("select isurl".$selectf." from ".$infotb." where id='$r[id]' limit 1"); if($infor['isurl']) { continue; } if($fr['tbdataf'])//副表 { //返回表信息 $infodatatb=ReturnInfoDataTbname($tbname,$r['checked'],$infor['stb']); $finfor=$empire->fetch1("select ".$field." from ".$infodatatb." where id='$r[id]' limit 1"); $newvalue=DoRepNewstextZz($oldword,$newword,stripSlashes($finfor[$field]));//正则替换 $empire->query("update ".$infodatatb." set ".$field."='".addslashes($newvalue)."' where id='$r[id]'"); } else//主表 { $newvalue=DoRepNewstextZz($oldword,$newword,stripSlashes($infor[$field]));//正则替换 $empire->query("update ".$infotb." set ".$field."='".addslashes($newvalue)."' where id='$r[id]'"); } } //替换完毕 if(empty($b)) { insert_dolog("tbname=".$tbname."&field=".$field."<br>oldword=".$oldword."<br>newword=".$newword);//操作日志 printerror("DoRepNewstextSuccess","db/RepNewstext.php?tid=$tid".hReturnEcmsHashStrHref2(0)); } EchoRepFieldForm($tid,$tbname,$over,$dozz,$dotxt,$newstart,$fieldform,$classid,$postoldword,$postnewword); } //普通替换 else { $repoldword=eaddslashes2($oldword); $repnewword=eaddslashes2($newword); if($over==1)//完全替换 { if(empty($add2)) { $and=" where "; } else { $and=" and "; } $add2.=$and.$field."='".$repoldword."'"; } if($fr['tbdataf'])//副表 { //已审核 $tbr=$empire->fetch1("select datatbs from {$dbtbpre}enewstable where tbname='$tbname' limit 1"); if($tbr['datatbs']) { $dtbr=explode(',',$tbr['datatbs']); $count=count($dtbr); for($i=1;$i<$count-1;$i++) { $empire->query("update {$dbtbpre}ecms_".$tbname."_data_".$dtbr[$i]." set ".$field."=REPLACE(".$field.",'$repoldword','$repnewword')".$add2); } } //未审核 $empire->query("update {$dbtbpre}ecms_".$tbname."_check_data set ".$field."=REPLACE(".$field.",'$repoldword','$repnewword')".$add2); } else//主表 { $empire->query("update {$dbtbpre}ecms_".$tbname." set ".$field."=REPLACE(".$field.",'$repoldword','$repnewword')".$add2); //未审核 $empire->query("update {$dbtbpre}ecms_".$tbname."_check set ".$field."=REPLACE(".$field.",'$repoldword','$repnewword')".$add2); } //替换完毕 insert_dolog("tbname=".$tbname."&field=".$field."<br>oldword=".$oldword."<br>newword=".$newword);//操作日志 printerror("DoRepNewstextSuccess","db/RepNewstext.php?tid=$tid".hReturnEcmsHashStrHref2(0)); } }
function DoqSpecialValue($mid, $f, $value, $add, $infor, $ecms = 0) { global $public_r, $loginin, $emod_r; if ($f == "morepic") { $add['msavepic'] = 0; $value = ReturnMorepicpath($add['msmallpic'], $add['mbigpic'], $add['mpicname'], $add['mdelpicid'], $add['mpicid'], $add, $add['mpicurl_qz'], $ecms, 0, $ecms == 1 ? $infor['fstb'] : $public_r['filedeftb']); $value = doehtmlstr($value); } elseif ($f == "downpath") { $value = DoqReturnDownPath($value, 0); $value = doehtmlstr($value); } elseif ($f == "onlinepath") { $value = DoqReturnDownPath($value, 1); $value = doehtmlstr($value); } elseif ($f == "newstext") { //远程保存 //$value=addslashes(CopyImg(stripSlashes($value),$add[copyimg],$add[copyflash],$add[classid],$add[qz_url],$loginin,$add['id'],$add['filepass'],$add['mark'],($ecms==1?$infor['fstb']:$public_r['filedeftb']))); } //存文本 if ($emod_r[$mid]['savetxtf'] && $f == $emod_r[$mid]['savetxtf']) { if ($ecms == 1) { //建立目录 $newstexttxt_r = explode("/", $infor[$f]); $thetxtfile = $newstexttxt_r[2]; $truevalue = MkDirTxtFile($newstexttxt_r[0] . "/" . $newstexttxt_r[1], $thetxtfile); } else { //建立目录 $thetxtfile = GetFileMd5(); $truevalue = MkDirTxtFile(date("Y/md"), $thetxtfile); } //写放文件 EditTxtFieldText($truevalue, $value); $value = $truevalue; } return $value; }
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 DoRepNewstext($start, $oldword, $newword, $field, $classid, $tid, $tbname, $over, $dozz, $dotxt, $userid, $username) { global $empire, $public_r, $class_r, $fun_r, $dbtbpre, $emod_r; $tbname = RepPostVar($tbname); $field = RepPostVar($field); $tid = (int) $tid; $dotype = (int) $_POST['dotype']; if (!$field || empty($tbname) || !$tid) { printerror("FailCX", "history.go(-1)"); } if ($dotype == 0 && strlen($oldword) == 0) { printerror("FailCX", "history.go(-1)"); } CheckLevel($userid, $username, $classid, "repnewstext"); //验证权限 //变量替换 $postoldword = ClearAddsData($oldword); $postnewword = ClearAddsData($newword); //替换条件 if ($classid) { if (empty($class_r[$classid][islast])) { $where = ReturnClass($class_r[$classid][sonclass]); } else { $where = "classid='{$classid}'"; } $add1 = " and (" . $where . ")"; $add2 = " where (" . $where . ")"; } $fr = $empire->fetch1("select tid,savetxt,tbdataf from {$dbtbpre}enewsf where tbname='{$tbname}' and f='{$field}' limit 1"); //覆盖方式 if ($dotype == 1) { $repoldword = addslashes($oldword); $repnewword = addslashes($newword); if ($over == 1) { if (empty($add2)) { $and = " where "; } else { $and = " and "; } $add2 .= $and . $field . "='" . $repoldword . "'"; } if ($fr['tbdataf']) { $tbr = $empire->fetch1("select datatbs from {$dbtbpre}enewstable where tbname='{$tbname}' limit 1"); if ($tbr['datatbs']) { $dtbr = explode(',', $tbr['datatbs']); $count = count($dtbr); for ($i = 1; $i < $count - 1; $i++) { $empire->query("update {$dbtbpre}ecms_" . $tbname . "_data_" . $dtbr[$i] . " set " . $field . "='{$repnewword}'" . $add2); } } } else { $empire->query("update {$dbtbpre}ecms_" . $tbname . " set " . $field . "='{$repnewword}'" . $add2); } //替换完毕 insert_dolog("tbname=" . $tbname . "&field=" . $field . "&dotype=1<br>oldword=" . $oldword . "<br>newword=" . $newword); //操作日志 printerror("DoRepNewstextSuccess", "db/RepNewstext.php?tid={$tid}"); } elseif ($fr['savetxt']) { $repoldword = addslashes($postoldword); $repnewword = addslashes($postnewword); //字段 $selectf = $fr['tbdataf'] ? ',stb' : ',' . $field; $fieldform = "<input type='hidden' name='field' value='" . $field . "'>"; if (empty($public_r[dorepnum])) { $public_r[dorepnum] = 600; } $start = (int) $start; $b = 0; $sql = $empire->query("select id" . $selectf . " from {$dbtbpre}ecms_" . $tbname . " where id>{$start}" . $add1 . " and titleurl='' order by id limit " . $public_r[dorepnum]); while ($r = $empire->fetch($sql)) { $b = 1; $newstart = $r[id]; //副表 if ($fr['tbdataf']) { $finfor = $empire->fetch1("select " . $field . " from {$dbtbpre}ecms_" . $tbname . "_data_" . $r[stb] . " where id='{$r['id']}'"); $r[$field] = $finfor[$field]; } $value = GetTxtFieldText($r[$field]); if (empty($value)) { continue; } if ($dozz == 1) { $newvalue = DoRepNewstextZz($repoldword, $repnewword, $value); //正则替换 } else { if (!stristr($value, $repoldword)) { continue; } $newvalue = str_replace($repoldword, $repnewword, $value); } EditTxtFieldText($r[$field], $newvalue); } //替换完毕 if (empty($b)) { insert_dolog("tbname=" . $tbname . "&field=" . $field . "<br>oldword=" . $oldword . "<br>newword=" . $newword); //操作日志 printerror("DoRepNewstextSuccess", "db/RepNewstext.php?tid={$tid}"); } EchoRepFieldForm($tid, $tbname, $over, $dozz, $dotxt, $newstart, $fieldform, $classid, $postoldword, $postnewword); } elseif ($dozz == 1) { //字段 $selectf = $fr['tbdataf'] ? ',stb' : ',' . $field; $fieldform = "<input type='hidden' name='field' value='" . $field . "'>"; if (empty($public_r[dorepnum])) { $public_r[dorepnum] = 600; } $start = (int) $start; $b = 0; $sql = $empire->query("select id" . $selectf . " from {$dbtbpre}ecms_" . $tbname . " where id>{$start}" . $add1 . " and titleurl='' order by id limit " . $public_r[dorepnum]); while ($r = $empire->fetch($sql)) { $b = 1; $newstart = $r[id]; if ($fr['tbdataf']) { $finfor = $empire->fetch1("select " . $field . " from {$dbtbpre}ecms_" . $tbname . "_data_" . $r[stb] . " where id='{$r['id']}'"); $newvalue = DoRepNewstextZz($oldword, $newword, stripSlashes($finfor[$field])); //正则替换 $empire->query("update {$dbtbpre}ecms_" . $tbname . "_data_" . $r[stb] . " set " . $field . "='" . addslashes($newvalue) . "' where id='{$r['id']}'"); } else { $newvalue = DoRepNewstextZz($oldword, $newword, stripSlashes($r[$field])); //正则替换 $empire->query("update {$dbtbpre}ecms_" . $tbname . " set " . $field . "='" . addslashes($newvalue) . "' where id='{$r['id']}'"); } } //替换完毕 if (empty($b)) { insert_dolog("tbname=" . $tbname . "&field=" . $field . "<br>oldword=" . $oldword . "<br>newword=" . $newword); //操作日志 printerror("DoRepNewstextSuccess", "db/RepNewstext.php?tid={$tid}"); } EchoRepFieldForm($tid, $tbname, $over, $dozz, $dotxt, $newstart, $fieldform, $classid, $postoldword, $postnewword); } else { $repoldword = addslashes($oldword); $repnewword = addslashes($newword); if ($over == 1) { if (empty($add2)) { $and = " where "; } else { $and = " and "; } $add2 .= $and . $field . "='" . $repoldword . "'"; } if ($fr['tbdataf']) { $tbr = $empire->fetch1("select datatbs from {$dbtbpre}enewstable where tbname='{$tbname}' limit 1"); if ($tbr['datatbs']) { $dtbr = explode(',', $tbr['datatbs']); $count = count($dtbr); for ($i = 1; $i < $count - 1; $i++) { $empire->query("update {$dbtbpre}ecms_" . $tbname . "_data_" . $dtbr[$i] . " set " . $field . "=REPLACE(" . $field . ",'{$repoldword}','{$repnewword}')" . $add2); } } } else { $empire->query("update {$dbtbpre}ecms_" . $tbname . " set " . $field . "=REPLACE(" . $field . ",'{$repoldword}','{$repnewword}')" . $add2); } //替换完毕 insert_dolog("tbname=" . $tbname . "&field=" . $field . "<br>oldword=" . $oldword . "<br>newword=" . $newword); //操作日志 printerror("DoRepNewstextSuccess", "db/RepNewstext.php?tid={$tid}"); } }