<?php
/*
===========================注册模块控制器
*/
class cls_tab_sys_fz extends cls_base_table
{
	private $obj_db,$perms;
	//构造函数
	function __construct()
	{
		parent::__construct();
		global $obj_db;
		$this->obj_db=$obj_db;
		$this->perms["state"]=array("关闭"=>0,"开启"=>1);
		$this->perms["cfg_path"]=WEB_ROOT."/data/config.fz.php";
	}
	function __get($name){
		if(isset($this->perms["$name"])){
			return $this->perms["$name"];
		}
	}
	function __set($name,$value){
		if(isset($this->perms["$name"])){
			$this->perms["$name"]=$value;
		}else{
		}
	}
	//保存
	function on_save($arr_fields)
	{
		$arr_return=array("err"=>"","id"=>0);
		(!isset($arr_fields["fz_id"]))? $arr_fields["fz_id"]=0:$arr_fields["fz_id"]=intval($arr_fields["fz_id"]);
		//保存操作
		$lng_id=$arr_fields["fz_id"];
		unset($arr_fields["fz_id"]);//释放id
		if($lng_id<1){
			$arr_return=self::_insert($arr_fields);
		}else{
			$str_where="fz_id='".$lng_id."'";
			$arr_return=self::_update($arr_fields,$str_where);
			$arr_return["id"]=$lng_id;
		}
		self::on_refresh();
		return $arr_return;
	}
	function on_refresh(){
		global $obj_db;
		$arr_fz=array();
		$obj_result=$obj_db->query("select * from ".DB_PRE."sys_fz where fz_state>0");
		while($obj_rs = $this->obj_db->fetch_array($obj_result))
		{
			$arr_fz[]=$obj_rs;
		}
		$str_fz=serialize($arr_fz);
		$str_val="<?php".chr(10);
		$str_val.='$str_x=\''.$str_fz.'\';'.chr(10);
		$str_val.='$cfg_fz_list=unserialize($str_x);'.chr(10);
		$str_val.="?>";
		file_create($this->perms["cfg_path"],$str_val);
	}
	//添加
	private function _insert($arr_fields)
	{
		$arr_return=array("err"=>"","id"=>0);
		if(!isset($arr_fields["fz_name"])||$arr_fields["fz_name"]==""){
			$arr_return["err"]="分站名称不能为空！";
			return $arr_return;
		}
		if(!isset($arr_fields["fz_domain"])||$arr_fields["fz_domain"]==""){
			$arr_return["err"]="请为分站指定域名！";
			return $arr_return;
		}
		$obj_tab_domain=new cls_tab_sys_domain;
		$arr_fields["fz_domain"]=$obj_tab_domain->format_domain($arr_fields["fz_domain"]);
		if($obj_tab_domain->is_reg($arr_fields["fz_domain"])){
			$arr_return["err"]="输入域名已经被注册了，换个吧！";
			return $arr_return;
		}
		$arr_return=parent::on_insert(DB_PRE."sys_fz",$arr_fields);
		if($arr_return["err"]==""){
			$arr_domain_val=array(
				"domain_url"=>$arr_fields["fz_domain"],
				"domain_type"=>"fz"
			);
			$arr_msg=$obj_tab_domain->on_save($arr_domain_val);
		}
		return $arr_return;
	}
	//修改
	private function _update($arr_fields,$msg_where)
	{
		$arr_return=array("err"=>"","id"=>0);
		$obj_tab_domain=new cls_tab_sys_domain;
		$del_domain="";
		if(isset($arr_fields["fz_domain"]) && $arr_fields["fz_domain"]!=""){
			global $obj_db;
			$arr_fields["fz_domain"]=$obj_tab_domain->format_domain($arr_fields["fz_domain"]);
			$obj_result=$obj_db->query("select fz_domain from ".DB_PRE."sys_fz where ".$msg_where);
			if($obj_rs=$obj_db->fetch_array($obj_result)){
				if($obj_rs["fz_domain"]==$arr_fields["fz_domain"]){
					unset($obj_rs["fz_domain"]);
				}else{
					if($obj_tab_domain->is_reg($arr_fields["fz_domain"])){
						$arr_return["err"]="输入域名已经被注册了，换个吧！";
						return $arr_return;
					}
					$del_domain=$obj_rs["fz_domain"];
				}
			}else{
				$arr_return[""]="修改记录不存在！";
				return $arr_return;
			}
		}
		$arr_return=parent::on_update(DB_PRE."sys_fz",$arr_fields,$msg_where);
		if($arr_return["err"]=="" && $del_domain!=""){
			$obj_tab_domain->on_del_domain($del_domain);
			$arr_domain_val=array(
				"domain_url"=>$arr_fields["fz_domain"],
				"domain_type"=>"fz"
			);
			$arr_msg=$obj_tab_domain->on_save($arr_domain_val);
		}
		return $arr_return;
	}
	//删除
	function on_del($arr_id)
	{
		$arr_return=array("err"=>"");
		$str_id=get_arr_id($arr_id);
		if($str_id==""){
			$arr_return["err"]="没有指定要删除的记录！";
			return $arr_return;
		}
		$arr_return=parent::on_del(DB_PRE."sys_fz","fz_id in(".$str_id.")");
		return $arr_return;
	}

}
?>
