<?php
/**
 * Klasa sznurka
 *
 */
class MfMetaTag  extends DataObject {

	/**
	 * nazwa tabeli
	 */
	static $tableName = 'mf_meta_tag';

	/**
	 * nazwa klucza tabeli
	 */
	static $classTablePK = 'id_mf_meta_tag';
		
	/**
	 * nazwa klasy
	 */
	static $className = __CLASS__;

	/**
	 * tabela mapująca pola z bazy SQL na pola klasy.
	 */
	static $fields = array(
		'id_mf_meta_tag' =>'id',
		'source_type' =>'sourceType',
		'id_source' =>'idSource',
		
	);

	protected $id;
	private $sourceType;
	private $idSource;
	public $metaDescriptionObj;
	
	public function GetId() {
		return $this->id;
	}

	public function SetId($id) {
		$this->id = $id;
	}

	public function GetSourceType() {
		return $this->sourceType;
	}

	public function SetSourceType($sourceType) {
		$this->sourceType = $sourceType;
	}

	public function GetIdSource() {
		return $this->idSource;
	}

	public function SetIdSource($idSource) {
		$this->idSource = $idSource;
	}
	
	public function GetDescriptionObj() {
		if(!is_object($this->metaDescriptionObj)) {
			$metaDescriptionObj = MfMetaTagDescriptionDAL::GetResult(array('id_mf_meta_tag'=>$this->GetId()), array());
			//Utils::ArrayDisplay($articleDescriptionObj);
			if(isset($metaDescriptionObj[0]) && is_object($metaDescriptionObj[0])) {
				$this->SetDescriptionObj($metaDescriptionObj[0]);
			} else {
				throw new UserException('Brak wersji jezykowej dla tego rekordu! ('.$this->GetId().')');
			}
		}
		return $this->metaDescriptionObj;
	}

	public function SetDescriptionObj($metaDescriptionObj) {
		$this->metaDescriptionObj = $metaDescriptionObj;
	}
	public function SetMfMetaTagDescription($metaDescriptionObj) {
		$this->metaDescriptionObj = $metaDescriptionObj;
	}
	
	/*
	 * Eksperymentalne przeciazenie metod kierowane do podobiektu slownikowego
	 */
//	public function __call($name, $param) {
//
//		$obj = $this->GetDescriptionObj();
//
//		return $obj->$name($param);
//	}






	public function __construct($id = -1) {
		$this->SetId($id);
	}

	 /**
	 * Pobiera nazwę tabeli reprezentującej obiekt w SQL
	 * @return string
	 */

	public  function GetTableName(){
		return self::$tableName;
      }
	/**
       * Pobiera taablice mapującą pola klasy na pola tabeli
       * @return array
       */
	public  function GetFields(){
		return self::$fields;
      }
	/**
       * Pobiera nazwę klasy
       * @return string
       */
	public  function GetClassName(){
		return self::$className;
      }


    public function GetClassTablePK() {
        return self::$classTablePK;
    }
}
?>