<?php
/**
 * ****************************************************************
 * Project:      *
 * Copyright:    Copyright (c) 2007
 * Company:      Thomas Niemann
 * ****************************************************************
 * Workfile:     MessageLoader.php
 * ****************************************************************
 * Description:  
 *                
 * ***************************************************************/
class MessageLoader extends BasicLoader implements SingletonInterface
{
	
	private static $instance;	
	/****************************************************************
	 * singleton, provides only one instance
	 ****************************************************************/
	public static function getInstance()
	{
		if (!isset (self :: $instance))
		{
			$class = __CLASS__;
			self :: $instance = new $class ();
		}
		return self :: $instance;
	}
	private function __construct()
	{		
		$xmlHelper = new XMLHelper('messages/messages.' . $this->language . '.xml', 'messages/messages.xsd');
		$this->xmlContent = $xmlHelper->getContent();
	}
	/****************************************************************
	 * returns expected errorMessage by delivered messageId
	 * - true for 2nd Parameter if messages used in adminArea
	 ****************************************************************/
	public function getErrorMsg($_messageId, $_errorType = "")
	{
		if (!empty ($_errorType))
		{
			$elementPath = $_errorType . '_error->message';
		}
		else
		{
			$elementPath = 'error->message';
		}
		return $this->getElement($elementPath, $_messageId);
	}
	/****************************************************************
	 * returns expected succesMessage by delivered messageId
	 * - true for 2nd Parameter if messages used in adminArea
	 ****************************************************************/
	public function getSuccessMsg($_messageId, $_successType = "")
	{
		if (!empty ($_successType))
		{
			$elementPath = $_successType . '_success->message';
		}
		else
		{
			$elementPath = 'success->message';
		}
		return $this->getElement($elementPath, $_messageId);
	}
	
	/****************************************************************
	 * returns expected Message by delivered messageId
	 * - true for 2nd Parameter if messages used in adminArea
	 ****************************************************************/
	public function getMessage($_parentKnote = "", $_messageId)
	{
		if (!empty ($_parentKnote))
		{
			$elementPath = $_parentKnote . '->message';
		}
		else
		{
			$elementPath = 'message->message';
		}
		return $this->getElement($elementPath, $_messageId);
	}
}
?>