* @version 0.0.0
* @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software
* @license GNU GPL 3.0 or any newer version
* @link http://www.ship-simu.org
*
* 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 .
*/
class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplication {
/**
* The version number of this application
*/
private $appVersion = "";
/**
* The human-readable name for this application
*/
private $appName = "";
/**
* The short uni*-like name of this application
*/
private $shortName = "";
/**
* Name of the master template
*/
private $masterTemplate = "";
/**
* An instance of this class
*/
private static $thisInstance = null;
/**
* Protected constructor
*
* @return void
*/
protected function __construct () {
// Call parent constructor
parent::__construct(__CLASS__);
// Set description
$this->setObjectDescription("Application-Helper");
// Create an unique ID
$this->createUniqueID();
// Tidy up a little
$this->removeSystemArray();
}
/**
* Getter for an instance of this class
*
* @return $thisInstance An instance of this class
*/
public final static function getInstance () {
// Is the instance there?
if (is_null(self::$thisInstance)) {
self::$thisInstance = new ApplicationHelper();
}
// Return the instance
return self::$thisInstance;
}
/**
* Getter for the version number
*
* @return $appVersion The application's version number
*/
public final function getAppVersion () {
return $this->appVersion;
}
/**
* Setter for the version number
*
* @param $appVersion The application's version number
* @return void
*/
public final function setAppVersion ($appVersion) {
// Cast and set it
$appVersion = (string) $appVersion;
$this->appVersion = $appVersion;
}
/**
* Getter for human-readable name
*
* @return $appName The application's human-readable name
*/
public final function getAppName () {
return $this->appName;
}
/**
* Setter for human-readable name
*
* @param $appName The application's human-readable name
* @return void
*/
public final function setAppName ($appName) {
// Cast and set it
$appName = (string) $appName;
$this->appName = $appName;
}
/**
* Getter for short uni*-like name
*
* @return $shortName The application's short uni*-like name
*/
public final function getAppShortName () {
return $this->shortName;
}
/**
* Setter for short uni*-like name
*
* @param $shortName The application's short uni*-like name
* @return void
*/
public final function setAppShortName ($shortName) {
// Cast and set it
$shortName = (string) $shortName;
$this->shortName = $shortName;
}
/**
* Getter for master template name
*
* @return $masterTemplate Name of the master template
*/
public final function getMasterTemplate () {
return $this->masterTemplate;
}
/**
* Launcher for the application selector
*
* @return void
* @see ApplicationSelector
*/
public final function entryPoint () {
// Get a prepared instance of ApplicationSelector
$selInstance = ApplicationSelector::createApplicationSelector(LanguageSystem::getInstance(), FileIoHandler::getInstance());
// Remove the ignore list from the object
$selInstance->removeDirIgnoreList();
// Next load all templates for the respective short app names
$selInstance->loadApplicationTemplates();
// Then load the selector's own template
$selInstance->loadSelectorTemplate();
// Insert all application templates
$selInstance->insertApplicationTemplates();
}
/**
* Handle the indexed array of fatal messages and puts them out in an
* acceptable fasion
*
* @param $messageList An array of fatal messages
* @return void
*/
public function handleFatalMessages (array $messageList) {
die("
".print_r($messageList, true)."
");
}
}
// [EOF]
?>