您当前的位置:首页 > CMS常见问题 > 帝国cms常见问题 >

帝国cms ReturnDoMemberF()函数代码注释

0
<?php
//组合复选框数据
function ReturnMCheckboxAddF($r,$f,$checkboxf){
	$val=$r;
	//如果是单行文本框、多行文本框、单选按钮则直接返回其值
	if(is_array($r)&&strstr($checkboxf,",".$f.",")){
		$val="";
		$count=count($r);
		for($i=0;$i<$count;$i++){
			$val.=$r[$i]."|";
		}
		if($val){
			$val="|".$val;
		}
	}
	return $val;
}
//返回会员字段
function ReturnDoMemberF($fid,$add,$mr,$ecms=0,$username='',$admin=0){
	global $empire,$dbtbpre,$ecms_config,$public_r;
	//openmembertranimg 文件设置-会员表单附件设置, 开启上传图片, 1为开启
	//memberimgsize 最大图片5120KB=5M
	//memberimgtype 图片扩展名.gif|.jpg|.png|.jpeg|.bmp
	//openmembertranfile 开启上传附件, 1为开启
	//memberfilesize 最大附件500KB
	//memberfiletype 附件扩展名.zip|.rar
	$pr=$empire->fetch1("select 
		openmembertranimg,memberimgsize,memberimgtype,
		openmembertranfile,memberfilesize,memberfiletype 
		from {$dbtbpre}enewspublic limit 1");
	//fid 表单ID
	//enter text 录入项
	//mustenter text 必填项
	//filef varchar(255) 附件字段集合
	//imgf varchar(255) 图片字段集合
	//canaddf text 可增加项
	//caneditf text 可修改项
	//checkboxf text 复选字段集合
	$formr=$empire->fetch1("select 
		fid,enter,mustenter,filef,imgf,
		canaddf,caneditf,checkboxf 
		from {$dbtbpre}enewsmemberform where fid='$fid'");
	//检测必填字段
	$mustr=explode(",",$formr['mustenter']);
	$mustcount=count($mustr);
	for($i=1;$i<$mustcount-1;$i++){
		$mf=$mustr[$i];
		//如果是必填附件字段或者是必填图片字段
		if(strstr($formr['filef'],",".$mf.",")||strstr($formr['imgf'],",".$mf.",")){
			$mfilef=$mf."file";
			//用户系统中的文件名称
			if($_FILES[$mfilef]['name']){
				if(strstr($formr['imgf'],",".$mf.",")){
					//是否开启上传图片
					if(!$pr["openmembertranimg"]){
						//系统关闭上传图片功能
						printerror("CloseQTranPic","",1);
					}
				}else{
					//是否开启上传附件
					if(!$pr["openmembertranfile"]){
						//系统关闭了上传附件功能
						printerror("CloseQTranFile","",1);
					}
				}
			}elseif(!trim($add[$mf])&&!$mr[$mf]){
				//请将信息填写完整
				printerror("EmptyQMustF","",1);
			}
		}else{
			$chmustval=ReturnMCheckboxAddF($add[$mf],$mf,$formr['checkboxf']);
			if(!trim($chmustval)){
				printerror("EmptyQMustF","",1);
			}
		}
	}


	//字段处理
	$dh="";
	$tranf="";
	$record="<!--record-->";
	$field="<!--field--->";

//真实姓名<!--field--->truename<!--record-->
//联系电话<!--field--->mycall<!--record-->
//手机<!--field--->phone<!--record-->
//QQ号码<!--field--->oicq<!--record-->
//网站地址<!--field--->homepage<!--record-->
//会员头像<!--field--->userpic<!--record-->
//联系地址<!--field--->address<!--record-->
//简介<!--field--->saytext<!--record-->

	$fr=explode($record,$formr['enter']);
	$count=count($fr);
	for($i=0;$i<$count-1;$i++)
	{
		$fr1=explode($field,$fr[$i]);
		$f=$fr1[1];
		//如果不是可增加项或可修改项则跳过当前循环
		if($admin==0 && (($ecms==0&&!strstr($formr['canaddf'],','.$f.','))||($ecms==1&&!strstr($formr['caneditf'],','.$f.',')))){
			continue;
		}
		//附件
		$add[$f]=str_replace('[!#@-','ecms',$add[$f]);
		if(strstr($formr['filef'],",".$f.",")||strstr($formr['imgf'],",".$f.","))
		{
			//上传附件
			$filetf=$f."file";
			if($_FILES[$filetf]['name'])
			{
				//取得文件类型
				$filetype=GetFiletype($_FILES[$filetf]['name']);
				if(CheckSaveTranFiletype($filetype)){
					//您上传的文件扩展名有误
					printerror("NotQTranFiletype","",1);
				}
				//图片
				if(strstr($formr['imgf'],",".$f.","))
				{
					//是否开启上传图片
					if(!$pr['openmembertranimg']){
						//系统关闭上传图片功能
						printerror("CloseQTranPic","",1);
					}
					if(!strstr($pr['memberimgtype'],"|".$filetype."|")){
						//您上传的文件扩展名有误
						printerror("NotQTranFiletype","",1);
					}
					//文件的字节大小
					if($_FILES[$filetf]['size']>$pr['memberimgsize']*1024){
						//您上传的文件大小超过系统限制
						printerror("TooBigQTranFile","",1);
					}
					if(!strstr($ecms_config['sets']['tranpicturetype'],','.$filetype.',')){
						printerror("NotQTranFiletype","",1);
					}
				//附件
				}else{
					//是否开启上传附件
					if(!$pr['openmembertranfile']){
						//系统关闭了上传附件功能
						printerror("CloseQTranFile","",1);
					}
					if(!strstr($pr['memberfiletype'],"|".$filetype."|")){
						//您上传的文件扩展名有误
						printerror("NotQTranFiletype","",1);
					}
					if($_FILES[$filetf]['size']>$pr['memberfilesize']*1024){
						//您上传的文件大小超过系统限制
						printerror("TooBigQTranFile","",1);
					}
				}
				$tranf.=$dh.$f;
				$dh=",";
				$fval="[!#@-".$f."-@!]";
			}
			else
			{
				//modmemberedittran 会员附件字段支持填写 1是 0否
				if($public_r['modmemberedittran']==1)
				{
					$fval=$add[$f];
					if($ecms==1&&$mr[$f]&&!trim($fval))
					{
						$fval=$mr[$f];
					}
				}
				else
				{
					$fval='';
					if($ecms==1)
					{
						$fval=$mr[$f];
					}
				}
			}
		}
		else
		{
			$add[$f]=ReturnMCheckboxAddF($add[$f],$f,$formr['checkboxf']);
			$fval=$add[$f];
		}
		$fval=DoMemberFValue($fval);
		$fval=RepPostStr2($fval);
		$fval=addslashes($fval);
		//添加
		if($ecms==0)
		{
			$ret_r[0].=",`".$f."`";
			$ret_r[1].=",'".$fval."'";
		//编辑
		}else{
			$ret_r[0].=",`".$f."`='".$fval."'";
		}
	}






	//上传附件
	if($tranf)
	{
		$infoid=0;
		$filepass=0;
		$classid=0;
		$filepass=(int)$mr['add_filepass'];
		$tranr=explode(",",$tranf);
		$count=count($tranr);
		for($i=0;$i<$count;$i++)
		{
			$tf=$tranr[$i];
			$tffile=$tf."file";
			//tmp_name 文件在Web服务器中临时存储的位置
			//name 用户系统中的文件名称
			//type 文件的MIME类型
			//size 文件的字节大小
			$tfr=DoTranFile($_FILES[$tffile]['tmp_name'],$_FILES[$tffile]['name'],$_FILES[$tffile]['type'],$_FILES[$tffile]['size'],$classid);
			if($tfr['tran'])
			{
				if(strstr($formr['imgf'],",".$tf.","))//图片
				{
					$type=1;
				}
				else//附件
				{
					$type=0;
				}
				//写入数据库
				$filesize=(int)$_FILES[$tffile]['size'];
				eInsertFileTable($tfr[filename],$filesize,$tfr[filepath],'[EditInfo]'.$username,$classid,'Member['.$tf.']',$type,$filepass,$filepass,$public_r[fpath],0,6,0);
				//删除旧文件
				if($ecms==1&&$mr[$tf])
				{
					DelYMemberTranFile($mr[$tf],$tf,$username);
				}
				$repfval=$tfr['url'];
			}
			else
			{
				$repfval=$mr[$tf];
			}
			if($ecms==0)//添加
			{
				$ret_r[1]=str_replace("[!#@-".$tf."-@!]",$repfval,$ret_r[1]);
			}
			else//编辑
			{
				$ret_r[0]=str_replace("[!#@-".$tf."-@!]",$repfval,$ret_r[0]);
			}
		}
	}
	return $ret_r;
}
?>
顶部中部底部