<?php
/*
===========================用户控制器
^^^^^^^^^^^^^^^^^^成员
------添加(on_insert)
------修改(on_update)
------删除(on_del)

*/
class cls_tab_sys_domain extends cls_base_table
{
	private $perms;
	//构造函数
	function __construct()
	{
		parent::__construct();
		$this->perms["state"]=array("关闭"=>0,"开启"=>1);

	}
	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{
		}
	}

	/*添加
	arr_fields:关健字数组
	*/
	function on_save($arr_fields)
	{
		$arr_return=array("err"=>"");
		(!isset($arr_fields["domain_id"]))? $arr_fields["domain_id"]=0:$arr_fields["domain_id"]=intval($arr_fields["domain_id"]);
		//保存操作
		$lng_id=$arr_fields["domain_id"];
		unset($arr_fields["domain_id"]);//释放id
		if($lng_id>0){
			if(isset($arr_fields["domain_url"])){
				$arr_fields["domain_url"]=self::format_domain($arr_fields["domain_url"]);
				if(self::is_reg($arr_fields["domain_url"],$lng_id)){
					$arr_return["err"]="域名已经被注册了！";
					return $arr_return;
				}
			}
			$arr_return=parent::on_update(DB_PRE."sys_domain",$arr_fields,"domain_id=".$lng_id);
			$arr_return["id"]=$lng_id;
		}else{
			if(!isset($arr_fields["domain_url"])){
				$arr_return["err"]="域名不能为空！";
				return $arr_return;
			}
			$arr_fields["domain_url"]=self::format_domain($arr_fields["domain_url"]);
			if(self::is_reg($arr_fields["domain_url"])){
				$arr_return["err"]="域名已经被注册了！";
				return $arr_return;
			}
			if(!isset($arr_fields["domain_type"])) $arr_fields["domain_type"]="company";
			$arr_return=parent::on_insert(DB_PRE."sys_domain",$arr_fields);
		}
		return $arr_return;
	}
	function is_reg($str_url,$msg_id=0){
		global $obj_db;
		$str_where=" where domain_url='".$str_url."'";
		if($msg_id>0) $str_where.=" and domain_id!=".$msg_id;
		$obj_result=$obj_db->query("select 1 from ".DB_PRE."sys_domain".$str_where);
		if($obj_rs=$obj_db->fetch_array($obj_result)){
			return true;
		}else{
			return false;
		}
	}
	function format_domain($str_domain){
		if(!stristr($str_domain,".")){
			$arr_x=explode(".",WEB_URL);
			$lng_x=count($arr_x)-1;
			if($lng_x>0){
				$str_domain=$str_domain.".".$arr_x[$lng_x-1].".".$arr_x[$lng_x];
			}
		}
		$str_domain=strtolower($str_domain);
		if(!stristr($str_domain,"http://")) $str_domain="http://".$str_domain;
		$arr_parse=parse_url($str_domain);
		$str_domain="http://".$arr_parse["host"];
		return $str_domain;
	}
	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_domain","domain_id in(".$str_id.")");
		return $arr_return;
	}
	function on_del_domain($str_url)
	{
		global $obj_db;
		$arr_return["err"]=$obj_db->execute("delete from ".DB_PRE."sys_domain where domain_url='".$str_url."'");
		return $arr_return;
	}

}
?>
