<?php
/**
 * Klasa modulow
 *
 */
class MfModule  extends DataObject {

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

	/**
	 * nazwa klucza tabeli
	 */
	static $classTablePK = 'id_mf_module';

	/**
	 * nazwa klasy
	 */
	static $className = __CLASS__;

	/**
	 * tabela mapująca pola z bazy SQL na pola klasy.
	 */
	static $fields = array(
	'id_mf_module' =>'id',
	'module_title'=>'moduleTitle',
	'module_name'=>'moduleName',
	'method_title'=>'methodTitle',
	'method_name'=>'methodName',
	'method_admin_name'=>'methodAdminName',
	'options'=>'options',
	'controller'=>'controller',
	'version'=>'version',
	'table_name'=>'tableModuleName',
	'class_name'=>'classModuleName',
	'list'=>'list',
	);

	protected $id;
	private $moduleTitle;
	private $moduleName;
	private $methodTitle;
	private $methodName;
	private $methodAdminName;
	private $options;
	private $controller;
	private $version;
	private $tableModuleName;
	private $classModuleName;
	private $catalog;
	private $list;

	public function GetId() {
		return $this->id;
	}

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

	public function SetList($list) {
		$this->list = $list;
	}

	public function GetModuleTitle() {
		return $this->moduleTitle;
	}

	public function SetModuleTitle($moduleTitle) {
		$this->moduleTitle = $moduleTitle;
	}

	public function GetModuleName() {
		return $this->moduleName;
	}

	public function SetModuleName($moduleName) {
		$this->moduleName = $moduleName;
	}

	public function GetMethodTitle() {
		return $this->methodTitle;
	}

	public function SetMethodTitle($methodTitle) {
		$this->methodTitle = $methodTitle;
	}

	public function GetMethodName() {
		return $this->methodName;
	}

	public function SetMethodName($methodName) {
		$this->methodName = $methodName;
	}


	public function GetMethodAdminName() {
		return $this->methodAdminName;
	}

	public function SetMethodAdminName($methodAdminName) {
		$this->methodAdminName = $methodAdminName;
	}

	public function GetOptions() {
		return $this->options;
	}

	public function GetArrayOptions() {
		return unserialize($this->options);
	}

	public function SetOptions($options) {
		$this->options = $options;
	}


	public function GetController() {
		return $this->controller;
	}

	public function SetController($controller) {
		$this->controller = $controller;
		$array = explode('_', $this->controller);
		if (is_array($array)) {
			$this->catalog = $array[0];
		}
		
	}

	public function GetVersion() {
		return $this->version;
	}

	public function SetVersion($version) {
		$this->version = $version;
	}

	public function GetClassModuleName() {
		return $this->classModuleName;
	}

	public function SetClassModuleName($classModuleName) {
		$this->classModuleName = $classModuleName;
	}

	public function GetTableModuleName() {
		return $this->tableModuleName;
	}

	public function SetTableModuleName($tableModuleName) {
		$this->tableModuleName = $tableModuleName;
	}
	
	public function GetCatalog() {
		return $this->catalog;
	}




	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;
	}
	
	
}
?>