function ClearTags($start, $line, $userid, $username) { global $empire, $dbtbpre, $class_r, $fun_r; $line = (int) $line; if (empty($line)) { $line = 500; } $start = (int) $start; $b = 0; $sql = $empire->query("select id,classid,tid,tagid from {$dbtbpre}enewstagsdata where tid>{$start} order by tid limit " . $line); while ($r = $empire->fetch($sql)) { $b = 1; $newstart = $r['tid']; if (empty($class_r[$r[classid]]['tbname'])) { $empire->query("delete from {$dbtbpre}enewstagsdata where tid='{$r['tid']}'"); $empire->query("update {$dbtbpre}enewstags set num=num-1 where tagid='{$r['tagid']}'"); continue; } $index_r = $empire->fetch1("select id,classid,checked from {$dbtbpre}ecms_" . $class_r[$r[classid]]['tbname'] . "_index where id='{$r['id']}' limit 1"); if (!$index_r['id']) { $empire->query("delete from {$dbtbpre}enewstagsdata where tid='{$r['tid']}'"); $empire->query("update {$dbtbpre}enewstags set num=num-1 where tagid='{$r['tagid']}'"); } else { //返回表 $infotb = ReturnInfoMainTbname($class_r[$r[classid]]['tbname'], $index_r['checked']); //主表 $infor = $empire->fetch1("select stb from " . $infotb . " where id='{$r['id']}' limit 1"); //返回表信息 $infodatatb = ReturnInfoDataTbname($class_r[$r[classid]]['tbname'], $index_r['checked'], $infor['stb']); //副表 $finfor = $empire->fetch1("select infotags from " . $infodatatb . " where id='{$r['id']}' limit 1"); $tagr = $empire->fetch1("select tagname from {$dbtbpre}enewstags where tagid='{$r['tagid']}'"); if (!stristr(',' . $finfor['infotags'] . ',', ',' . $tagr['tagname'] . ',')) { $empire->query("delete from {$dbtbpre}enewstagsdata where tid='{$r['tid']}'"); $empire->query("update {$dbtbpre}enewstags set num=num-1 where tagid='{$r['tagid']}'"); } elseif ($index_r['classid'] != $r[classid]) { $empire->query("update {$dbtbpre}enewstagsdata set classid='{$index_r['classid']}' where tid='{$r['tid']}'"); } } } if (empty($b)) { //操作日志 insert_dolog(""); printerror('ClearTagsSuccess', 'ClearTags.php' . hReturnEcmsHashStrHref2(1)); } echo "<meta http-equiv=\"refresh\" content=\"0;url=ClearTags.php?enews=ClearTags&line={$line}&start={$newstart}" . hReturnEcmsHashStrHref(0) . "\">" . $fun_r[OneClearTagsSuccess] . "(ID:<font color=red><b>" . $newstart . "</b></font>)"; exit; }
function ReturnSpInfoidGetData($add, $userid, $username) { global $empire, $dbtbpre, $class_r, $emod_r; $idr = explode(',', $add['getinfoid']); $classid = (int) $idr[0]; $id = (int) $idr[1]; if (!$classid || !$id || !$class_r[$classid][tbname]) { return ''; } $mid = $class_r[$classid]['modid']; $smalltextf = $emod_r[$mid]['smalltextf']; $sf = ''; if ($smalltextf && $smalltextf != ',') { $smr = explode(',', $smalltextf); $sf = $smr[1]; } $addf = ''; if ($sf && !strstr($emod_r[$mid]['tbdataf'], ',' . $sf . ',')) { $addf = ',' . $sf; } $index_r = $empire->fetch1("select id,checked from {$dbtbpre}ecms_" . $class_r[$classid][tbname] . "_index where id='{$id}' limit 1"); if (!$index_r['id']) { return ''; } //返回表 $infotb = ReturnInfoMainTbname($class_r[$classid][tbname], $index_r['checked']); $infor = $empire->fetch1("select id,classid,isurl,titleurl,isgood,firsttitle,plnum,totaldown,onclick,newstime,titlepic,title,stb" . $addf . " from " . $infotb . " where id='{$id}' limit 1"); if ($sf && !$addf) { //返回表信息 $infodatatb = ReturnInfoDataTbname($class_r[$classid][tbname], $index_r['checked'], $infor['stb']); $finfor = $empire->fetch1("select " . $sf . " from " . $infodatatb . " where id='{$id}' limit 1"); $infor[$sf] = $finfor[$sf]; } $ret_r['title'] = $infor[title]; $ret_r['titleurl'] = sys_ReturnBqTitleLink($infor); $ret_r['titlepic'] = $infor[titlepic]; $ret_r['smalltext'] = $infor[$sf]; $ret_r['newstime'] = $infor[newstime]; return $ret_r; }
$infotb = ReturnInfoMainTbname($tbname, $index_r['checked']); $r = $empire->fetch1("select * from " . $infotb . " where id='{$id}' limit 1"); $wfinfor = $empire->fetch1("select id,tid,groupid,userclass,username,tstatus,checktno from {$dbtbpre}enewswfinfo where id='{$id}' and classid='{$classid}' limit 1"); if (!$wfinfor['id']) { printerror('ErrorUrl', 'history.go(-1)'); } //工作流 $cwfitemr = $empire->fetch1("select wfid,groupid,userclass,username from {$dbtbpre}enewsworkflowitem where tid='{$wfinfor['tid']}'"); //验证权限 if (strstr(',' . $cwfitemr[groupid] . ',', ',' . $lur[groupid] . ',') || strstr(',' . $cwfitemr[userclass] . ',', ',' . $lur[classid] . ',') || strstr(',' . $cwfitemr[username] . ',', ',' . $lur[username] . ',')) { } else { $doselfinfo = CheckLevel($logininid, $loginin, $classid, "news"); } $r[newstime] = date("Y-m-d H:i:s", $r[newstime]); //返回表信息 $infodatatb = ReturnInfoDataTbname($tbname, $index_r['checked'], $r['stb']); //副表 $finfor = $empire->fetch1("select " . ReturnSqlFtextF($mid) . " from " . $infodatatb . " where id='{$id}' limit 1"); $r = array_merge($r, $finfor); //内容存文本 if ($savetxtf) { $r[$savetxtf] = GetTxtFieldText($r[$savetxtf]); } //发布者 if ($r[ismember]) { $username = empty($r[userid]) ? '游客' : "会员:<a href='../member/AddMember.php?enews=EditMember&userid=" . $r[userid] . $ecms_hashur['ehref'] . "' target='_blank'>" . $r[username] . "</a>"; } else { $username = "******" . $r[userid] . $ecms_hashur['ehref'] . "' target='_blank'>" . $r[username] . "</a>"; } //状态 $st = '';
//主表 $r = $empire->fetch1("select * from " . $infotb . " where id='{$id}' limit 1"); //签发表 if ($r[isqf]) { $wfinfor = $empire->fetch1("select tstatus,checktno from {$dbtbpre}enewswfinfo where id='{$id}' and classid='{$classid}' limit 1"); } //只能编辑自己的信息 if ($doselfinfo['doselfinfo'] && ($r[userid] != $logininid || $r[ismember])) { printerror("NotDoSelfinfo", "history.go(-1)"); } //已审核信息不可修改 if ($doselfinfo['docheckedit'] && $index_r['checked']) { printerror("NotEditCheckInfoLevel", "history.go(-1)"); } //返回表信息 $infodatatb = ReturnInfoDataTbname($class_r[$classid][tbname], $index_r['checked'], $r['stb']); //副表 $finfor = $empire->fetch1("select " . ReturnSqlFtextF($modid) . " from " . $infodatatb . " where id='{$id}' limit 1"); $r = array_merge($r, $finfor); //时间 $r['checked'] = $index_r['checked']; $newstime = $r['newstime']; $r['newstime'] = date("Y-m-d H:i:s", $r['newstime']); //链接地址 $titleurl = $r['titleurl']; if (!$r['isurl']) { $r['titleurl'] = ''; } //会员组 $group = str_replace(" value=" . $r[groupid] . ">", " value=" . $r[groupid] . " selected>", $ygroup); //内容存文本
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 ChangeDataTableF($add, $userid, $username) { global $empire, $dbtbpre, $public_r, $fun_r; //验证权限 CheckLevel($userid, $username, $classid, "f"); $fid = (int) $add[fid]; $tid = (int) $add[tid]; $tbname = RepPostVar($add[tbname]); $line = (int) $add[line]; $start = (int) $add[start]; if (!$fid || !$tid || !$tbname) { printerror("ErrorUrl", "history.go(-1)"); } if (empty($line)) { $line = 200; } $fr = $empire->fetch1("select * from {$dbtbpre}enewsf where fid='{$fid}'"); if (!$fr[fid]) { printerror("ErrorUrl", "history.go(-1)"); } if (empty($fr[isadd])) { printerror("NotIsAdd", "history.go(-1)"); } $tid = $fr[tid]; $tbname = $fr[tbname]; $f = $fr[f]; //建字段 if (empty($start)) { $field = ReturnTbFtype($fr); //返回字段 if ($fr[tbdataf]) { $empire->query("alter table {$dbtbpre}ecms_" . $tbname . " add " . $field); if ($fr[iskey] == 1) { $empire->query("ALTER TABLE {$dbtbpre}ecms_" . $tbname . " ADD INDEX(" . $fr[f] . ")"); } //归档主表 $empire->query("alter table {$dbtbpre}ecms_" . $tbname . "_doc add " . $field); if ($fr[iskey] == 1) { $empire->query("ALTER TABLE {$dbtbpre}ecms_" . $tbname . "_doc ADD INDEX(" . $fr[f] . ")"); } //审核主表 $empire->query("alter table {$dbtbpre}ecms_" . $tbname . "_check add " . $field); if ($fr[iskey] == 1) { $empire->query("ALTER TABLE {$dbtbpre}ecms_" . $tbname . "_check ADD INDEX(" . $fr[f] . ")"); } } else { $tbr = $empire->fetch1("select datatbs from {$dbtbpre}enewstable where tid='{$tid}'"); if ($tbr['datatbs']) { $dtbr = explode(',', $tbr['datatbs']); $count = count($dtbr); for ($i = 1; $i < $count - 1; $i++) { $empire->query("alter table {$dbtbpre}ecms_" . $tbname . "_data_" . $dtbr[$i] . " add " . $field); if ($fr[iskey] == 1) { $empire->query("ALTER TABLE {$dbtbpre}ecms_" . $tbname . "_data_" . $dtbr[$i] . " ADD INDEX(" . $fr[f] . ")"); } } } //归档副表 $empire->query("alter table {$dbtbpre}ecms_" . $tbname . "_doc_data add " . $field); if ($fr[iskey] == 1) { $empire->query("ALTER TABLE {$dbtbpre}ecms_" . $tbname . "_doc_data ADD INDEX(" . $fr[f] . ")"); } //审核副表 $empire->query("alter table {$dbtbpre}ecms_" . $tbname . "_check_data add " . $field); if ($fr[iskey] == 1) { $empire->query("ALTER TABLE {$dbtbpre}ecms_" . $tbname . "_check_data ADD INDEX(" . $fr[f] . ")"); } } } $selectf = ''; if (empty($fr[tbdataf])) { $selectf = ',' . $fr[f]; } $b = 0; $sql = $empire->query("select id,checked from {$dbtbpre}ecms_" . $tbname . "_index where id>{$start} order by id limit " . $line); while ($r = $empire->fetch($sql)) { $b = 1; $newstart = $r['id']; //表名 $infotb = ReturnInfoMainTbname($tbname, $r['checked']); $infor = $empire->fetch1("select stb" . $selectf . " from " . $infotb . " where id='{$r['id']}'"); $infodatatb = ReturnInfoDataTbname($tbname, $r['checked'], $infor['stb']); if ($fr[tbdataf]) { $finfor = $empire->fetch1("select " . $f . " from " . $infodatatb . " where id='{$r['id']}'"); $value = $finfor[$f]; $empire->query("update " . $infotb . " set " . $f . "='" . StripAddsData($value) . "' where id='{$r['id']}'"); } else { $value = $infor[$f]; $empire->query("update " . $infodatatb . " set " . $f . "='" . StripAddsData($value) . "' where id='{$r['id']}'"); } } if (empty($b)) { echo "<link rel=\"stylesheet\" href=\"../data/images/css.css\" type=\"text/css\"><meta http-equiv=\"refresh\" content=\"" . $public_r['realltime'] . ";url=ecmsmod.php?enews=ChangeDocDataTableF&tid={$tid}&tbname={$tbname}&fid={$fid}&line={$line}" . hReturnEcmsHashStrHref(0) . "\">" . $fun_r[AllChangeDataTableFSuccess]; exit; } echo "<link rel=\"stylesheet\" href=\"../data/images/css.css\" type=\"text/css\"><meta http-equiv=\"refresh\" content=\"" . $public_r['realltime'] . ";url=ecmsmod.php?enews=ChangeDataTableF&tid={$tid}&tbname={$tbname}&fid={$fid}&line={$line}&start={$newstart}" . hReturnEcmsHashStrHref(0) . "\">" . $fun_r[OneChangeDataTableFSuccess] . "(ID:<font color=red><b>" . $newstart . "</b></font>)"; exit; }