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

    <?
(!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission');
load_cache('gmodels,channels');
load_cache('gmodels,altypes',$sid);
cache_merge($channels,'channels',$sid);
include_once M_ROOT."./include/commu.fun.php";
aheader();
if($action == 'gmodeledit'){
	if(!submitcheck('bgmodeladd') && !submitcheck('bgmodeledit')){
		a_guide('gmodeledit');
		$chidsarr = array(0 => lang('nosetting')) + chidsarr();
		$atidsarr = array(0 => lang('nosetting')) + atidsarr();
		tabheader(lang('add gather model'),'gmodeladd',"?entry=gmodels&action=gmodeledit$param_suffix");
		trbasic(lang('gather model cname'),'gmodeladd[cname]');
		trbasic(lang('archive model ( gather archive please choose )'),'gmodeladd[chid]',makeoption($chidsarr),'select');
		trbasic(lang('altype ( gather album please choose )'),'gmodeladd[atid]',makeoption($atidsarr),'select');
		tabfooter('bgmodeladd',lang('add'));

		tabheader(lang('gather model manager'),'gmodeledit',"?entry=gmodels&action=gmodeledit$param_suffix",'5');
		trcategory(array('<input class="checkbox" type="checkbox" name="chkall" onclick="checkall(this.form)">'.lang('del'),'ID',lang('gather model'),lang('altype'),lang('archive channel'),lang('edit')));
		foreach($gmodels as $k => $gmodel){
			$chidstr = empty($channels[$gmodel['chid']]) ? '-' : $channels[$gmodel['chid']]['cname'];
			$atidstr = empty($altypes[$gmodel['atid']]) ? '-' : $altypes[$gmodel['atid']]['cname'];
			$editstr = empty($channels[$gmodel['chid']]) ? '-' : "<a href=\"?entry=gmodels&action=gmodeldetail&gmid=$k$param_suffix\">".lang('detail')."</a>";
			echo "<tr align=\"center\">".
				"<td class=\"item1\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$k]\" value=\"$k\">\n".
				"<td class=\"item2\" width=\"30\">$k</td>\n".
				"<td class=\"item1\"><input type=\"text\" size=\"30\" name=\"gmodelsnew[$k][cname]\" value=\"$gmodel[cname]\"></td>\n".
				"<td class=\"item2\">$atidstr</td>\n".
				"<td class=\"item1\">$chidstr</td>\n".
				"<td class=\"item2\" width=\"30\">$editstr</td></tr>\n";
		}
		tabfooter('bgmodeledit',lang('modify'));
	}
	elseif(submitcheck('bgmodeledit')){
		if(!empty($delete)){
			foreach($delete as $k){
				$db->query("DELETE FROM {$tblprefix}gmodels WHERE gmid=$k");//是否要删除相应的任务记录及采集记录??????
				unset($gmodelsnew[$k]);
				del_cache('gmodel',$k,'',$sid);
			}
		}
		if(!empty($gmodelsnew)){
			foreach($gmodelsnew as $k => $v){
				$v['cname'] = empty($v['cname']) ? addslashes($gmodels[$k]['cname']) : $v['cname'];
				if($v['cname'] != addslashes($gmodels[$k]['cname'])){
					$db->query("UPDATE {$tblprefix}gmodels SET cname='$v[cname]' WHERE gmid=$k");
				}
			}
		}
		updatecache('gmodels','',$sid);
		adminlog(lang('edit gather model manager list'));
		amessage(lang('gather model modify finish'),"?entry=gmodels&action=gmodeledit$param_suffix");
	}elseif(submitcheck('bgmodeladd')){
		$gmodeladd['cname'] = trim(strip_tags($gmodeladd['cname']));
		if(!$gmodeladd['cname']) amessage(lang('please input gather model cname !'),M_REFERER);
		if($gmodeladd['chid']){
			$gmodeladd['atid'] = 0;
		}elseif($gmodeladd['atid']){
			$gmodeladd['chid'] = $altypes[$gmodeladd['atid']]['chid'];
		}else amessage(lang('please choose archive channel or altype !'),M_REFERER);
		$db->query("INSERT INTO {$tblprefix}gmodels SET cname='$gmodeladd[cname]',chid='$gmodeladd[chid]',atid='$gmodeladd[atid]',sid='$sid'");
		updatecache('gmodels','',$sid);
		adminlog(lang('add gather model'));
		amessage(lang('gather model add finish'),"?entry=gmodels&action=gmodeledit$param_suffix");
	}
}elseif($action =='gmodeldetail' && $gmid){
	$gmodel = read_cache('gmodel',$gmid,'',$sid);
	empty($gmodel) && amessage(lang('confirmchoose gather model'),M_REFERER);
	empty($channels[$gmodel['chid']]) && amessage(lang('gather model relate of archive model noexsit'),M_REFERER);
	$gfields = empty($gmodel['gfields']) ? array() : $gmodel['gfields'];
	$channel = read_cache('channel',$gmodels[$gmid]['chid']);
	$fields = read_cache('fields',$channel['chid']);
	if(!submitcheck('bfieldsedit')){
		$datatypearr = array(
			'text' => lang('text'),
			'multitext' => lang('multitext'),
			'htmltext' => lang('htmltext'),
			'image' => lang('image_f'),
			'images' => lang('images'),
			'flash' => lang('flash'),
			'flashs' => lang('flashs'),
			'media' => lang('media'),
			'medias' => lang('medias'),
			'file' => lang('file_f'),
			'files' => lang('files_f'),
			'select' => lang('select'),
			'mselect' => lang('mselect'),
			'date' => lang('date_f'),
			'int' => lang('int'),
			'float' => lang('float'),
		);
		a_guide('gmodeldetail');
		tabheader($gmodel['cname'].'-'.lang('gather field setting'),'gmodeldetail',"?entry=gmodels&action=gmodeldetail&gmid=$gmid$param_suffix",'5');
		trcategory(array(lang('gather'),lang('onlylink'),lang('field cname'),lang('field ename'),lang('field type')));
		foreach($fields as $k => $field){
			if($field['available']){
				$islinkstr = $field['datatype'] != 'text' ? '-' : "<input class=\"checkbox\" type=\"checkbox\" name=\"fieldsnew[$k][islink]\" value=\"1\"".(!empty($gfields[$k]) ? ' checked' : '').">";
				echo "<tr>\n".
					"<td class=\"item1\" align=\"center\" width=\"40\"><input class=\"checkbox\" type=\"checkbox\" name=\"fieldsnew[$k][available]\" value=\"1\"".(isset($gfields[$k]) ? ' checked' : '')."></td>\n".
					"<td class=\"item2\" align=\"center\" width=\"40\">$islinkstr</td>\n".
					"<td class=\"item1\" width=\"250\">".mhtmlspecialchars($field['cname'])."</td>\n".
					"<td class=\"item2\">".mhtmlspecialchars($k)."</td>\n".
					"<td class=\"item1\" align=\"center\" width=\"80\">".$datatypearr[$field['datatype']]."</td>\n".
					"</tr>";
			}
		}
		tabfooter('bfieldsedit');
	}else{
		foreach($fields as $k => $v){
			if($v['available'] && !empty($fieldsnew[$k]['available'])){
				$islink = empty($fieldsnew[$k]['islink']) ? 0 : 1;
				in_array($v['datatype'],array('image','flash','file','media')) && $islink = 1;
				$newgfields[$k] = $islink;
			}
		}
		$gfieldsnew = empty($newgfields) ? '' : addslashes(serialize($newgfields));
		$db->query("UPDATE {$tblprefix}gmodels SET gfields='$gfieldsnew' WHERE gmid='$gmid'");
		updatecache('gmodels','',$sid);
		adminlog(lang('detail0 modify gather model'));
		amessage(lang('gather model edit finish'),"?entry=gmodels&action=gmodeledit$param_suffix");
	}
}
?>