*/
private $userInstance = null;
+ /**
+ * A controller instance
+ */
+ private $controllerInstance = null;
+
/**
* The real class name
*/
// Set real class
$this->setRealClass($className);
- // Initialize the class if the registry is there
+ // Initialize the class if class Registry is there
if ((class_exists('Registry')) && (Registry::isInitialized() === false)) {
+ // Initialize the registry automatically
$this->initInstance();
} // END - if
}
$this->setRealClass('DestructedObject');
} elseif ((defined('DEBUG_DESTRUCTOR')) && (is_object($this->getDebugInstance()))) {
// Already destructed object
- $this->debugOutput(sprintf("[%s:] The object <strong>%s</strong> is already destroyed.",
+ $this->debugOutput(sprintf("[%s:] The object <span class=\"object_name\">%s</span> is already destroyed.",
__CLASS__, $this->__toString()
));
}
private final function initInstance () {
// Is this a system class?
if (!in_array($this->__toString(), $this->systemClasses)) {
+ // Set configuration instance
+ $this->setConfigInstance(FrameworkConfiguration::getInstance());
+
// Add application helper to our class
$this->systemclasses[] = $this->getConfigInstance()->readConfig('app_helper_class');
Registry::isInitialized('OK');
} elseif ($this->__toString() == 'DebugMiddleware') {
// Set configuration instance
- $this->setConfigInstance(FrameworkConfiguration::createFrameworkConfiguration());
+ $this->setConfigInstance(FrameworkConfiguration::getInstance());
}
}
* Stub method (only real cabins shall override it)
*
* @return boolean false = is no cabin, true = is a cabin
+ * @deprecated
*/
public function isCabin () {
return false;
*
* @return boolean false = is not tradeable by the Merchant class,
* true = is a tradeable object
+ * @deprecated
*/
public function isTradeable () {
return false;
/**
* Debugs this instance by putting out it's full content
*
+ * @param $message Optional message to show in debug output
* @return void
*/
- public final function debugInstance () {
+ public final function debugInstance ($message = "") {
// Restore the error handler to avoid trouble with missing array elements or undeclared variables
restore_error_handler();
+ // Init content
+ $content = "";
+
+ // Is a message set?
+ if (!empty($message)) {
+ // Construct message
+ $content = sprintf("<div class=\"debug_message\">Message: %s</div>\n", $message);
+ } // END - if
+
// Generate the output
- $content = sprintf("<pre>%s</pre>",
+ $content .= sprintf("<pre>%s</pre>",
trim(
htmlentities(
print_r($this, true)
);
// Output it
- ApplicationEntryPoint::app_die(sprintf("<strong>%s debug output:</strong><div id=\"debug_content\">%s</div>\nLoaded includes: <div id=\"debug_include_list\">%s</div>",
+ ApplicationEntryPoint::app_die(sprintf("<div class=\"debug_header\">%s debug output:</div><div class=\"debug_content\">%s</div>\nLoaded includes: <div class=\"debug_include_list\">%s</div>",
$this->__toString(),
$content,
ClassLoader::getInstance()->getPrintableIncludeList()
*/
public function debugBackTrace () {
// Sorry, there is no other way getting this nice backtrace
- print "<pre>\n";
+ print("<pre>\n");
debug_print_backtrace();
- print "</pre>";
- exit;
+ print("</pre>");
+ exit();
}
/**
if (is_object($debugInstance)) {
// Use debug output handler
$debugInstance->output($message);
- if (!$doPrint) die(); // Die here if not printed
+ if ($doPrint === false) die(); // Die here if not printed
} else {
// Put directly out
if ($doPrint) {
$this->getResultInstance()->rewind();
// Do we have an entry?
- if (!$this->getResultInstance()->valid()) {
+ if ($this->getResultInstance()->valid() === false) {
throw new InvalidDatabaseResultException(array($this, $this->getResultInstance()), DatabaseResult::EXCEPTION_INVALID_DATABASE_RESULT);
} // END - if
public final function getUserInstance () {
return $this->userInstance;
}
+
+ /**
+ * Setter for controller instance (this surely breaks a bit the MVC patterm)
+ *
+ * @param $controllerInstance An instance of the controller
+ * @return void
+ */
+ public final function setControllerInstance (Controller $controllerInstance) {
+ $this->controllerInstance = $controllerInstance;
+ }
+
+ /**
+ * Getter for controller instance (this surely breaks a bit the MVC patterm)
+ *
+ * @return $controllerInstance An instance of the controller
+ */
+ public final function getControllerInstance () {
+ return $this->controllerInstance;
+ }
}
// [EOF]