www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/fieldtotxt.inc.php

    <?
(!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission');
aheader();
!checkapermission(1000) && amessage(lang('no_apermission'));
if($sid && $sid_self) amessage(lang('msite admin item !'));
load_cache('initfields,channels');
if(empty($action)){
	a_guide('fieldtotxt');
	tabheader(lang('HtmlText field transto0 istxt &nbsp;-&nbsp; archive common field'),'','',5);
	trcategory(array(lang('sn'),lang('field cname'),lang('field ename'),lang('table transto0 istxt'),lang('istxt transto0 table')));
	$i = 1;
	foreach($initfields as $k => $v){
		if($v['datatype'] == 'htmltext'){
			echo "<tr>\n".
				"<td align=\"center\" class=\"item1\" width=\"30\">$i</td>\n".
				"<td class=\"item2\">$v[cname]</td>\n".
				"<td class=\"item1\">$k</td>\n".
				"<td align=\"center\" class=\"item2\" width=\"120\">".(empty($v['istxt']) ? "<a href=\"?entry=fieldtotxt&action=totxt&fieldename=$k&chid=0\">>>".lang('start')."</a>" : '-')."</td>\n".
				"<td align=\"center\" class=\"item2\" width=\"120\">".(!empty($v['istxt']) ? "<a href=\"?entry=fieldtotxt&action=tofield&fieldename=$k&chid=0\">>>".lang('start')."</a>" : '-')."</td>\n".
				"</tr>\n";
			$i ++;
		}
	}
	foreach($channels as $chid => $channel){
		$fields = read_cache('fields',$chid);
		foreach($fields as $k => $v){
			if($v['tbl'] != 'custom' || $v['datatype'] != 'htmltext') unset($fields[$k]);
		}
		if(!count($fields)) continue;
		tabheader(lang('HtmlText field transto0 istxt &nbsp;-&nbsp;').$channel['cname'].lang('channel'),'','',5);
		trcategory(array(lang('sn'),lang('field cname'),lang('field ename'),lang('table transto0 istxt'),lang('istxt transto0 table')));
		$i = 1;
		foreach($fields as $k => $v){
			echo "<tr>\n".
				"<td align=\"center\" class=\"item1\" width=\"30\">$i</td>\n".
				"<td class=\"item2\">$v[cname]</td>\n".
				"<td class=\"item1\">$k</td>\n".
				"<td align=\"center\" class=\"item2\" width=\"120\">".(empty($v['istxt']) ? "<a href=\"?entry=fieldtotxt&action=totxt&fieldename=$k&chid=$chid\">>>".lang('start')."</a>" : '-')."</td>\n".
				"<td align=\"center\" class=\"item2\" width=\"120\">".(!empty($v['istxt']) ? "<a href=\"?entry=fieldtotxt&action=tofield&fieldename=$k&chid=$chid\">>>".lang('start')."</a>" : '-')."</td>\n".
				"</tr>\n";
			$i ++;
		}
	}
}elseif($action == 'totxt'){
	if(empty($confirm)){
		$message = lang('table field start transto0 istxt field !')."<br><br>";
		$message .= lang('confirm click')."[<a href=?entry=fieldtotxt&action=totxt&fieldename=$fieldename&chid=$chid&confirm=1>".lang('start')."</a>]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
		$message .= lang('giveup click')."[<a href=?entry=fieldtotxt>".lang('goback')."</a>]";
		amessage($message);
	}
	if(empty($fieldename)) amessage(lang('confirmchoose field'));
	if(empty($chid)){
		$fields = &$initfields;
		$customtable = 'archives';
	}else{
		$fields = read_cache('fields',$chid);
		$customtable = "archives_$chid";
	}
	if(empty($fields[$fieldename]) || $fields[$fieldename]['datatype'] != 'htmltext' || !empty($fields[$fieldename]['istxt'])) amessage(lang('confirmchoose field'));
	$field = $fields[$fieldename];
	$query = $db->query("SELECT aid,$fieldename FROM {$tblprefix}$customtable");
	while($row = $db->fetch_array($query)){
		$namepre = saveastxt($row[$fieldename]);
		$db->query("UPDATE {$tblprefix}$customtable SET $fieldename='$namepre' WHERE aid='$row[aid]'");
	}
	$db->query("ALTER TABLE {$tblprefix}$customtable CHANGE $fieldename $fieldename varchar(30) NOT NULL default ''");
	if(empty($chid)){
		$db->query("UPDATE {$tblprefix}fields SET istxt='1' WHERE ename='$fieldename'");
		foreach($channels as $k => $v) updatecache('fields',$k);
	}else{
		$db->query("UPDATE {$tblprefix}fields SET istxt='1' WHERE ename='$fieldename' AND chid='$chid'");
		updatecache('fields',$chid);
	}
	amessage(lang('operate succeed !'),"?entry=fieldtotxt");

}elseif($action == 'tofield'){
	if(empty($confirm)){
		$message = lang('istxt field start transto0 table field !')."<br><br>";
		$message .= lang('confirm click')."[<a href=?entry=fieldtotxt&action=tofield&fieldename=$fieldename&chid=$chid&confirm=1>".lang('start')."</a>]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
		$message .= lang('giveup click')."[<a href=?entry=fieldtotxt>".lang('goback')."</a>]";
		amessage($message);
	}
	if(empty($fieldename)) amessage(lang('confirmchoose field'));
	if(empty($chid)){
		$fields = &$initfields;
		$customtable = 'archives';
	}else{
		$fields = read_cache('fields',$chid);
		$customtable = "archives_$chid";
	}
	if(empty($fields[$fieldename]) || $fields[$fieldename]['datatype'] != 'htmltext' || empty($fields[$fieldename]['istxt'])) amessage(lang('confirmchoose field'));
	$field = $fields[$fieldename];
	$db->query("ALTER TABLE {$tblprefix}$customtable CHANGE $fieldename $fieldename text NOT NULL");
	$query = $db->query("SELECT aid,$fieldename FROM {$tblprefix}$customtable");
	while($row = $db->fetch_array($query)){
		$content = addslashes(readfromtxt($row[$fieldename]));
		$db->query("UPDATE {$tblprefix}$customtable SET $fieldename='$content' WHERE aid='$row[aid]'");
		@unlink(M_ROOT.'dynamic/htmltxt/'.$row[$fieldename].'.php');
	}
	if(empty($chid)){
		$db->query("UPDATE {$tblprefix}fields SET istxt='0' WHERE ename='$fieldename'");
		foreach($channels as $k => $v) updatecache('fields',$k);
	}else{
		$db->query("UPDATE {$tblprefix}fields SET istxt='0' WHERE ename='$fieldename' AND chid='$chid'");
		updatecache('fields',$chid);
	}
	amessage(lang('operate succeed !'),"?entry=fieldtotxt");

}
?>