class_Authorisation.inc.php 3.32 KB
<?php
/**
 * @file	Authorisation.inc.php
 * @category freeSN
 * @mailto	code [at] netz.coop
 * @version 0.4.200901
 * @link http://netz.coop
 * 
 *  @copyright Copyright by netz.coop e.G. 2015
 *  
 *
 *   This program is free software: you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 */
/**
 *	Diese Klasse ist für eine Authorisation eines Profils zustaendig
 *		sie gehoert zu @see AuthorisationList
 *		und kann in der abgeleiteten Klasse ein @see ReadAuthorisation
 *			oder @see WriteAuthorisation
 *
 *	@version 		0.070115 (CD-0.8.3)
 *	@author 		dev [at] mensch [dot] coop
 */

class Authorisation {
	private $XMLTag;
	public $ThisClassName;
	private $ListID;
	private $ProfileID;
	private $ProfileNickName;
	private $BOOL_DELETE = FALSE;

	/**
	 *	Konstruktor
	 *
	 */
	public function __construct($ListID, $ProfileID, $ProfileNickName) {
		$this->ListID = $ListID;
		$this->ProfileID = $ProfileID;
		$this->ProfileNickName = $ProfileNickName;

		$this->XMLTag = CONFIG::getXMLTag(get_class($this));
		$this->ThisClassName = get_class($this);

		$this->Profile = FALSE;

		if(is_array($ProfileID)) {
			D::backtrace();
			D::show($this);
		}
	}

	public function getObjVar($param_ObjVar) {
		$ObjVar = trim($param_ObjVar);
		return $this->$ObjVar;
	}


	public function setListID($ID)	{			$this->ListID = $ID;				}
	public function setDelete($param_bool=true){
		$this->BOOL_DELETE = $param_bool;
	}
	public function setProfileID($ProfileID){	$this->ProfileID = $ProfileID;		}

	public function setProfileNickName($NickName){ $this->ProfileNickName=$NickName;}

	public function getListID(){				return $this->ListID;				}
	public function getProfileID(){				return $this->ProfileID;			}
	public function getProfileNickName(){			return $this->ProfileNickName;		}
	public function getBOOL_DELETE(){			return $this->BOOL_DELETE;			}


	/**
	 *	return the objekt vars as xml (DOMElement)
	 *
	 *	@param DOMDocument param_DOMDocument
	 * 	@since 0.4 - 19.02.2009
	 */
	public function getObjDOMElement(Account &$param_HostAccount, iStorable &$param_iStorable, DOMDocument $param_DOMDocument) {
		$DOMElement = $param_DOMDocument->createElement($this->XMLTag);
		$DOMElement->setAttribute('ListID', $this->ListID);
		$DOMElement->setAttribute('ID', $this->ProfileID);
		if($this->ProfileNickName) {
			$DOMElement->setAttribute('NickName', $this->ProfileNickName);
		}
		return $DOMElement;
	}

	public function __toString(){
		$String = "obj(".get_class($this).": ListID(".$this->ListID.") ProfileID(".$this->ProfileID.") KindOf(".$this->KindOf.") DELETE(".$this->BOOL_DELETE.")";
		if(!$this->Profile){
		}
		$String .= " NickName(".$this->ProfileNickName.")";
		$String .= ")";
		return $String;
	}
}

class ReadAuthorisation extends Authorisation {
}

class WriteAuthorisation extends Authorisation {
}
?>