www.gusucode.com > ShopEx481 & PHPWind 整合版码程序 > bbs/admin/customfield.php

    <?php
!function_exists('adminmsg') && exit('Forbidden');
$basename="$admin_file?adminjob=customfield";

if(empty($action)){
	$customfielddb=array();
	$query = $db->query("SELECT * FROM pw_customfield ORDER BY vieworder");
	while($rt = $db->fetch_array($query)){
		$customfielddb[]=$rt;
	}
	include PrintEot('customfield');exit;
} elseif($action == 'add'){
	if(!$_POST['step']){
		$rt = array();
		$state_1		= 'checked';
		$required_0		= 'checked';
		$viewinread_0	= 'checked';
		$editable_0		= 'checked';
		include PrintEot('customfield');exit;
	} else{
		InitGP(array('title','descrip','state','vieworder','maxlen','required','viewinread','editable','groups','options'),'P');
		if(!$title){
			adminmsg('operate_fail');
		}
		if($type == '3' && !$options){
			adminmsg('options_error');
		}
		$viewright = '';
		if($groups){
			foreach($groups as $key=>$val){
				if(is_numeric($val)){
					$viewright .= $viewright ? ','.$val : $val;
				}
			}
		}
		$db->update("INSERT INTO pw_customfield(title,maxlen,vieworder,type,state,required,viewinread,editable,descrip,viewright,options) VALUES('$title','$maxlen','$vieworder','$type','$state','$required','$viewinread','$editable','$descrip','$viewright','$options')");
		$id=$db->insert_id();
		$colums=$db->get_one("SHOW COLUMNS FROM pw_memberinfo LIKE 'field_$id'");
		if($colums['Field']!='field_'.$id){
			$db->query("ALTER TABLE pw_memberinfo ADD field_$id VARCHAR(255) NOT NULL");
		}
		updatecache_field();
		adminmsg('operate_success');
	}
} elseif($action=='edit'){
	InitGP(array('id'));
	if(!$_POST['step']){
		$rt = $db->get_one("SELECT * FROM pw_customfield WHERE id='$id'");
		if(!$rt){
			adminmsg('fieldid_error');
		}
		${'state_'.$rt['state']}			= 'checked';
		${'required_'.$rt['required']}		= 'checked';
		${'viewinread_'.$rt['viewinread']}	= 'checked';
		${'editable_'.$rt['editable']}		= 'checked';
		${'type_'.$rt['type']}				= 'selected';

		$groups = explode(',',$rt['viewright']);
		foreach($groups as $key=>$val){
			${'viewright_'.$val}='checked';
		}
		include PrintEot('customfield');exit;
	} else{
		InitGP(array('title','descrip','state','vieworder','maxlen','required','viewinread','editable','groups','options'),'P');
		$viewright = '';
		if($groups){
			foreach($groups as $key=>$val){
				if(is_numeric($val)){
					$viewright .= $viewright ? ','.$val : $val;
				}
			}
		}
		$db->update("UPDATE pw_customfield SET title='$title',maxlen='$maxlen',vieworder='$vieworder',type='$type',state='$state',required='$required',viewinread='$viewinread',editable='$editable',descrip='$descrip',viewright='$viewright',options='$options' WHERE id='$id'");
		updatecache_field();
		adminmsg('operate_success');
	}
} elseif($_POST['action']=='del'){
	InitGP(array('selid'),'P');
	if(!$selids = checkselid($selid)){
		$basename="javascript:history.go(-1);";
		adminmsg('operate_error');
	}
	$dropfield = '';
	foreach($selid as $key=>$val){
		if(is_numeric($val)){
			$colums=$db->get_one("SHOW COLUMNS FROM pw_memberinfo LIKE 'field_$val'");
			if($colums['Field']=='field_'.$val){
				$dropfield .= $dropfield ? ",DROP field_$val" : "DROP field_$val";
			}
		}
	}
	if($dropfield){
		$db->query("ALTER TABLE pw_memberinfo $dropfield");
	}
	$db->update("DELETE FROM pw_customfield WHERE id IN($selids)");
	updatecache_field();
	adminmsg('operate_success');
}
?>