Example #1
0
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;
}
Example #2
0
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;
}
Example #3
0
$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 = '';
Example #4
0
 //主表
 $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);
 //内容存文本
Example #5
0
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));
	}
}
Example #6
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;
}