From: Roland Häder Date: Wed, 19 Nov 2008 22:36:54 +0000 (+0000) Subject: Code merged from ship-simu repository X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=12dbc1af8f0bc2981711b17c7c955f270c440b35;p=hub.git Code merged from ship-simu repository --- diff --git a/inc/classes.php b/inc/classes.php index 5a541c9d0..78bafebbf 100644 --- a/inc/classes.php +++ b/inc/classes.php @@ -35,19 +35,19 @@ foreach ($lowerClasses as $className) { try { ClassLoader::getInstance()->loadClasses(sprintf("inc/classes/%s/", $className)); } catch (PathIsNoDirectoryException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Could not load framework classes from path %s for the follwing reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] Could not load framework classes from path %s for the follwing reason: %s", $className )); } catch (PathIsEmptyException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Could not load framework classes from path %s for the follwing reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] Could not load framework classes from path %s for the follwing reason: %s", $className )); } catch (PathReadProtectedException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Could not load framework classes from path %s for the follwing reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] Could not load framework classes from path %s for the follwing reason: %s", $className )); } catch (DirPointerNotOpenedException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Could not load framework classes from path %s for the follwing reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] Could not load framework classes from path %s for the follwing reason: %s", $className )); } diff --git a/inc/classes/exceptions/actions/class_InvalidActionException.php b/inc/classes/exceptions/actions/class_InvalidActionException.php index 3f6df3099..96c1b73ae 100644 --- a/inc/classes/exceptions/actions/class_InvalidActionException.php +++ b/inc/classes/exceptions/actions/class_InvalidActionException.php @@ -31,10 +31,11 @@ class InvalidActionException extends FrameworkException { */ public function __construct(array $msgArray, $code) { // Prepare the message - $message = sprintf("[%s:%d] Cannot resolve action %s.", + $message = sprintf("[%s:%d] Cannot resolve action %s (%s).", $msgArray[0]->__toString(), $this->getLine(), - $msgArray[1] + $msgArray[1], + $msgArray[0]->getClassName() ); // Call parent contructor with message diff --git a/inc/classes/exceptions/auth/class_UserAuthorizationException.php b/inc/classes/exceptions/auth/class_UserAuthorizationException.php index a5ab08bdc..a07bf453c 100644 --- a/inc/classes/exceptions/auth/class_UserAuthorizationException.php +++ b/inc/classes/exceptions/auth/class_UserAuthorizationException.php @@ -31,7 +31,7 @@ class UserAuthorizationException extends FrameworkException { */ public function __construct(Filterable $filterInstance, $code) { // Construct the message - $message = sprintf("[%s:%d] Authorization has failed. Error code %s", + $message = sprintf("[%s:%d] Authorization has failed. Error code %s", $filterInstance->__toString(), $this->getLine(), $this->getHexCode($code) diff --git a/inc/classes/exceptions/class_FrameworkException.php b/inc/classes/exceptions/class_FrameworkException.php index 3ba2fbec9..c3a2c1a38 100644 --- a/inc/classes/exceptions/class_FrameworkException.php +++ b/inc/classes/exceptions/class_FrameworkException.php @@ -59,11 +59,20 @@ abstract class FrameworkException extends ReflectionException { ); // End here - exit; + exit(); } // END - if - // Make sure everything is assigned properly parent::__construct($message, $code); + + // Log it away if DEBUG_ALL is set + if (defined('DEBUG_ALL')) { + // Log the error + error_log(sprintf("[%s:] %s (%s)", + $this->__toString(), + $message, + $this->getHexCode() + )); + } // END - if } /** @@ -121,7 +130,7 @@ abstract class FrameworkException extends ReflectionException { } // END - if // Prepare argument infos - $info = "{$info}"; + $info = "{$info}"; // File detection $file = "Unknown file"; @@ -136,7 +145,7 @@ abstract class FrameworkException extends ReflectionException { } // END - if // The message - $dbgMsg .= "\t at ".$dbgIndex." ".$file." (".$line.") -> ".$dbgInfo['function']."(".$info.")
\n"; + $dbgMsg .= "\t at ".$dbgIndex." ".$file." (".$line.") -> ".$dbgInfo['function']."(".$info.")
\n"; } // END - if $dbgMsg .= "Debug backtrace end
\n"; diff --git a/inc/classes/exceptions/compressor/class_MismatchingCompressorsException.php b/inc/classes/exceptions/compressor/class_MismatchingCompressorsException.php index 1d0acb482..dfba485b6 100644 --- a/inc/classes/exceptions/compressor/class_MismatchingCompressorsException.php +++ b/inc/classes/exceptions/compressor/class_MismatchingCompressorsException.php @@ -31,7 +31,7 @@ class MismatchingCompressorsException extends FrameworkException { */ public function __construct (array $array, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Der Kompressor %s zu den geladenen Daten aus %s und der aktuell verwendete Kompressor %s stimmen nicht überein!", + $message = sprintf("[%s:%d] Der Kompressor %s zu den geladenen Daten aus %s und der aktuell verwendete Kompressor %s stimmen nicht überein!", $array[0]->__toString(), $this->getLine(), strtoupper($array[1]), diff --git a/inc/classes/exceptions/controller/class_InvalidControllerException.php b/inc/classes/exceptions/controller/class_InvalidControllerException.php index b166455a1..7fec63200 100644 --- a/inc/classes/exceptions/controller/class_InvalidControllerException.php +++ b/inc/classes/exceptions/controller/class_InvalidControllerException.php @@ -31,7 +31,7 @@ class InvalidControllerException extends FrameworkException { */ public function __construct(array $msgArray, $code) { // Prepare the message - $message = sprintf("[%s:%d] Cannot resolve controller %s (class name: %s).", + $message = sprintf("[%s:%d] Cannot resolve controller %s (class name: %s).", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1], diff --git a/inc/classes/exceptions/database/general/class_SqlException.php b/inc/classes/exceptions/database/general/class_SqlException.php index 6270e9ce4..063492881 100644 --- a/inc/classes/exceptions/database/general/class_SqlException.php +++ b/inc/classes/exceptions/database/general/class_SqlException.php @@ -31,7 +31,7 @@ class SqlException extends DatabaseException { */ public function __construct (array $msgArray, $code) { // Construct the message - $message = sprintf("[%s:%d] SQL error detected. Message from database: %s, code: %s.", + $message = sprintf("[%s:%d] SQL error detected. Message from database: %s, code: %s.", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1], diff --git a/inc/classes/exceptions/database/local_file/class_SavePathIsNoDirectoryException.php b/inc/classes/exceptions/database/local_file/class_SavePathIsNoDirectoryException.php index a8fb42b62..b14fa9734 100644 --- a/inc/classes/exceptions/database/local_file/class_SavePathIsNoDirectoryException.php +++ b/inc/classes/exceptions/database/local_file/class_SavePathIsNoDirectoryException.php @@ -31,7 +31,7 @@ class SavePathIsNoDirectoryException extends DatabaseException { */ public function __construct ($path, $code) { // Add a message around the missing class - $message = sprintf("Der angegebene Speicherpfad %s ist ungütig (kein Pfad).", $path); + $message = sprintf("Der angegebene Speicherpfad %s ist ungütig (kein Pfad).", $path); // Call parent constructor parent::__construct($message, $code); diff --git a/inc/classes/exceptions/database/local_file/class_SavePathReadProtectedException.php b/inc/classes/exceptions/database/local_file/class_SavePathReadProtectedException.php index 7a0534b22..ce0ffa6b4 100644 --- a/inc/classes/exceptions/database/local_file/class_SavePathReadProtectedException.php +++ b/inc/classes/exceptions/database/local_file/class_SavePathReadProtectedException.php @@ -31,7 +31,7 @@ class SavePathReadProtectedException extends DatabaseException { */ public function __construct ($path, $code) { // Add a message around the missing class - $message = sprintf("Der Pfad %s ist lese-geschützt. Bitte Zugriffsrechte (CHMOD) zum Lesen setzen.", $path); + $message = sprintf("Der Pfad %s ist lese-geschützt. Bitte Zugriffsrechte (CHMOD) zum Lesen setzen.", $path); // Call parent constructor parent::__construct($message, $code); diff --git a/inc/classes/exceptions/database/local_file/class_SavePathWriteProtectedException.php b/inc/classes/exceptions/database/local_file/class_SavePathWriteProtectedException.php index 9d7f69934..81a1067e3 100644 --- a/inc/classes/exceptions/database/local_file/class_SavePathWriteProtectedException.php +++ b/inc/classes/exceptions/database/local_file/class_SavePathWriteProtectedException.php @@ -31,7 +31,7 @@ class SavePathWriteProtectedException extends DatabaseException { */ public function __construct ($path, $code) { // Add a message around the missing class - $message = sprintf("Der angegebene Speicherpfad %s ist schreibgeschützt. Bitte Zugriffsrechte (CHMOD) entsprechend setzen.", $path); + $message = sprintf("Der angegebene Speicherpfad %s ist schreibgeschützt. Bitte Zugriffsrechte (CHMOD) entsprechend setzen.", $path); // Call parent constructor parent::__construct($message, $code); diff --git a/inc/classes/exceptions/database/wrapper/class_WrapperUserNameNotFoundException.php b/inc/classes/exceptions/database/wrapper/class_WrapperUserNameNotFoundException.php index bf3aa4c10..819b388fe 100644 --- a/inc/classes/exceptions/database/wrapper/class_WrapperUserNameNotFoundException.php +++ b/inc/classes/exceptions/database/wrapper/class_WrapperUserNameNotFoundException.php @@ -7,7 +7,9 @@ * @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 - * + * @todo This class is no longer used + * @deprecated + * * 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 @@ -31,7 +33,7 @@ class WrapperUserNameNotFoundException extends DatabaseException { */ public function __construct (array $msgArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Username %s was not found. Requesting class: %s", + $message = sprintf("[%s:%d] Username %s was not found. Requesting class: %s", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1]->getUserName(), diff --git a/inc/classes/exceptions/helper/class_FormClosedException.php b/inc/classes/exceptions/helper/class_FormClosedException.php index 59a52ad18..9978e5e5a 100644 --- a/inc/classes/exceptions/helper/class_FormClosedException.php +++ b/inc/classes/exceptions/helper/class_FormClosedException.php @@ -32,7 +32,7 @@ class FormClosedException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Could not add form element %s because form is closed.", + $message = sprintf("[%s:%d] Could not add form element %s because form is closed.", $classArray[0]->__toString(), $this->getLine(), $classArray[1] diff --git a/inc/classes/exceptions/helper/class_FormGroupClosedException.php b/inc/classes/exceptions/helper/class_FormGroupClosedException.php index a1e88020c..92a6e4389 100644 --- a/inc/classes/exceptions/helper/class_FormGroupClosedException.php +++ b/inc/classes/exceptions/helper/class_FormGroupClosedException.php @@ -31,7 +31,7 @@ class FormGroupClosedException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Could not add sub group %s because no form group has been opened before.", + $message = sprintf("[%s:%d] Could not add sub group %s because no form group has been opened before.", $classArray[0]->__toString(), $this->getLine(), $classArray[1] diff --git a/inc/classes/exceptions/helper/class_HelperNoPreviousOpenedSubGroupException.php b/inc/classes/exceptions/helper/class_HelperNoPreviousOpenedSubGroupException.php index 6c257c0b5..b6b78f61d 100644 --- a/inc/classes/exceptions/helper/class_HelperNoPreviousOpenedSubGroupException.php +++ b/inc/classes/exceptions/helper/class_HelperNoPreviousOpenedSubGroupException.php @@ -31,7 +31,7 @@ class HelperNoPreviousOpenedSubGroupException extends FrameworkException { */ public function __construct (array $msgArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Sub group not opened before. Raw text follows: %s", + $message = sprintf("[%s:%d] Sub group not opened before. Raw text follows: %s", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1] diff --git a/inc/classes/exceptions/helper/class_NoGroupOpenedException.php b/inc/classes/exceptions/helper/class_NoGroupOpenedException.php index c650070d3..2946a8b51 100644 --- a/inc/classes/exceptions/helper/class_NoGroupOpenedException.php +++ b/inc/classes/exceptions/helper/class_NoGroupOpenedException.php @@ -31,7 +31,7 @@ class NoGroupOpenedException extends FrameworkException { */ public function __construct (array $msgArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Group not opened before. Raw text follows: %s", + $message = sprintf("[%s:%d] Group not opened before. Raw text follows: %s", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1] diff --git a/inc/classes/exceptions/helper/class_UserInstanceMissingException.php b/inc/classes/exceptions/helper/class_UserInstanceMissingException.php index e68e8f0f4..218968bcf 100644 --- a/inc/classes/exceptions/helper/class_UserInstanceMissingException.php +++ b/inc/classes/exceptions/helper/class_UserInstanceMissingException.php @@ -31,7 +31,7 @@ class UserInstanceMissingException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Registry key %s does not include a class with implemented interface Manageable(User|Guest).", + $message = sprintf("[%s:%d] Registry key %s does not include a class with implemented interface Manageable(User|Guest).", $classArray[0]->__toString(), $this->getLine(), $classArray[1] diff --git a/inc/classes/exceptions/io/class_DirPointerNotOpenedException.php b/inc/classes/exceptions/io/class_DirPointerNotOpenedException.php index 6dc16a4c9..5b0293ee6 100644 --- a/inc/classes/exceptions/io/class_DirPointerNotOpenedException.php +++ b/inc/classes/exceptions/io/class_DirPointerNotOpenedException.php @@ -31,7 +31,7 @@ class DirPointerNotOpenedException extends FrameworkException { */ public function __construct ($path, $code) { // Add a message around the missing class - $message = sprintf("Für den Pfad %s konnte kein Pointer initialisiert werden.", $path); + $message = sprintf("Für den Pfad %s konnte kein Pointer initialisiert werden.", $path); // Call parent constructor parent::__construct($message, $code); diff --git a/inc/classes/exceptions/io/class_FileNotFoundException.php b/inc/classes/exceptions/io/class_FileNotFoundException.php index a0719448b..ea31a49f3 100644 --- a/inc/classes/exceptions/io/class_FileNotFoundException.php +++ b/inc/classes/exceptions/io/class_FileNotFoundException.php @@ -7,7 +7,9 @@ * @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 - * + * @todo Rename this class to FileIoException + * @deprecated + * * 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 @@ -31,7 +33,7 @@ class FileNotFoundException extends FrameworkException { */ public function __construct ($fqfn, $code) { // Add a message around the missing class - $message = sprintf("The requested file %s was not found.", + $message = sprintf("The requested file %s was not found.", $fqfn ); diff --git a/inc/classes/exceptions/io/class_FilePointerNotOpenedException.php b/inc/classes/exceptions/io/class_FilePointerNotOpenedException.php index e7e8bde8f..37300a52c 100644 --- a/inc/classes/exceptions/io/class_FilePointerNotOpenedException.php +++ b/inc/classes/exceptions/io/class_FilePointerNotOpenedException.php @@ -31,7 +31,7 @@ class FilePointerNotOpenedException extends FrameworkException { */ public function __construct ($fqfn, $code) { // Add a message around the missing class - $message = sprintf("Not able to initialize a pointer for the file %s. Maybe the file is missing.", $fqfn); + $message = sprintf("Not able to initialize a pointer for the file %s. Maybe the file is missing.", $fqfn); // Call parent constructor parent::__construct($message, $code); diff --git a/inc/classes/exceptions/io/class_FileReadProtectedException.php b/inc/classes/exceptions/io/class_FileReadProtectedException.php index f68aebe38..4e8a0e667 100644 --- a/inc/classes/exceptions/io/class_FileReadProtectedException.php +++ b/inc/classes/exceptions/io/class_FileReadProtectedException.php @@ -31,7 +31,7 @@ class FileReadProtectedException extends FrameworkException { */ public function __construct ($fileName, $code) { // Add a message around the missing class - $message = sprintf("File %s is read-protected. Please set read access rights (CHMOD).", $fileName); + $message = sprintf("File %s is read-protected. Please set read access rights (CHMOD).", $fileName); // Call parent constructor parent::__construct($message, $code); diff --git a/inc/classes/exceptions/io/class_InvalidDataLengthException.php b/inc/classes/exceptions/io/class_InvalidDataLengthException.php index 47fd5fbcc..a1ef85ad2 100644 --- a/inc/classes/exceptions/io/class_InvalidDataLengthException.php +++ b/inc/classes/exceptions/io/class_InvalidDataLengthException.php @@ -31,7 +31,7 @@ class InvalidDataLengthException extends FrameworkException { */ public function __construct (array $msgArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Eine unerwartete Datenlänge von %s Byte ist aufgetreten. %s wurden erwartet!", + $message = sprintf("[%s:%d] Eine unerwartete Datenlänge von %s Byte ist aufgetreten. %s wurden erwartet!", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1], diff --git a/inc/classes/exceptions/io/class_InvalidMD5ChecksumException.php b/inc/classes/exceptions/io/class_InvalidMD5ChecksumException.php index 26a1270a0..2e5104a0d 100644 --- a/inc/classes/exceptions/io/class_InvalidMD5ChecksumException.php +++ b/inc/classes/exceptions/io/class_InvalidMD5ChecksumException.php @@ -31,7 +31,7 @@ class InvalidMD5ChecksumException extends FrameworkException { */ public function __construct (array $msgArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Die MD5-Prüfsummen %s und %s stimmen nicht überein!", + $message = sprintf("[%s:%d] Die MD5-Prüfsummen %s und %s stimmen nicht überein!", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1], diff --git a/inc/classes/exceptions/io/class_PathIsNoDirectoryException.php b/inc/classes/exceptions/io/class_PathIsNoDirectoryException.php index 51222ebc4..7f908b108 100644 --- a/inc/classes/exceptions/io/class_PathIsNoDirectoryException.php +++ b/inc/classes/exceptions/io/class_PathIsNoDirectoryException.php @@ -31,7 +31,7 @@ class PathIsNoDirectoryException extends FrameworkException { */ public function __construct ($path, $code) { // Add a message around the missing class - $message = sprintf("Der angegebene Pfad %s ist ungütig (kein Pfad).", $path); + $message = sprintf("Der angegebene Pfad %s ist ungütig (kein Pfad).", $path); // Call parent constructor parent::__construct($message, $code); diff --git a/inc/classes/exceptions/io/class_PathReadProtectedException.php b/inc/classes/exceptions/io/class_PathReadProtectedException.php index 09fed2bf7..b5dd9355d 100644 --- a/inc/classes/exceptions/io/class_PathReadProtectedException.php +++ b/inc/classes/exceptions/io/class_PathReadProtectedException.php @@ -31,7 +31,7 @@ class PathReadProtectedException extends FrameworkException { */ public function __construct ($path, $code) { // Add a message around the missing class - $message = sprintf("Der Pfad %s ist lese-geschützt. Bitte Zugriffsrechte (CHMOD) zum Lesen setzen.", $path); + $message = sprintf("Der Pfad %s ist lese-geschützt. Bitte Zugriffsrechte (CHMOD) zum Lesen setzen.", $path); // Call parent constructor parent::__construct($message, $code); diff --git a/inc/classes/exceptions/language/class_InvalidLanguagePathStringException.php b/inc/classes/exceptions/language/class_InvalidLanguagePathStringException.php index 9265b3391..19be0cdcf 100644 --- a/inc/classes/exceptions/language/class_InvalidLanguagePathStringException.php +++ b/inc/classes/exceptions/language/class_InvalidLanguagePathStringException.php @@ -31,7 +31,7 @@ class InvalidLanguagePathStringException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] %s is not a string with path!", + $message = sprintf("[%s:%d] %s is not a string with path!", $classArray[0]->__toString(), $this->getLine(), $classArray[1] diff --git a/inc/classes/exceptions/language/class_LanguagePathIsNoDirectoryException.php b/inc/classes/exceptions/language/class_LanguagePathIsNoDirectoryException.php index 858e73730..b17823d20 100644 --- a/inc/classes/exceptions/language/class_LanguagePathIsNoDirectoryException.php +++ b/inc/classes/exceptions/language/class_LanguagePathIsNoDirectoryException.php @@ -31,7 +31,7 @@ class LanguagePathIsNoDirectoryException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Der Sprach-Basispfad %s existiert nicht oder ist eine Datei!", + $message = sprintf("[%s:%d] Der Sprach-Basispfad %s existiert nicht oder ist eine Datei!", $classArray[0]->__toString(), $this->getLine(), $classArray[1] diff --git a/inc/classes/exceptions/language/class_LanguagePathReadProtectedException.php b/inc/classes/exceptions/language/class_LanguagePathReadProtectedException.php index 2fc786696..0938f7786 100644 --- a/inc/classes/exceptions/language/class_LanguagePathReadProtectedException.php +++ b/inc/classes/exceptions/language/class_LanguagePathReadProtectedException.php @@ -31,7 +31,7 @@ class LanguagePathReadProtectedException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Base language path %s is read-protected. Please change access rights (CHMOD).", + $message = sprintf("[%s:%d] Base language path %s is read-protected. Please change access rights (CHMOD).", $classArray[0]->__toString(), $this->getLine(), $classArray[1] diff --git a/inc/classes/exceptions/main/class_ClassMismatchException.php b/inc/classes/exceptions/main/class_ClassMismatchException.php index 32499e3e0..51497b46a 100644 --- a/inc/classes/exceptions/main/class_ClassMismatchException.php +++ b/inc/classes/exceptions/main/class_ClassMismatchException.php @@ -31,7 +31,7 @@ class ClassMismatchException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("The class %s does not match class %s.", + $message = sprintf("The class %s does not match class %s.", $classArray[0], $classArray[1] ); diff --git a/inc/classes/exceptions/main/class_ClassNotFoundException.php b/inc/classes/exceptions/main/class_ClassNotFoundException.php index 29f13f24b..3a7b995cf 100644 --- a/inc/classes/exceptions/main/class_ClassNotFoundException.php +++ b/inc/classes/exceptions/main/class_ClassNotFoundException.php @@ -7,7 +7,9 @@ * @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 - * + * @todo Rename this class to NoClassException + * @deprecated + * * 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 @@ -31,7 +33,7 @@ class ClassNotFoundException extends FrameworkException { */ public function __construct (array $msgArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Internal class %s not found.", + $message = sprintf("[%s:%d] Internal class %s not found.", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1] diff --git a/inc/classes/exceptions/main/class_ConfigEntryNotFoundException.php b/inc/classes/exceptions/main/class_ConfigEntryNotFoundException.php index e4ec1b773..76be0f137 100644 --- a/inc/classes/exceptions/main/class_ConfigEntryNotFoundException.php +++ b/inc/classes/exceptions/main/class_ConfigEntryNotFoundException.php @@ -7,7 +7,9 @@ * @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 - * + * @todo Rename this class to NoFoundEntryException + * @deprecated + * * 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 @@ -31,7 +33,7 @@ class ConfigEntryNotFoundException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Configuration entry %s not found.", + $message = sprintf("[%s:%d] Configuration entry %s not found.", $classArray[0], $this->getLine(), $classArray[1] diff --git a/inc/classes/exceptions/main/class_DimNotFoundInArrayException.php b/inc/classes/exceptions/main/class_DimNotFoundInArrayException.php index 7806f9b81..1e11cceb2 100644 --- a/inc/classes/exceptions/main/class_DimNotFoundInArrayException.php +++ b/inc/classes/exceptions/main/class_DimNotFoundInArrayException.php @@ -38,7 +38,7 @@ class DimNotFoundInArrayException extends FrameworkException { ); } else { // No class given - $message = sprintf("Please provide a class for %s", __CLASS__); + $message = sprintf("Please provide a class for %s", __CLASS__); } // Call parent constructor diff --git a/inc/classes/exceptions/main/class_EmptyVariableException.php b/inc/classes/exceptions/main/class_EmptyVariableException.php index 1fae65454..188969cff 100644 --- a/inc/classes/exceptions/main/class_EmptyVariableException.php +++ b/inc/classes/exceptions/main/class_EmptyVariableException.php @@ -31,7 +31,7 @@ class EmptyVariableException extends FrameworkException { */ public function __construct (array $msgArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Variable %s is not set.", + $message = sprintf("[%s:%d] Variable %s is not set.", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1] diff --git a/inc/classes/exceptions/main/class_ExceptionNotFoundException.php b/inc/classes/exceptions/main/class_ExceptionNotFoundException.php index d3b37c8a4..42dc611e3 100644 --- a/inc/classes/exceptions/main/class_ExceptionNotFoundException.php +++ b/inc/classes/exceptions/main/class_ExceptionNotFoundException.php @@ -7,7 +7,9 @@ * @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 - * + * @todo Is this exception still needed??? + * @deprecated + * * 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 @@ -31,7 +33,7 @@ class ExceptionNotFoundException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Exception %s not found.", + $message = sprintf("[%s:%d] Exception %s not found.", $classArray[0], $this->getLine(), $classArray[1] diff --git a/inc/classes/exceptions/main/class_GetterNotFoundException.php b/inc/classes/exceptions/main/class_GetterNotFoundException.php index 5291b0594..9a918c3e6 100644 --- a/inc/classes/exceptions/main/class_GetterNotFoundException.php +++ b/inc/classes/exceptions/main/class_GetterNotFoundException.php @@ -7,7 +7,9 @@ * @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 - * + * @todo This class is no longer needed! + * @deprecated + * * 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 @@ -29,12 +31,9 @@ class GetterNotFoundException extends FrameworkException { * @param $code Code number for the exception * @return void */ - public function __construct ($dataArray, $code) { - // Cast the array - $dataArray = (array) $dataArray; - + public function __construct (array $dataArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Getter-Methode für Attribut %s nicht gefunden.", + $message = sprintf("[%s:%d] Getter-Methode für Attribut %s nicht gefunden.", $dataArray[0]->__toString(), $this->getLine(), $dataArray[1] diff --git a/inc/classes/exceptions/main/class_InvalidArrayCountException.php b/inc/classes/exceptions/main/class_InvalidArrayCountException.php index a85bebfc9..3703f1ad1 100644 --- a/inc/classes/exceptions/main/class_InvalidArrayCountException.php +++ b/inc/classes/exceptions/main/class_InvalidArrayCountException.php @@ -31,7 +31,7 @@ class InvalidArrayCountException extends FrameworkException { */ public function __construct (array $array, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] %s hat %d Elemente, soll aber %d enthalten!", + $message = sprintf("[%s:%d] %s hat %d Elemente, soll aber %d enthalten!", $array[0]->__toString(), $this->getLine(), $array[1], diff --git a/inc/classes/exceptions/main/class_InvalidCommandException.php b/inc/classes/exceptions/main/class_InvalidCommandException.php index d546cc1e2..d55a167f9 100644 --- a/inc/classes/exceptions/main/class_InvalidCommandException.php +++ b/inc/classes/exceptions/main/class_InvalidCommandException.php @@ -31,7 +31,7 @@ class InvalidCommandException extends FrameworkException { */ public function __construct (array $msgArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Invalid command %s (class %s) detected.", + $message = sprintf("[%s:%d] Invalid command %s (class %s) detected.", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1], diff --git a/inc/classes/exceptions/main/class_InvalidCommandInstanceException.php b/inc/classes/exceptions/main/class_InvalidCommandInstanceException.php index 93cc03a56..34a4d2495 100644 --- a/inc/classes/exceptions/main/class_InvalidCommandInstanceException.php +++ b/inc/classes/exceptions/main/class_InvalidCommandInstanceException.php @@ -31,7 +31,7 @@ class InvalidCommandInstanceException extends FrameworkException { */ public function __construct (array $msgArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Invalid command %s detected.", + $message = sprintf("[%s:%d] Invalid command %s detected.", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1] diff --git a/inc/classes/exceptions/main/class_InvalidInterfaceException.php b/inc/classes/exceptions/main/class_InvalidInterfaceException.php index a7fc71e4d..93958ed29 100644 --- a/inc/classes/exceptions/main/class_InvalidInterfaceException.php +++ b/inc/classes/exceptions/main/class_InvalidInterfaceException.php @@ -31,7 +31,7 @@ class InvalidInterfaceException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Object does not implement expected interface .", + $message = sprintf("[%s:%d] Object does not implement expected interface %s.", $classArray[0]->__toString(), $this->getLine(), $classArray[1] diff --git a/inc/classes/exceptions/main/class_MissingArrayElementsException.php b/inc/classes/exceptions/main/class_MissingArrayElementsException.php index a59b51432..5c3547bc2 100644 --- a/inc/classes/exceptions/main/class_MissingArrayElementsException.php +++ b/inc/classes/exceptions/main/class_MissingArrayElementsException.php @@ -41,7 +41,7 @@ class MissingArrayElementsException extends FrameworkException { } // Add a message around the missing class - $message = sprintf("[%s:%d] Array %s() Does not have these elements: %s", + $message = sprintf("[%s:%d] Array %s() Does not have these elements: %s", $classArray[0]->__toString(), $this->getLine(), $classArray[1], diff --git a/inc/classes/exceptions/main/class_NoArrayCreatedException.php b/inc/classes/exceptions/main/class_NoArrayCreatedException.php index 36dcbba99..77072fa46 100644 --- a/inc/classes/exceptions/main/class_NoArrayCreatedException.php +++ b/inc/classes/exceptions/main/class_NoArrayCreatedException.php @@ -7,6 +7,8 @@ * @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 + * @todo This class is no longer needed + * @deprecated * * 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 @@ -31,7 +33,7 @@ class NoArrayCreatedException extends FrameworkException { */ public function __construct (array $array, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] %s ist kein erstelltes Objekt.", + $message = sprintf("[%s:%d] %s ist kein erstelltes Objekt.", $array[0]->__toString(), $this->getLine(), $array[1] diff --git a/inc/classes/exceptions/main/class_NoArrayException.php b/inc/classes/exceptions/main/class_NoArrayException.php index 2f0c557b7..30d312f15 100644 --- a/inc/classes/exceptions/main/class_NoArrayException.php +++ b/inc/classes/exceptions/main/class_NoArrayException.php @@ -29,7 +29,7 @@ class NoArrayException extends FrameworkException { */ public function __construct ($string, $code) { // Add a message around the missing class - $message = sprintf("%s ist kein Array!", + $message = sprintf("%s ist kein Array!", $string ); diff --git a/inc/classes/exceptions/main/class_NoObjectException.php b/inc/classes/exceptions/main/class_NoObjectException.php index 20f6870f4..541b84988 100644 --- a/inc/classes/exceptions/main/class_NoObjectException.php +++ b/inc/classes/exceptions/main/class_NoObjectException.php @@ -33,7 +33,7 @@ class NoObjectException extends FrameworkException { */ public function __construct ($string, $code) { // Add a message around the missing class - $message = sprintf("%s ist kein Objekt!", + $message = sprintf("%s ist kein Objekt!", $string ); diff --git a/inc/classes/exceptions/main/class_VariableIsNotSetException.php b/inc/classes/exceptions/main/class_VariableIsNotSetException.php index 57000be1e..ddcad5803 100644 --- a/inc/classes/exceptions/main/class_VariableIsNotSetException.php +++ b/inc/classes/exceptions/main/class_VariableIsNotSetException.php @@ -31,7 +31,7 @@ class VariableIsNotSetException extends FrameworkException { */ public function __construct (array $array, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Bei der Initialisierung der Applikation %s wurde keine Variable %s erzeugt.", + $message = sprintf("[%s:%d] Bei der Initialisierung der Applikation %s wurde keine Variable %s erzeugt.", $array[0]->__toString(), $this->getLine(), $array[1], diff --git a/inc/classes/exceptions/result/class_InvalidDatabaseResultException.php b/inc/classes/exceptions/result/class_InvalidDatabaseResultException.php index be1ab5d37..762eb8265 100644 --- a/inc/classes/exceptions/result/class_InvalidDatabaseResultException.php +++ b/inc/classes/exceptions/result/class_InvalidDatabaseResultException.php @@ -31,7 +31,7 @@ class InvalidDatabaseResultException extends FrameworkException { */ public function __construct(array $msgArray, $code) { // Construct the message - $message = sprintf("[%s:%d] Database instance %s contains invalid entries.", + $message = sprintf("[%s:%d] Database instance %s contains invalid entries.", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1]->__toString() diff --git a/inc/classes/exceptions/result/class_ResultUpdateException.php b/inc/classes/exceptions/result/class_ResultUpdateException.php index da2ec8f5f..e58ab045c 100644 --- a/inc/classes/exceptions/result/class_ResultUpdateException.php +++ b/inc/classes/exceptions/result/class_ResultUpdateException.php @@ -1,6 +1,6 @@ * @version 0.0.0 diff --git a/inc/classes/exceptions/template/class_BasePathIsNoDirectoryException.php b/inc/classes/exceptions/template/class_BasePathIsNoDirectoryException.php index 5a109fb6a..04d510a05 100644 --- a/inc/classes/exceptions/template/class_BasePathIsNoDirectoryException.php +++ b/inc/classes/exceptions/template/class_BasePathIsNoDirectoryException.php @@ -31,7 +31,7 @@ class BasePathIsNoDirectoryException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Der Template-Basispfad %s existiert nicht oder ist eine Datei!", + $message = sprintf("[%s:%d] Der Template-Basispfad %s existiert nicht oder ist eine Datei!", $classArray[0]->__toString(), $this->getLine(), $classArray[1] diff --git a/inc/classes/exceptions/template/class_BasePathReadProtectedException.php b/inc/classes/exceptions/template/class_BasePathReadProtectedException.php index c66fd7b29..6a4d956e5 100644 --- a/inc/classes/exceptions/template/class_BasePathReadProtectedException.php +++ b/inc/classes/exceptions/template/class_BasePathReadProtectedException.php @@ -31,7 +31,7 @@ class BasePathReadProtectedException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Der Template-Basispfad %s ist lesegeschützt! Bitte Zugriffsrechte (CHMOD) ändern.", + $message = sprintf("[%s:%d] Der Template-Basispfad %s ist lesegeschützt! Bitte Zugriffsrechte (CHMOD) ändern.", $classArray[0]->__toString(), $this->getLine(), $classArray[1] diff --git a/inc/classes/exceptions/template/class_InvalidBasePathStringException.php b/inc/classes/exceptions/template/class_InvalidBasePathStringException.php index c52a5847b..93f875e97 100644 --- a/inc/classes/exceptions/template/class_InvalidBasePathStringException.php +++ b/inc/classes/exceptions/template/class_InvalidBasePathStringException.php @@ -31,7 +31,7 @@ class InvalidBasePathStringException extends FrameworkException { */ public function __construct (array $classArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] %s is not a string with a base path!", + $message = sprintf("[%s:%d] %s is not a string with a base path!", $classArray[0]->__toString(), $this->getLine(), $classArray[1] diff --git a/inc/classes/exceptions/template/class_UnexpectedTemplateTypeException.php b/inc/classes/exceptions/template/class_UnexpectedTemplateTypeException.php index 9a7eb0556..9394348aa 100644 --- a/inc/classes/exceptions/template/class_UnexpectedTemplateTypeException.php +++ b/inc/classes/exceptions/template/class_UnexpectedTemplateTypeException.php @@ -31,7 +31,7 @@ class UnexpectedTemplateTypeException extends FrameworkException { */ public function __construct (array $msgArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:%d] Der Template-Typ %s entspricht nicht dem erwartetem Template-Typ %s.", + $message = sprintf("[%s:%d] Der Template-Typ %s entspricht nicht dem erwartetem Template-Typ %s.", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1], diff --git a/inc/classes/exceptions/template/class_ViewHelperNotFoundException.php b/inc/classes/exceptions/template/class_ViewHelperNotFoundException.php index 0af17cd21..37b33427d 100644 --- a/inc/classes/exceptions/template/class_ViewHelperNotFoundException.php +++ b/inc/classes/exceptions/template/class_ViewHelperNotFoundException.php @@ -7,6 +7,8 @@ * @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 + * @todo Rename this class to NoViewHelperException + * @deprecated * * 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 @@ -31,7 +33,7 @@ class ViewHelperNotFoundException extends FrameworkException { */ public function __construct (array $msgArray, $code) { // Add a message around the missing class - $message = sprintf("[%s:] View-Helper %s ist ungültig.", + $message = sprintf("[%s:] View-Helper %s ist ungültig.", $msgArray[0]->__toString(), $msgArray[1] ); diff --git a/inc/classes/exceptions/user/class_UserEmailMissingException.php b/inc/classes/exceptions/user/class_UserEmailMissingException.php index 27dbf51b1..dcef3708c 100644 --- a/inc/classes/exceptions/user/class_UserEmailMissingException.php +++ b/inc/classes/exceptions/user/class_UserEmailMissingException.php @@ -31,7 +31,7 @@ class UserEmailMissingException extends FrameworkException { */ public function __construct(array $msgArray, $code = 0) { // Create the message - $message = sprintf("[%s:%d] User email %s was not found.", + $message = sprintf("[%s:%d] User email %s was not found.", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1] diff --git a/inc/classes/exceptions/user/class_UserPasswordMismatchException.php b/inc/classes/exceptions/user/class_UserPasswordMismatchException.php index a5184b37c..045793078 100644 --- a/inc/classes/exceptions/user/class_UserPasswordMismatchException.php +++ b/inc/classes/exceptions/user/class_UserPasswordMismatchException.php @@ -31,7 +31,7 @@ class UserPasswordMismatchException extends FrameworkException { */ public function __construct(array $msgArray, $code = 0) { // Create the message - $message = sprintf("[%s:%d] Supplied password for user %s did not match with stored password.", + $message = sprintf("[%s:%d] Supplied password for user %s did not match with stored password.", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1]->getUserName() diff --git a/inc/classes/exceptions/user/class_UsernameMissingException.php b/inc/classes/exceptions/user/class_UsernameMissingException.php index 0ab7e9e54..9f5e52dd0 100644 --- a/inc/classes/exceptions/user/class_UsernameMissingException.php +++ b/inc/classes/exceptions/user/class_UsernameMissingException.php @@ -31,7 +31,7 @@ class UsernameMissingException extends FrameworkException { */ public function __construct(array $msgArray, $code = 0) { // Create the message - $message = sprintf("[%s:%d] Username %s was not found.", + $message = sprintf("[%s:%d] Username %s was not found.", $msgArray[0]->__toString(), $this->getLine(), $msgArray[1] diff --git a/inc/classes/interfaces/crypto/class_Cryptable.php b/inc/classes/interfaces/crypto/class_Cryptable.php index 3d6f60000..9bb607587 100644 --- a/inc/classes/interfaces/crypto/class_Cryptable.php +++ b/inc/classes/interfaces/crypto/class_Cryptable.php @@ -25,8 +25,8 @@ interface Cryptable extends FrameworkInterface { /** * Hashes a string with salt and returns the hash. If an old previous hash * is supplied the method will use the first X chars of that hash for hashing - * the password. This is useful if you want to check if the password is - * identical for authorization purposes. + * the password. This is useful if you want to check if password is identical + * for authorization purposes. * * @param $str Unhashed string * @param $oldHash A hash from previous hashed string diff --git a/inc/classes/interfaces/registration/class_UserRegister.php b/inc/classes/interfaces/registration/class_UserRegister.php index aa29b1acb..cc15f8e24 100644 --- a/inc/classes/interfaces/registration/class_UserRegister.php +++ b/inc/classes/interfaces/registration/class_UserRegister.php @@ -23,8 +23,8 @@ */ interface UserRegister extends FrameworkInterface { /** - * Encrypt the given request key or throws an exception if the key was not - * found in the request + * Encrypt given request key or throws an exception if key was not found in + * request. * * @param $requestKey Key in request class * @return void diff --git a/inc/classes/interfaces/registry/class_Register.php b/inc/classes/interfaces/registry/class_Register.php index 37da87618..d59051f39 100644 --- a/inc/classes/interfaces/registry/class_Register.php +++ b/inc/classes/interfaces/registry/class_Register.php @@ -25,8 +25,8 @@ interface Register extends FrameworkInterface { /** * Checks wether an instance key was found * - * @param $instanceKey The key holding an instance in the registry - * @return $exists Wether the key exists in the registry + * @param $instanceKey The key holding an instance in registry + * @return $exists Wether the key exists in registry */ function instanceExists ($instanceKey); diff --git a/inc/classes/interfaces/request/class_Requestable.php b/inc/classes/interfaces/request/class_Requestable.php index 5be733c81..e5f9fa641 100644 --- a/inc/classes/interfaces/request/class_Requestable.php +++ b/inc/classes/interfaces/request/class_Requestable.php @@ -40,7 +40,7 @@ interface Requestable extends FrameworkInterface { function isRequestElementSet ($element); /** - * Getter for request element or 'null' if the element was not found + * Getter for request element or 'null' if element was not found * * @param $element Name of the request element we want to check * @return $value Value of the found request element or 'null' if the @@ -56,7 +56,7 @@ interface Requestable extends FrameworkInterface { function getParameterNames (); /** - * Getter for a header element or 'null' if the header was not found + * Getter for a header element or 'null' if header was not found * * @param $headerName Name of the header * @return $headerValue Value of the header or 'null' if not found diff --git a/inc/classes/interfaces/resolver/actions/class_ActionResolver.php b/inc/classes/interfaces/resolver/actions/class_ActionResolver.php index 956d2b8cc..7a12f3d0c 100644 --- a/inc/classes/interfaces/resolver/actions/class_ActionResolver.php +++ b/inc/classes/interfaces/resolver/actions/class_ActionResolver.php @@ -42,7 +42,7 @@ interface ActionResolver extends Resolver { * * @param $actionName The default action we shall execute * @return $isValid Wether the given action is valid - * @throws EmptyVariableException Thrown if the given action is not set + * @throws EmptyVariableException Thrown if given action is not set */ function isActionValid ($actionName); } diff --git a/inc/classes/interfaces/resolver/commands/class_CommandResolver.php b/inc/classes/interfaces/resolver/commands/class_CommandResolver.php index dd2ff0641..d7f3976a6 100644 --- a/inc/classes/interfaces/resolver/commands/class_CommandResolver.php +++ b/inc/classes/interfaces/resolver/commands/class_CommandResolver.php @@ -35,7 +35,7 @@ interface CommandResolver extends Resolver { * * @param $commandName The default command we shall execute * @return $isValid Wether the given command is valid - * @throws EmptyVariableException Thrown if the given command is not set + * @throws EmptyVariableException Thrown if given command is not set */ function isCommandValid ($commandName); } diff --git a/inc/classes/interfaces/result/class_SearchableResult.php b/inc/classes/interfaces/result/class_SearchableResult.php index c2c78239e..c3bf26bf7 100644 --- a/inc/classes/interfaces/result/class_SearchableResult.php +++ b/inc/classes/interfaces/result/class_SearchableResult.php @@ -29,6 +29,15 @@ interface SearchableResult extends FrameworkInterface { * @return $result Found result entry */ function searchEntry (LocalSearchCriteria $criteriaInstance); + + /** + * Solver for result index value with call-back method + * + * @param $databaseColumn Database column where the index might be found + * @para $callBack Call-back object for setting the index + * @return void + */ + function solveResultIndex ($databaseColumn, BaseDatabaseWrapper $wrapperInstance, array $callBack); } // [EOF] diff --git a/inc/classes/interfaces/user/class_ManageableAccount.php b/inc/classes/interfaces/user/class_ManageableAccount.php index 3e8885389..2dd07067b 100644 --- a/inc/classes/interfaces/user/class_ManageableAccount.php +++ b/inc/classes/interfaces/user/class_ManageableAccount.php @@ -37,8 +37,8 @@ interface ManageableAccount extends FrameworkInterface { function ifEmailAddressExists (); /** - * Checks if the supplied password hash in request matches with the stored - * in database. + * Checks if supplied password hash in request matches with stored in + * database. * * @param $requestInstance A requestable class instance * @return $matches Wether the supplied password hash matches diff --git a/inc/classes/main/actions/class_BaseAction.php b/inc/classes/main/actions/class_BaseAction.php index 0b2cd8186..a2b1665bb 100644 --- a/inc/classes/main/actions/class_BaseAction.php +++ b/inc/classes/main/actions/class_BaseAction.php @@ -1,6 +1,8 @@ * @version 0.0.0 diff --git a/inc/classes/main/actions/post_registration/class_LoginAfterRegistrationAction.php b/inc/classes/main/actions/post_registration/class_LoginAfterRegistrationAction.php index 068090ed3..15fd499af 100644 --- a/inc/classes/main/actions/post_registration/class_LoginAfterRegistrationAction.php +++ b/inc/classes/main/actions/post_registration/class_LoginAfterRegistrationAction.php @@ -63,7 +63,11 @@ class LoginAfterRegistrationAction extends BaseAction implements PerformableActi if ($loginInstance->ifLoginWasSuccessfull()) { // Try to redirect here try { + // Redirect... $responseInstance->redirectToConfiguredUrl('app_login_url'); + + // Stop here + exit(); } catch (FrameworkException $e) { // Something went wrong here! $responseInstance->addFatalMessage($e->getMessage()); diff --git a/inc/classes/main/actions/web/class_WebLoginProfileAction.php b/inc/classes/main/actions/web/class_WebLoginProfileAction.php index 3ed47c0a8..09998865b 100644 --- a/inc/classes/main/actions/web/class_WebLoginProfileAction.php +++ b/inc/classes/main/actions/web/class_WebLoginProfileAction.php @@ -69,7 +69,7 @@ class WebLoginProfileAction extends BaseAction implements Commandable, Registera */ public function addExtraFilters (Controller $controllerInstance, Requestable $requestInstance) { // Add user status filter here - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_status_class')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_status_filter', array($controllerInstance))); } } diff --git a/inc/classes/main/cache/class_MemoryCache.php b/inc/classes/main/cache/class_MemoryCache.php index 840519d37..7e0dfd001 100644 --- a/inc/classes/main/cache/class_MemoryCache.php +++ b/inc/classes/main/cache/class_MemoryCache.php @@ -82,7 +82,7 @@ class MemoryCache extends BaseFrameworkSystem implements Cacheable { * Setter for cache offset * * @param $offset The offset we shall set - * @param $data Data to store in the cache + * @param $data Data to store in cache * @return void */ public final function offsetSet ($offset, $data) { @@ -93,7 +93,7 @@ class MemoryCache extends BaseFrameworkSystem implements Cacheable { * Getter for cache offset or "null" if not found * * @param $offset The offset we shall set - * @return $data Data to store in the cache + * @return $data Data to store in cache */ public final function offsetGet ($offset) { // Default is offset not found diff --git a/inc/classes/main/class_BaseFrameworkSystem.php b/inc/classes/main/class_BaseFrameworkSystem.php index 7e461ac82..d4eabd793 100644 --- a/inc/classes/main/class_BaseFrameworkSystem.php +++ b/inc/classes/main/class_BaseFrameworkSystem.php @@ -78,6 +78,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ private $userInstance = null; + /** + * A controller instance + */ + private $controllerInstance = null; + /** * The real class name */ @@ -192,8 +197,9 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // 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 } @@ -211,7 +217,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $this->setRealClass('DestructedObject'); } elseif ((defined('DEBUG_DESTRUCTOR')) && (is_object($this->getDebugInstance()))) { // Already destructed object - $this->debugOutput(sprintf("[%s:] The object %s is already destroyed.", + $this->debugOutput(sprintf("[%s:] The object %s is already destroyed.", __CLASS__, $this->__toString() )); } @@ -269,6 +275,9 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { 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'); @@ -289,7 +298,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { Registry::isInitialized('OK'); } elseif ($this->__toString() == 'DebugMiddleware') { // Set configuration instance - $this->setConfigInstance(FrameworkConfiguration::createFrameworkConfiguration()); + $this->setConfigInstance(FrameworkConfiguration::getInstance()); } } @@ -571,6 +580,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * Stub method (only real cabins shall override it) * * @return boolean false = is no cabin, true = is a cabin + * @deprecated */ public function isCabin () { return false; @@ -581,6 +591,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * * @return boolean false = is not tradeable by the Merchant class, * true = is a tradeable object + * @deprecated */ public function isTradeable () { return false; @@ -743,14 +754,24 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * 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("
Message: %s
\n", $message); + } // END - if + // Generate the output - $content = sprintf("
%s
", + $content .= sprintf("
%s
", trim( htmlentities( print_r($this, true) @@ -759,7 +780,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { ); // Output it - ApplicationEntryPoint::app_die(sprintf("%s debug output:
%s
\nLoaded includes:
%s
", + ApplicationEntryPoint::app_die(sprintf("
%s debug output:
%s
\nLoaded includes:
%s
", $this->__toString(), $content, ClassLoader::getInstance()->getPrintableIncludeList() @@ -810,10 +831,10 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ public function debugBackTrace () { // Sorry, there is no other way getting this nice backtrace - print "
\n";
+		print("
\n");
 		debug_print_backtrace();
-		print "
"; - exit; + print("
"); + exit(); } /** @@ -831,7 +852,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { 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) { @@ -966,7 +987,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $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 @@ -1031,6 +1052,25 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { 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] diff --git a/inc/classes/main/class_FrameworkArrayObject.php b/inc/classes/main/class_FrameworkArrayObject.php index e7becaee4..167423cf5 100644 --- a/inc/classes/main/class_FrameworkArrayObject.php +++ b/inc/classes/main/class_FrameworkArrayObject.php @@ -1,7 +1,7 @@ diff --git a/inc/classes/main/commands/web/class_WebConfirmCommand.php b/inc/classes/main/commands/web/class_WebConfirmCommand.php index db15067cc..ca44f8b61 100644 --- a/inc/classes/main/commands/web/class_WebConfirmCommand.php +++ b/inc/classes/main/commands/web/class_WebConfirmCommand.php @@ -109,7 +109,7 @@ class WebConfirmCommand extends BaseCommand implements Commandable { // these two calls to cache compiled templates. $templateInstance->compileVariables(); - // Get the content back from the template engine and put it in the response class + // Get the content back from the template engine and put it in response class $templateInstance->transferToResponse($responseInstance); } diff --git a/inc/classes/main/commands/web/class_WebHomeCommand.php b/inc/classes/main/commands/web/class_WebHomeCommand.php index 14a7a9c6f..6aad8cfb7 100644 --- a/inc/classes/main/commands/web/class_WebHomeCommand.php +++ b/inc/classes/main/commands/web/class_WebHomeCommand.php @@ -100,7 +100,7 @@ class WebHomeCommand extends BaseCommand implements Commandable { // these two calls to cache compiled templates. $templateInstance->compileVariables(); - // Get the content back from the template engine and put it in the response class + // Get the content back from the template engine and put it in response class $templateInstance->transferToResponse($responseInstance); } diff --git a/inc/classes/main/commands/web/class_WebLoginAreaCommand.php b/inc/classes/main/commands/web/class_WebLoginAreaCommand.php index 9f2c1cfa3..749de1749 100644 --- a/inc/classes/main/commands/web/class_WebLoginAreaCommand.php +++ b/inc/classes/main/commands/web/class_WebLoginAreaCommand.php @@ -137,12 +137,12 @@ class WebLoginAreaCommand extends BaseCommand implements Commandable { // these two calls to cache compiled templates. $templateInstance->compileVariables(); - // Get the content back from the template engine and put it in the response class + // Get the content back from the template engine and put it in response class $templateInstance->transferToResponse($responseInstance); } /** - * Adds extra filters to the given controller instance + * Adds extra filters to the given controller instance. An corresponding action class must now exist! * * @param $controllerInstance A controller instance * @param $requestInstance An instance of a class with an Requestable interface @@ -152,8 +152,17 @@ class WebLoginAreaCommand extends BaseCommand implements Commandable { // Default is no action $actionInstance = null; + // Get registry + $registryInstance = Registry::getRegistry(); + + // Get our application instance from the registry + $appInstance = $registryInstance->getInstance('application'); + // Default action is the one from configuration - $this->actionName = sprintf("login_%s", $this->getConfigInstance()->readConfig('login_default_action')); + $this->actionName = sprintf("%s_login_%s", + str_replace("-", "_", $appInstance->getAppShortName()), + $this->getConfigInstance()->readConfig('login_default_action') + ); // Get "action" from request $actReq = $requestInstance->getRequestElement('action'); @@ -161,28 +170,26 @@ class WebLoginAreaCommand extends BaseCommand implements Commandable { // Do we have a "action" parameter set? if ((is_string($actReq)) && (!empty($actReq))) { // Then use it with prefix - $this->actionName = sprintf("login_%s", $actReq); + $this->actionName = sprintf("%s_login_%s", + str_replace("-", "_", $appInstance->getAppShortName()), + $actReq + ); } // END - if // Get application instance $applicationInstance = $this->getResolverInstance()->getApplicationInstance(); - // Try to get an action resolver for the given action - try { - // Get a resolver - $actionResolver = WebActionResolver::createWebActionResolver($this->actionName, $applicationInstance); + // Get a resolver + $actionResolver = WebActionResolver::createWebActionResolver($this->actionName, $applicationInstance); - // Resolve the action - $actionInstance = $actionResolver->resolveAction(); + // Resolve the action + $actionInstance = $actionResolver->resolveAction(); - // Add more action-specific filters - $actionInstance->addExtraFilters($controllerInstance, $requestInstance); + // Add more action-specific filters + $actionInstance->addExtraFilters($controllerInstance, $requestInstance); - // Remember this action in registry - Registry::getRegistry()->addInstance('action', $actionInstance); - } catch (InvalidActionException $e) { - // Silently ignored because no special action was found - } + // Remember this action in registry + Registry::getRegistry()->addInstance('action', $actionInstance); } } diff --git a/inc/classes/main/commands/web/class_WebLoginCommand.php b/inc/classes/main/commands/web/class_WebLoginCommand.php index e02e2b5b8..9726e8478 100644 --- a/inc/classes/main/commands/web/class_WebLoginCommand.php +++ b/inc/classes/main/commands/web/class_WebLoginCommand.php @@ -103,7 +103,7 @@ class WebLoginCommand extends BaseCommand implements Commandable { // these two calls to cache compiled templates. $templateInstance->compileVariables(); - // Get the content back from the template engine and put it in the response class + // Get the content back from the template engine and put it in response class $templateInstance->transferToResponse($responseInstance); } diff --git a/inc/classes/main/commands/web/class_WebLoginFailedCommand.php b/inc/classes/main/commands/web/class_WebLoginFailedCommand.php index 7c74d7bd2..f2b6b8101 100644 --- a/inc/classes/main/commands/web/class_WebLoginFailedCommand.php +++ b/inc/classes/main/commands/web/class_WebLoginFailedCommand.php @@ -103,7 +103,7 @@ class WebLoginFailedCommand extends BaseCommand implements Commandable { // these two calls to cache compiled templates. $templateInstance->compileVariables(); - // Get the content back from the template engine and put it in the response class + // Get the content back from the template engine and put it in response class $templateInstance->transferToResponse($responseInstance); } diff --git a/inc/classes/main/commands/web/class_WebLogoutCommand.php b/inc/classes/main/commands/web/class_WebLogoutCommand.php index e220c5147..91a9d518d 100644 --- a/inc/classes/main/commands/web/class_WebLogoutCommand.php +++ b/inc/classes/main/commands/web/class_WebLogoutCommand.php @@ -68,6 +68,9 @@ class WebLogoutCommand extends BaseCommand implements Commandable { // Redirect to "logout done" page $responseInstance->redirectToConfiguredUrl('logout_done_url'); + + // Exit here + exit(); } /** diff --git a/inc/classes/main/commands/web/class_WebLogoutDoneCommand.php b/inc/classes/main/commands/web/class_WebLogoutDoneCommand.php index bbb7f2f70..8dfdee365 100644 --- a/inc/classes/main/commands/web/class_WebLogoutDoneCommand.php +++ b/inc/classes/main/commands/web/class_WebLogoutDoneCommand.php @@ -103,7 +103,7 @@ class WebLogoutDoneCommand extends BaseCommand implements Commandable { // these two calls to cache compiled templates. $templateInstance->compileVariables(); - // Get the content back from the template engine and put it in the response class + // Get the content back from the template engine and put it in response class $templateInstance->transferToResponse($responseInstance); } diff --git a/inc/classes/main/commands/web/class_WebRegisterCommand.php b/inc/classes/main/commands/web/class_WebRegisterCommand.php index 42f9379bb..c23b6476e 100644 --- a/inc/classes/main/commands/web/class_WebRegisterCommand.php +++ b/inc/classes/main/commands/web/class_WebRegisterCommand.php @@ -107,7 +107,7 @@ class WebRegisterCommand extends BaseCommand implements Commandable, Registerabl // these two calls to cache compiled templates. $templateInstance->compileVariables(); - // Get the content back from the template engine and put it in the response class + // Get the content back from the template engine and put it in response class $templateInstance->transferToResponse($responseInstance); } diff --git a/inc/classes/main/commands/web/class_WebResendLinkCommand.php b/inc/classes/main/commands/web/class_WebResendLinkCommand.php index c6ba2a6c8..c66a39b59 100644 --- a/inc/classes/main/commands/web/class_WebResendLinkCommand.php +++ b/inc/classes/main/commands/web/class_WebResendLinkCommand.php @@ -134,7 +134,7 @@ class WebResendLinkCommand extends BaseCommand implements Commandable { */ public function addExtraFilters (Controller $controllerInstance, Requestable $requestInstance) { // Filter for checking if account is unconfirmed - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_unconfirmed_class')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_unconfirmed_filter', array($controllerInstance))); } } diff --git a/inc/classes/main/console/class_ConsoleTools.php b/inc/classes/main/console/class_ConsoleTools.php index 3b49f7216..d037d4049 100644 --- a/inc/classes/main/console/class_ConsoleTools.php +++ b/inc/classes/main/console/class_ConsoleTools.php @@ -50,7 +50,7 @@ class ConsoleTools extends BaseFrameworkSystem { // Read the file $hostname = trim($io->readFromFile()); - $helper->debugOutput(sprintf("[%s:] Our host name is: %s", + $helper->debugOutput(sprintf("[%s:] Our host name is: %s", $helper->__toString(), $hostname )); @@ -65,7 +65,7 @@ class ConsoleTools extends BaseFrameworkSystem { $ip = $ipResolved; // Debug message - $helper->debugOutput(sprintf("[%s:] Resolved IP address is: %s\n", + $helper->debugOutput(sprintf("[%s:] Resolved IP address is: %s\n", $helper->__toString(), $ip )); diff --git a/inc/classes/main/controller/captcha/class_ImageCodeCaptchaController.php b/inc/classes/main/controller/captcha/class_ImageCodeCaptchaController.php index e84fca7a3..64e1a1a5c 100644 --- a/inc/classes/main/controller/captcha/class_ImageCodeCaptchaController.php +++ b/inc/classes/main/controller/captcha/class_ImageCodeCaptchaController.php @@ -46,7 +46,7 @@ class ImageCodeCaptchaController extends BaseController implements Controller { $controllerInstance->setResolverInstance($resolverInstance); // Add filter for checking the "encrypt" string - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('captcha_encrypt_validator_class')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('captcha_encrypt_validator_filter', array($controllerInstance))); // Return the prepared instance return $controllerInstance; diff --git a/inc/classes/main/controller/class_BaseController.php b/inc/classes/main/controller/class_BaseController.php index 1c4d442f5..69fa4d154 100644 --- a/inc/classes/main/controller/class_BaseController.php +++ b/inc/classes/main/controller/class_BaseController.php @@ -25,14 +25,9 @@ */ class BaseController extends BaseFrameworkSystem implements Registerable { /** - * Pre filter chain instance + * Generic filter chains */ - private $preFilterChain = null; - - /** - * Post filter chain instance - */ - private $postFilterChain = null; + private $filterChains = array(); /** * Protected constructor @@ -49,13 +44,23 @@ class BaseController extends BaseFrameworkSystem implements Registerable { $this->removeSystemArray(); // Initialize both filter chains - $this->preFilterChain = ObjectFactory::createObjectByConfiguredName('filter_chain_class'); - $this->postFilterChain = ObjectFactory::createObjectByConfiguredName('filter_chain_class'); + $this->initFilterChain('pre'); + $this->initFilterChain('post'); // Add this controller to the registry Registry::getRegistry()->addInstance('controller', $this); } + /** + * Private method to initialize a given filter chain + * + * @param $filterChain Name of the filter chain + * @return void + */ + private function initFilterChain ($filterChain) { + $this->filterChains[$filterChain] = ObjectFactory::createObjectByConfiguredName('filter_chain_class'); + } + /** * Adds a filter to the pre filter chain * @@ -64,7 +69,7 @@ class BaseController extends BaseFrameworkSystem implements Registerable { */ public function addPreFilter (Filterable $filterInstance) { // Add the pre filter - $this->preFilterChain->addFilter($filterInstance); + $this->filterChains['pre']->addFilter($filterInstance); } /** @@ -75,7 +80,7 @@ class BaseController extends BaseFrameworkSystem implements Registerable { */ public function addPostFilter (Filterable $filterInstance) { // Add the post filter - $this->postFilterChain->addFilter($filterInstance); + $this->filterChains['post']->addFilter($filterInstance); } /** @@ -87,7 +92,7 @@ class BaseController extends BaseFrameworkSystem implements Registerable { */ protected function executePreFilters (Requestable $requestInstance, Responseable $responseInstance) { // Execute all pre filters - $this->preFilterChain->processFilters($requestInstance, $responseInstance); + $this->filterChains['pre']->processFilters($requestInstance, $responseInstance); } /** @@ -99,7 +104,7 @@ class BaseController extends BaseFrameworkSystem implements Registerable { */ protected function executePostFilters (Requestable $requestInstance, Responseable $responseInstance) { // Execute all post filters - $this->postFilterChain->processFilters($requestInstance, $responseInstance); + $this->filterChains['post']->processFilters($requestInstance, $responseInstance); } } diff --git a/inc/classes/main/controller/form/class_WebDoFormController.php b/inc/classes/main/controller/form/class_WebDoFormController.php index e760492fc..8691c3d29 100644 --- a/inc/classes/main/controller/form/class_WebDoFormController.php +++ b/inc/classes/main/controller/form/class_WebDoFormController.php @@ -45,7 +45,7 @@ class WebDoFormController extends BaseController implements Controller { // Set resolver instance $controllerInstance->setResolverInstance($resolverInstance); - // We need the controller instance in the resolver class so set it here + // We need the controller instance in resolver class so set it here $resolverInstance->setControllerInstance($controllerInstance); // Return the prepared instance @@ -76,6 +76,9 @@ class WebDoFormController extends BaseController implements Controller { } catch (UserAuthorizationException $e) { // Redirect to main page $responseInstance->redirectToConfiguredUrl('login_failed_url'); + + // Exit here + exit(); } // Is the request still valid? Post filters shall only be executed of diff --git a/inc/classes/main/controller/login/class_WebLoginAreaController.php b/inc/classes/main/controller/login/class_WebLoginAreaController.php index 1a1900c36..0ad97f05c 100644 --- a/inc/classes/main/controller/login/class_WebLoginAreaController.php +++ b/inc/classes/main/controller/login/class_WebLoginAreaController.php @@ -37,6 +37,7 @@ class WebLoginAreaController extends BaseController implements Controller { * * @param $resolverInstance An instance of a command resolver class * @return $controllerInstance A prepared instance of this class + * @todo Add some morer filters to this controller */ public final static function createWebLoginAreaController (CommandResolver $resolverInstance) { // Create the instance @@ -46,18 +47,16 @@ class WebLoginAreaController extends BaseController implements Controller { $controllerInstance->setResolverInstance($resolverInstance); // User auth filter - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_auth_class')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_auth_filter', array($controllerInstance))); // User update filter - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_update_class')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_update_filter', array($controllerInstance))); // News fetcher filter - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('news_download_class')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('news_download_filter', array($controllerInstance))); // News proccess/display-preparation - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('news_process_class')); - - /* @todo: Add some filters to this controller */ + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('news_process_filter', array($controllerInstance))); // Return the prepared instance return $controllerInstance; @@ -84,6 +83,9 @@ class WebLoginAreaController extends BaseController implements Controller { } catch (UserAuthorizationException $e) { // Redirect to main page $responseInstance->redirectToConfiguredUrl('login_failed_url'); + + // Exit here + exit(); } // This request was valid! :-D diff --git a/inc/classes/main/controller/web/class_WebConfirmController.php b/inc/classes/main/controller/web/class_WebConfirmController.php index 64c845d01..ebdd15084 100644 --- a/inc/classes/main/controller/web/class_WebConfirmController.php +++ b/inc/classes/main/controller/web/class_WebConfirmController.php @@ -47,10 +47,10 @@ class WebConfirmController extends BaseController implements Controller { $controllerInstance->setResolverInstance($resolverInstance); // Add filters for handling confirmation code and username - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('username_verifier_class')); - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_unconfirmed_class')); - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('confirm_code_verifier_class')); - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_status_confirmed_class')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('username_verifier_filter', array($controllerInstance))); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_unconfirmed_filter', array($controllerInstance))); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('confirm_code_verifier_filter', array($controllerInstance))); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_status_confirmed_filter', array($controllerInstance))); // Return the prepared instance return $controllerInstance; diff --git a/inc/classes/main/controller/web/class_WebDefaultNewsController.php b/inc/classes/main/controller/web/class_WebDefaultNewsController.php index 1f6c0cc28..8d7255d02 100644 --- a/inc/classes/main/controller/web/class_WebDefaultNewsController.php +++ b/inc/classes/main/controller/web/class_WebDefaultNewsController.php @@ -46,8 +46,8 @@ class WebDefaultNewsController extends BaseController implements Controller { $controllerInstance->setResolverInstance($resolverInstance); // Add news filters to this controller - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('news_download_class')); - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('news_process_class')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('news_download_filter', array($controllerInstance))); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('news_process_filter', array($controllerInstance))); // Return the prepared instance return $controllerInstance; diff --git a/inc/classes/main/controller/web/class_WebLogoutController.php b/inc/classes/main/controller/web/class_WebLogoutController.php index 00b020a1d..258d19959 100644 --- a/inc/classes/main/controller/web/class_WebLogoutController.php +++ b/inc/classes/main/controller/web/class_WebLogoutController.php @@ -47,10 +47,10 @@ class WebLogoutController extends BaseController implements Controller { $controllerInstance->setResolverInstance($resolverInstance); // Add user auth filter (we don't need an update of the user here because it will be redirected) - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_auth_class')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_auth_filter', array($controllerInstance))); // User status filter - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_status_class')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_status_filter', array($controllerInstance))); // Return the prepared instance return $controllerInstance; diff --git a/inc/classes/main/criteria/class_SearchCriteria.php b/inc/classes/main/criteria/class_SearchCriteria.php index c95d853bf..faeb8be69 100644 --- a/inc/classes/main/criteria/class_SearchCriteria.php +++ b/inc/classes/main/criteria/class_SearchCriteria.php @@ -73,8 +73,8 @@ class SearchCriteria extends BaseFrameworkSystem implements LocalSearchCriteria * @param $criteriaValue Criteria value * @return void */ - public function addCriteria ($criteriaKey, $criteriaValue) { - $this->searchCriteria[$criteriaKey] = $criteriaValue; + public final function addCriteria ($criteriaKey, $criteriaValue) { + $this->searchCriteria[(string)$criteriaKey] = (string)$criteriaValue; } /** @@ -84,7 +84,7 @@ class SearchCriteria extends BaseFrameworkSystem implements LocalSearchCriteria * @param $configEntry Configuration entry * @return void */ - public function addConfiguredCriteria ($criteriaKey, $configEntry) { + public final function addConfiguredCriteria ($criteriaKey, $configEntry) { // Add the configuration entry as a criteria $value = $this->getConfigInstance()->readConfig($configEntry); $this->addCriteria($criteriaKey, $value); @@ -95,6 +95,7 @@ class SearchCriteria extends BaseFrameworkSystem implements LocalSearchCriteria * * @param $limit Search limit * @return void + * @todo Find a nice casting here. (int) allows until and including 32766. */ public final function setLimit ($limit) { $this->limit = $limit; @@ -114,6 +115,7 @@ class SearchCriteria extends BaseFrameworkSystem implements LocalSearchCriteria * * @param $skip Search skip * @return void + * @todo Find a nice casting here. (int) allows until and including 32766. */ public final function setSkip ($skip) { $this->skip = $skip; @@ -199,7 +201,7 @@ class SearchCriteria extends BaseFrameworkSystem implements LocalSearchCriteria } // END - foreach } // END - foreach - // Now check if the criteria matches + // Now check if expected criteria counts match $matches = ($counted == count($this->searchCriteria)); // Return the result diff --git a/inc/classes/main/crypto/class_CryptoHelper.php b/inc/classes/main/crypto/class_CryptoHelper.php index 2ebafd8ed..0456e10da 100644 --- a/inc/classes/main/crypto/class_CryptoHelper.php +++ b/inc/classes/main/crypto/class_CryptoHelper.php @@ -119,8 +119,8 @@ class CryptoHelper extends BaseFrameworkSystem implements Cryptable { /** * Hashes a string with salt and returns the hash. If an old previous hash * is supplied the method will use the first X chars of that hash for hashing - * the password. This is useful if you want to check if the password is - * identical for authorization purposes. + * the password. This is useful if you want to check if password is identical + * for authorization purposes. * * @param $str Unhashed string * @param $oldHash A hash from previous hashed string @@ -241,6 +241,11 @@ class CryptoHelper extends BaseFrameworkSystem implements Cryptable { // Get the real string out $strArray = explode("|", $garbageString); + + // Does the element count match? + assert(count($strArray) == 3); + + // Decode the string $str = base64_decode($strArray[1]); // Trim trailing nulls away diff --git a/inc/classes/main/database/databases/class_LocalFileDatabase.php b/inc/classes/main/database/databases/class_LocalFileDatabase.php index 25cf9389f..dc4371efd 100644 --- a/inc/classes/main/database/databases/class_LocalFileDatabase.php +++ b/inc/classes/main/database/databases/class_LocalFileDatabase.php @@ -70,6 +70,11 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend */ private $tableInfo = array(); + /** + * Element for index + */ + private $indexKey = "__idx"; + /** * The protected constructor. Do never instance from outside! You need to * set a local file path. The class will then validate it. @@ -153,13 +158,12 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend /** * Setter for the last read file * - * @param $fqfn The FQFN of the last read file + * @param $fqfn The FQFN of the last read file * @return void */ private final function setLastFile ($fqfn) { - // Cast string - $fqfn = (string) $fqfn; - $this->lastFile = $fqfn; + // Cast string and set it + $this->lastFile = (string) $fqfn; } /** @@ -188,9 +192,8 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend * @param $contents An array with header and data elements * @return void */ - private final function setLastFileContents ($contents) { - // Cast array - $contents = (array) $contents; + private final function setLastFileContents (array $contents) { + // Set array $this->lastContents = $contents; } @@ -212,6 +215,15 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend return $this->fileExtension; } + /** + * Getter for index key + * + * @return $indexKey Index key + */ + public final function getIndexKey () { + return $this->indexKey; + } + /** * Reads a local data file and returns it's contents in an array * @@ -261,7 +273,7 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend } /** - * Getter for table information file contents or an empty if the info file was not created + * Getter for table information file contents or an empty if info file was not created * * @param $dataSetInstance An instance of a database set class * @return $infoArray An array with all table informations @@ -370,6 +382,7 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend // Initialize limit/skip $limitFound = 0; $skipFound = 0; + $idx = 1; // Read the directory with some exceptions while (($dataFile = $directoryInstance->readDirectoryExcept(array(".", "..", ".htaccess", ".svn", "info." . $this->getFileExtension()))) && ($limitFound < $criteriaInstance->getLimit())) { @@ -377,7 +390,7 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend if (substr($dataFile, -(strlen($this->getFileExtension()))) !== $this->getFileExtension()) { // Skip this file! continue; - } + } // END - if // Read the file $dataArray = $this->getDataArrayFromFile($pathName . $dataFile); @@ -402,8 +415,13 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend } // END - if } // END - if + // Set id number + $dataArray[$this->getIndexKey()] = $idx; + // Entry found! $resultData['rows'][] = $dataArray; + + // Count found entries up $limitFound++; break; } // END - if @@ -412,6 +430,9 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend // Throw an exception here throw new SqlException(array($this, sprintf("File '%s' contains invalid data.", $dataFile), self::DB_CODE_DATA_FILE_CORRUPT), self::EXCEPTION_SQL_QUERY); } + + // Count entry up + $idx++; } // END - while // Close directory and throw the instance away diff --git a/inc/classes/main/database/wrapper/class_UserDatabaseWrapper.php b/inc/classes/main/database/wrapper/class_UserDatabaseWrapper.php index 1bbbf0315..503fbadb0 100644 --- a/inc/classes/main/database/wrapper/class_UserDatabaseWrapper.php +++ b/inc/classes/main/database/wrapper/class_UserDatabaseWrapper.php @@ -26,6 +26,7 @@ class UserDatabaseWrapper extends BaseDatabaseWrapper { const EXCEPTION_CLIENT_USERNAME_NOT_FOUND = 0x180; // Constants for database columns + const DB_COLUMN_USERID = "userid"; const DB_COLUMN_USERNAME = "username"; const DB_COLUMN_EMAIL = "email"; const DB_COLUMN_CONFIRM_HASH = "confirm_hash"; @@ -48,8 +49,6 @@ class UserDatabaseWrapper extends BaseDatabaseWrapper { * Creates an instance of this database wrapper by a provided user class * * @return $wrapperInstance An instance of the created wrapper class - * @throws WrapperUserNameNotFoundException If the supplied username - * does not exist */ public final static function createUserDatabaseWrapper () { // Get a new instance @@ -62,6 +61,15 @@ class UserDatabaseWrapper extends BaseDatabaseWrapper { return $wrapperInstance; } + /** + * Getter for index key + * + * @return $indexKey Index key + */ + public final function getIndexKey () { + return $this->getDatabaseInstance()->getIndexKey(); + } + /** * Handles inserting the registration data from a registration instance into the database * diff --git a/inc/classes/main/debug/class_DebugConsoleOutput.php b/inc/classes/main/debug/class_DebugConsoleOutput.php index b9db25680..08e6d426a 100644 --- a/inc/classes/main/debug/class_DebugConsoleOutput.php +++ b/inc/classes/main/debug/class_DebugConsoleOutput.php @@ -52,7 +52,7 @@ class DebugConsoleOutput extends BaseFrameworkSystem implements Debugger, Output * @return void */ public final function outputStream ($output) { - print(html_entity_decode(strip_tags($output))); + print(html_entity_decode(strip_tags(stripslashes($output)))); } /** diff --git a/inc/classes/main/debug/class_DebugWebOutput.php b/inc/classes/main/debug/class_DebugWebOutput.php index 268738a7a..433f68e8b 100644 --- a/inc/classes/main/debug/class_DebugWebOutput.php +++ b/inc/classes/main/debug/class_DebugWebOutput.php @@ -54,7 +54,7 @@ class DebugWebOutput extends BaseFrameworkSystem implements Debugger, OutputStre public final function outputStream ($output) { // Strip out
$output = str_replace("
", "", $output); - print($output."
\n"); + print(stripslashes($output)."
\n"); } /** diff --git a/inc/classes/main/factories/objects/class_ObjectFactory.php b/inc/classes/main/factories/objects/class_ObjectFactory.php index 06c73d89c..0848e79fa 100644 --- a/inc/classes/main/factories/objects/class_ObjectFactory.php +++ b/inc/classes/main/factories/objects/class_ObjectFactory.php @@ -64,14 +64,13 @@ class ObjectFactory extends BaseFactory { throw new ClassNotFoundException(array($factoryInstance, $className), self::EXCEPTION_CLASS_NOT_FOUND); } - // Then Prepare the call-back function - $callback = sprintf("%s::create%s", - $className, + // Create method name + $methodName = sprintf("create%s", $className ); // Run the user function - $objectInstance = call_user_func_array($callback, $args); + $objectInstance = call_user_func_array(array($className, $methodName), $args); // Count generated objects up self::$total++; diff --git a/inc/classes/main/factories/web/class_WebNewsFactory.php b/inc/classes/main/factories/web/class_WebNewsFactory.php index d7307ec37..1dace4e95 100644 --- a/inc/classes/main/factories/web/class_WebNewsFactory.php +++ b/inc/classes/main/factories/web/class_WebNewsFactory.php @@ -45,8 +45,29 @@ class WebNewsFactory extends BaseFactory { * @return $factoryInstance An instance of a WebNewsFactory class */ public final static function createFactoryByRequest (Requestable $requestInstance) { + // Set default news reader class + $configEntry = "news_reader_class"; + + // Get "page" + $page = $requestInstance->getRequestElement('page'); + + // Is "page" used? + if (!empty($page)) { + // Then add it + $configEntry = sprintf("news_reader_%s_class", $page); + + // Get "action" + $action = $requestInstance->getRequestElement('action'); + + // Is it also there? + if (!empty($action)) { + // Then use both for config entry + $configEntry = sprintf("news_reader_%s_%s_class", $page, $action); + } // END - if + } // END - if + // Get the news reader class name from config - $className = $requestInstance->getConfigInstance()->readConfig('news_reader_class'); + $className = $requestInstance->getConfigInstance()->readConfig($configEntry); // Once we have that name, try to load initialize it $newsInstance = ObjectFactory::createObjectByName($className, array($requestInstance)); diff --git a/inc/classes/main/filter/auth/class_UserAuthFilter.php b/inc/classes/main/filter/auth/class_UserAuthFilter.php index b08d0c2b8..c2b0ac428 100644 --- a/inc/classes/main/filter/auth/class_UserAuthFilter.php +++ b/inc/classes/main/filter/auth/class_UserAuthFilter.php @@ -43,12 +43,16 @@ class UserAuthFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createUserAuthFilter () { + public final static function createUserAuthFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new UserAuthFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Set default auth method $filterInstance->setDefaultAuthMethod(); diff --git a/inc/classes/main/filter/change/class_EmailChangeFilter.php b/inc/classes/main/filter/change/class_EmailChangeFilter.php index 4e75421e1..bc481dd70 100644 --- a/inc/classes/main/filter/change/class_EmailChangeFilter.php +++ b/inc/classes/main/filter/change/class_EmailChangeFilter.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class EmailChangeFilter extends BaseFrameworkSystem implements Filterable { +class EmailChangeFilter extends BaseFilter implements Filterable { /** * Protected constructor * @@ -35,12 +35,16 @@ class EmailChangeFilter extends BaseFrameworkSystem implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createEmailChangeFilter () { + public final static function createEmailChangeFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new EmailChangeFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } @@ -94,6 +98,12 @@ class EmailChangeFilter extends BaseFrameworkSystem implements Filterable { return false; } // END - if + // Are email and confirmation empty? + if ((empty($email1)) && (empty($email2))) { + // No email change required! + return true; + } // END - if + // Now, get a user instance for comparison $userInstance = Registry::getRegistry()->getInstance('user'); @@ -101,10 +111,13 @@ class EmailChangeFilter extends BaseFrameworkSystem implements Filterable { $userEmail = $userInstance->getField('email'); // Are they different? - if ($userEmail != $email1) { - // Update the "new_email" field - $this->partialStub("Unfinished part."); + if ($userEmail == $email1) { + // Nothing has been changed is fine... + return true; } // END - if + + // Update the "new_email" field + $this->partialStub("Unfinished part."); } } diff --git a/inc/classes/main/filter/change/class_PasswordChangeFilter.php b/inc/classes/main/filter/change/class_PasswordChangeFilter.php index 078d2944f..e7b8b5055 100644 --- a/inc/classes/main/filter/change/class_PasswordChangeFilter.php +++ b/inc/classes/main/filter/change/class_PasswordChangeFilter.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class PasswordChangeFilter extends BaseFrameworkSystem implements Filterable { +class PasswordChangeFilter extends BaseFilter implements Filterable { /** * Protected constructor * @@ -35,12 +35,16 @@ class PasswordChangeFilter extends BaseFrameworkSystem implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a controller class + * @return $filterInstance An instance of this filter class */ - public final static function createPasswordChangeFilter () { + public final static function createPasswordChangeFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new PasswordChangeFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } @@ -82,6 +86,12 @@ class PasswordChangeFilter extends BaseFrameworkSystem implements Filterable { return false; } // END - if + // Are password and confirmation empty? + if ((empty($pass1)) && (empty($pass2))) { + // Don't change password here + return true; + } // END - if + // Do both match? if ($pass1 != $pass2) { // Request is invalid! diff --git a/inc/classes/main/filter/checkboxes/class_RulesAcceptedFilter.php b/inc/classes/main/filter/checkboxes/class_RulesAcceptedFilter.php index 85e945e8b..03b769a27 100644 --- a/inc/classes/main/filter/checkboxes/class_RulesAcceptedFilter.php +++ b/inc/classes/main/filter/checkboxes/class_RulesAcceptedFilter.php @@ -37,12 +37,16 @@ class RulesAcceptedFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createRulesAcceptedFilter () { + public final static function createRulesAcceptedFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new RulesAcceptedFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/class_ b/inc/classes/main/filter/class_ index 4aff5132a..bd14a20d0 100644 --- a/inc/classes/main/filter/class_ +++ b/inc/classes/main/filter/class_ @@ -30,21 +30,21 @@ class ???Filter extends BaseFrameworkSystem implements Filterable { protected function __construct () { // Call parent constructor parent::__construct(__CLASS__); - - // Clean up a little - $this->removeNumberFormaters(); - $this->removeSystemArray(); } /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function create???Filter () { + public final static function create???Filter (Controller $controllerInstance) { // Get a new instance $filterInstance = new ???Filter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/class_AbstractFilterDecorator.php b/inc/classes/main/filter/class_AbstractFilterDecorator.php index e11b970dd..e003ce266 100644 --- a/inc/classes/main/filter/class_AbstractFilterDecorator.php +++ b/inc/classes/main/filter/class_AbstractFilterDecorator.php @@ -64,8 +64,8 @@ abstract class AbstractFilterDecorator extends BaseFrameworkSystem implements Fi /** * Execute the inner filter * - * @param<->$requestInstance<-->An instance of a request class - * @param<->$responseInstance<->An instance of a response class + * @param $requestInstance An instance of a request class + * @param $responseInstance An instance of a response class * @return void */ public final function execute (Requestable $requestInstance, Responseable $responseInstance) { @@ -76,8 +76,8 @@ abstract class AbstractFilterDecorator extends BaseFrameworkSystem implements Fi /** * Do the execution of the filter * - * @param<->$requestInstance<-->An instance of a request class - * @param<->$responseInstance<->An instance of a response class + * @param $requestInstance An instance of a request class + * @param $responseInstance An instance of a response class * @return void */ abstract public function doExecute (Requestable $requestInstance, Responseable $responseInstance); diff --git a/inc/classes/main/filter/crypto/class_CaptchaEncryptFilter.php b/inc/classes/main/filter/crypto/class_CaptchaEncryptFilter.php index b399a8917..3a20eb292 100644 --- a/inc/classes/main/filter/crypto/class_CaptchaEncryptFilter.php +++ b/inc/classes/main/filter/crypto/class_CaptchaEncryptFilter.php @@ -1,6 +1,6 @@ * @version 0.0.0 @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class CaptchaEncryptFilter extends BaseFrameworkSystem implements Filterable { +class CaptchaEncryptFilter extends BaseFilter implements Filterable { /** * Protected constructor * @@ -35,12 +35,16 @@ class CaptchaEncryptFilter extends BaseFrameworkSystem implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createCaptchaEncryptFilter () { + public final static function createCaptchaEncryptFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new CaptchaEncryptFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/guest/class_UserNameIsGuestFilter.php b/inc/classes/main/filter/guest/class_UserNameIsGuestFilter.php index fc11b737f..20155ac3d 100644 --- a/inc/classes/main/filter/guest/class_UserNameIsGuestFilter.php +++ b/inc/classes/main/filter/guest/class_UserNameIsGuestFilter.php @@ -1,7 +1,7 @@ * @version 0.0.0 @@ -36,12 +36,16 @@ class UserNameIsGuestFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createUserNameIsGuestFilter () { + public final static function createUserNameIsGuestFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new UserNameIsGuestFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/news/class_NewsDownloadFilter.php b/inc/classes/main/filter/news/class_NewsDownloadFilter.php index 1b57940f2..8799398e3 100644 --- a/inc/classes/main/filter/news/class_NewsDownloadFilter.php +++ b/inc/classes/main/filter/news/class_NewsDownloadFilter.php @@ -37,12 +37,16 @@ class NewsDownloadFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createNewsDownloadFilter () { + public final static function createNewsDownloadFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new NewsDownloadFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/news/class_NewsProcessFilter.php b/inc/classes/main/filter/news/class_NewsProcessFilter.php index 76ebf3df5..5ecb09605 100644 --- a/inc/classes/main/filter/news/class_NewsProcessFilter.php +++ b/inc/classes/main/filter/news/class_NewsProcessFilter.php @@ -36,12 +36,16 @@ class NewsProcessFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createNewsProcessFilter () { + public final static function createNewsProcessFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new NewsProcessFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/null/class_NullFilter.php b/inc/classes/main/filter/null/class_NullFilter.php index 9b145bab8..3dd83829b 100644 --- a/inc/classes/main/filter/null/class_NullFilter.php +++ b/inc/classes/main/filter/null/class_NullFilter.php @@ -36,12 +36,16 @@ class NullFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createNullFilter () { + public final static function createNullFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new NullFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/update/class_UserStatusConfimedUpdateFilter.php b/inc/classes/main/filter/update/class_UserStatusConfimedUpdateFilter.php index 7e301484c..a7e409b0a 100644 --- a/inc/classes/main/filter/update/class_UserStatusConfimedUpdateFilter.php +++ b/inc/classes/main/filter/update/class_UserStatusConfimedUpdateFilter.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class UserStatusConfimedUpdateFilter extends BaseFrameworkSystem implements Filterable { +class UserStatusConfimedUpdateFilter extends BaseFilter implements Filterable { /** * Protected constructor * @@ -35,12 +35,16 @@ class UserStatusConfimedUpdateFilter extends BaseFrameworkSystem implements Filt /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createUserStatusConfimedUpdateFilter () { + public final static function createUserStatusConfimedUpdateFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new UserStatusConfimedUpdateFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/update/class_UserUpdateFilter.php b/inc/classes/main/filter/update/class_UserUpdateFilter.php index be0c9a8bf..69c62d80a 100644 --- a/inc/classes/main/filter/update/class_UserUpdateFilter.php +++ b/inc/classes/main/filter/update/class_UserUpdateFilter.php @@ -22,7 +22,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class UserUpdateFilter extends BaseFrameworkSystem implements Filterable { +class UserUpdateFilter extends BaseFilter implements Filterable { /** * Protected constructor * @@ -36,12 +36,16 @@ class UserUpdateFilter extends BaseFrameworkSystem implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createUserUpdateFilter () { + public final static function createUserUpdateFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new UserUpdateFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/validator/class_EmailValidatorFilter.php b/inc/classes/main/filter/validator/class_EmailValidatorFilter.php index feb819e99..6183b33b2 100644 --- a/inc/classes/main/filter/validator/class_EmailValidatorFilter.php +++ b/inc/classes/main/filter/validator/class_EmailValidatorFilter.php @@ -1,9 +1,9 @@ * @version 0.0.0 @@ -38,12 +38,16 @@ class EmailValidatorFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createEmailValidatorFilter () { + public final static function createEmailValidatorFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new EmailValidatorFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } @@ -154,7 +158,7 @@ class EmailValidatorFilter extends BaseFilter implements Filterable { } // Does the email exist? - if (!$userInstance->ifEmailAddressExists()) { + if ($userInstance->ifEmailAddressExists() === false) { // This email has not being used yet $alreadyTaken = false; } diff --git a/inc/classes/main/filter/validator/class_PasswordValidatorFilter.php b/inc/classes/main/filter/validator/class_PasswordValidatorFilter.php index 8944f3588..2591f1ea7 100644 --- a/inc/classes/main/filter/validator/class_PasswordValidatorFilter.php +++ b/inc/classes/main/filter/validator/class_PasswordValidatorFilter.php @@ -36,12 +36,16 @@ class PasswordValidatorFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createPasswordValidatorFilter () { + public final static function createPasswordValidatorFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new PasswordValidatorFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/validator/class_UserNameValidatorFilter.php b/inc/classes/main/filter/validator/class_UserNameValidatorFilter.php index 522e77a82..8d0445feb 100644 --- a/inc/classes/main/filter/validator/class_UserNameValidatorFilter.php +++ b/inc/classes/main/filter/validator/class_UserNameValidatorFilter.php @@ -1,9 +1,8 @@ * @version 0.0.0 @@ -38,12 +37,16 @@ class UserNameValidatorFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createUserNameValidatorFilter () { + public final static function createUserNameValidatorFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new UserNameValidatorFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } @@ -125,7 +128,7 @@ class UserNameValidatorFilter extends BaseFilter implements Filterable { } // Does the username exist? - if ((is_null($userInstance)) || (!$userInstance->ifUsernameExists())) { + if ((is_null($userInstance)) || ($userInstance->ifUsernameExists() === false)) { // This username is still available $alreadyTaken = false; } // END - if diff --git a/inc/classes/main/filter/verifier/class_AccountPasswordVerifierFilter.php b/inc/classes/main/filter/verifier/class_AccountPasswordVerifierFilter.php index eab77bdea..44fdcfc9f 100644 --- a/inc/classes/main/filter/verifier/class_AccountPasswordVerifierFilter.php +++ b/inc/classes/main/filter/verifier/class_AccountPasswordVerifierFilter.php @@ -36,12 +36,16 @@ class AccountPasswordVerifierFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createAccountPasswordVerifierFilter () { + public final static function createAccountPasswordVerifierFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new AccountPasswordVerifierFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } @@ -53,6 +57,7 @@ class AccountPasswordVerifierFilter extends BaseFilter implements Filterable { * @param $responseInstance An instance of a class with an Responseable interface * @return void * @throws AccountPasswordMismatchException If the account password does not match + * @todo Rewrite handling of different password fields */ public function execute (Requestable $requestInstance, Responseable $responseInstance) { // Get password @@ -60,20 +65,28 @@ class AccountPasswordVerifierFilter extends BaseFilter implements Filterable { // Is the password still not set? if (is_null($password)) { - // Not found in form so stop the filtering process - $requestInstance->requestIsValid(false); + // Get password from alternative location + $password = $requestInstance->getRequestElement('password'); - // Add a message to the response - $responseInstance->addFatalMessage('pass_old_unset'); + // Is the password still not set? + if (is_null($password)) { + // Not found in form so stop the filtering process + $requestInstance->requestIsValid(false); - // Abort here - return false; - } elseif (empty($password)) { + // Add a message to the response + $responseInstance->addFatalMessage('password_unset'); + + // Abort here + return false; + } // END - if + } // END - if + + if (empty($password)) { // Password is empty $requestInstance->requestIsValid(false); // Add a message to the response - $responseInstance->addFatalMessage('pass_old_empty'); + $responseInstance->addFatalMessage('password_empty'); // Abort here return false; @@ -82,14 +95,14 @@ class AccountPasswordVerifierFilter extends BaseFilter implements Filterable { // Get a user instance $userInstance = Registry::getRegistry()->getInstance('user'); - // Get old hash - $oldHash = $userInstance->getField('pass_hash'); + // Get current hash + $currentHash = $userInstance->getField('pass_hash'); // Get an encryption helper and encrypt the password - $passHash = ObjectFactory::createObjectByConfiguredName('crypto_class')->hashString($password, $oldHash); + $passHash = ObjectFactory::createObjectByConfiguredName('crypto_class')->hashString($password, $currentHash); // Does it match? - if ($oldHash != $passHash) { + if ($currentHash != $passHash) { // Throw an exception here to stop the proccessing throw new AccountPasswordMismatchException($this, BaseUser::EXCEPTION_USER_PASS_MISMATCH); } // END - if diff --git a/inc/classes/main/filter/verifier/class_ConfirmCodeVerifierFilter.php b/inc/classes/main/filter/verifier/class_ConfirmCodeVerifierFilter.php index 98fc1e67c..09a13d013 100644 --- a/inc/classes/main/filter/verifier/class_ConfirmCodeVerifierFilter.php +++ b/inc/classes/main/filter/verifier/class_ConfirmCodeVerifierFilter.php @@ -1,6 +1,6 @@ * @version 0.0.0 @@ -35,12 +35,16 @@ class ConfirmCodeVerifierFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createConfirmCodeVerifierFilter () { + public final static function createConfirmCodeVerifierFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new ConfirmCodeVerifierFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } @@ -99,7 +103,7 @@ class ConfirmCodeVerifierFilter extends BaseFilter implements Filterable { $responseInstance->redirectToConfiguredUrl('confirm_code_invalid_url'); // Stop processing here - exit; + exit(); } // END - if } } diff --git a/inc/classes/main/filter/verifier/class_GraphicalCodeCaptchaVerifierFilter.php b/inc/classes/main/filter/verifier/class_GraphicalCodeCaptchaVerifierFilter.php index 8bb65a44d..27fe8a357 100644 --- a/inc/classes/main/filter/verifier/class_GraphicalCodeCaptchaVerifierFilter.php +++ b/inc/classes/main/filter/verifier/class_GraphicalCodeCaptchaVerifierFilter.php @@ -35,12 +35,16 @@ class GraphicalCodeCaptchaVerifierFilter extends BaseFilter implements Filterabl /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createGraphicalCodeCaptchaVerifierFilter () { + public final static function createGraphicalCodeCaptchaVerifierFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new GraphicalCodeCaptchaVerifierFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/verifier/class_PasswordGuestVerifierFilter.php b/inc/classes/main/filter/verifier/class_PasswordGuestVerifierFilter.php index f2a15202e..abe338d3e 100644 --- a/inc/classes/main/filter/verifier/class_PasswordGuestVerifierFilter.php +++ b/inc/classes/main/filter/verifier/class_PasswordGuestVerifierFilter.php @@ -36,12 +36,16 @@ class PasswordGuestVerifierFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createPasswordGuestVerifierFilter () { + public final static function createPasswordGuestVerifierFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new PasswordGuestVerifierFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/verifier/class_PasswordVerifierFilter.php b/inc/classes/main/filter/verifier/class_PasswordVerifierFilter.php index 0bd5cceba..cea7d2109 100644 --- a/inc/classes/main/filter/verifier/class_PasswordVerifierFilter.php +++ b/inc/classes/main/filter/verifier/class_PasswordVerifierFilter.php @@ -36,12 +36,16 @@ class PasswordVerifierFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createPasswordVerifierFilter () { + public final static function createPasswordVerifierFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new PasswordVerifierFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/verifier/class_UserGuestVerifierFilter.php b/inc/classes/main/filter/verifier/class_UserGuestVerifierFilter.php index 839b1eb96..8e2b952fd 100644 --- a/inc/classes/main/filter/verifier/class_UserGuestVerifierFilter.php +++ b/inc/classes/main/filter/verifier/class_UserGuestVerifierFilter.php @@ -1,9 +1,8 @@ * @version 0.0.0 @@ -38,12 +37,16 @@ class UserGuestVerifierFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createUserGuestVerifierFilter () { + public final static function createUserGuestVerifierFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new UserGuestVerifierFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } @@ -65,7 +68,7 @@ class UserGuestVerifierFilter extends BaseFilter implements Filterable { $requestInstance->requestIsValid(false); // Add a message to the response - $responseInstance->addFatalMessage('username_unset'); + $responseInstance->addFatalMessage('username_guest_unset'); // Abort here return false; @@ -74,16 +77,16 @@ class UserGuestVerifierFilter extends BaseFilter implements Filterable { $requestInstance->requestIsValid(false); // Add a message to the response - $responseInstance->addFatalMessage('username_empty'); + $responseInstance->addFatalMessage('username_guest_empty'); // Abort here return false; - } elseif (!$this->ifUserGuestIsTaken($userName)) { + } elseif ($this->ifUserGuestIsTaken($userName) === false) { // Username is already taken $requestInstance->requestIsValid(false); // Add a message to the response - $responseInstance->addFatalMessage('username_not_found'); + $responseInstance->addFatalMessage('username_guest_not_found'); // Abort here return false; @@ -128,7 +131,7 @@ class UserGuestVerifierFilter extends BaseFilter implements Filterable { } // Does the username exist? - if ((is_null($userInstance)) || (!$userInstance->ifUsernameExists())) { + if ((is_null($userInstance)) || ($userInstance->ifUsernameExists() === false)) { // This username is still available $alreadyTaken = false; } diff --git a/inc/classes/main/filter/verifier/class_UserNameVerifierFilter.php b/inc/classes/main/filter/verifier/class_UserNameVerifierFilter.php index 7d0bde9e0..a3b12a985 100644 --- a/inc/classes/main/filter/verifier/class_UserNameVerifierFilter.php +++ b/inc/classes/main/filter/verifier/class_UserNameVerifierFilter.php @@ -1,9 +1,8 @@ * @version 0.0.0 @@ -38,12 +37,16 @@ class UserNameVerifierFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createUserNameVerifierFilter () { + public final static function createUserNameVerifierFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new UserNameVerifierFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } @@ -78,7 +81,7 @@ class UserNameVerifierFilter extends BaseFilter implements Filterable { // Abort here return false; - } elseif (!$this->ifUserNameIsTaken($userName)) { + } elseif ($this->ifUserNameIsTaken($userName) === false) { // Username is already taken $requestInstance->requestIsValid(false); @@ -125,7 +128,7 @@ class UserNameVerifierFilter extends BaseFilter implements Filterable { } // Does the username exist? - if ((is_null($userInstance)) || (!$userInstance->ifUsernameExists())) { + if ((is_null($userInstance)) || ($userInstance->ifUsernameExists() === false)) { // This username is still available $alreadyTaken = false; } // END - if diff --git a/inc/classes/main/filter/verifier/class_UserStatusVerifierFilter.php b/inc/classes/main/filter/verifier/class_UserStatusVerifierFilter.php index 79e0aceb2..a058aa04a 100644 --- a/inc/classes/main/filter/verifier/class_UserStatusVerifierFilter.php +++ b/inc/classes/main/filter/verifier/class_UserStatusVerifierFilter.php @@ -1,6 +1,6 @@ * @version 0.0.0 @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class UserStatusVerifierFilter extends BaseFrameworkSystem implements Filterable { +class UserStatusVerifierFilter extends BaseFilter implements Filterable { /** * Protected constructor * @@ -35,12 +35,16 @@ class UserStatusVerifierFilter extends BaseFrameworkSystem implements Filterable /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createUserStatusVerifierFilter () { + public final static function createUserStatusVerifierFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new UserStatusVerifierFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } diff --git a/inc/classes/main/filter/verifier/class_UserUnconfirmedVerifierFilter.php b/inc/classes/main/filter/verifier/class_UserUnconfirmedVerifierFilter.php index e36fa3898..0845c85bc 100644 --- a/inc/classes/main/filter/verifier/class_UserUnconfirmedVerifierFilter.php +++ b/inc/classes/main/filter/verifier/class_UserUnconfirmedVerifierFilter.php @@ -1,6 +1,6 @@ * @version 0.0.0 @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class UserUnconfirmedVerifierFilter extends BaseFrameworkSystem implements Filterable { +class UserUnconfirmedVerifierFilter extends BaseFilter implements Filterable { /** * Protected constructor * @@ -35,12 +35,16 @@ class UserUnconfirmedVerifierFilter extends BaseFrameworkSystem implements Filte /** * Creates an instance of this filter class * - * @return $filterInstance An instance of this filter class + * @param $controllerInstance An instance of a Controller class + * @return $filterInstance An instance of this filter class */ - public final static function createUserUnconfirmedVerifierFilter () { + public final static function createUserUnconfirmedVerifierFilter (Controller $controllerInstance) { // Get a new instance $filterInstance = new UserUnconfirmedVerifierFilter(); + // Set the controller + $filterInstance->setControllerInstance($controllerInstance); + // Return the instance return $filterInstance; } @@ -60,7 +64,7 @@ class UserUnconfirmedVerifierFilter extends BaseFrameworkSystem implements Filte $userInstance = call_user_func_array(array($userClass, 'createMemberByRequest'), array($requestInstance)); // Is the email address valid? - if (!$userInstance->ifEmailAddressExists()) { + if ($userInstance->ifEmailAddressExists() === false) { // Request is invalid! $requestInstance->requestIsValid(false); diff --git a/inc/classes/main/helper/captcha/images/class_ImageHelper.php b/inc/classes/main/helper/captcha/images/class_ImageHelper.php index 0b5a76f03..fa8bd8591 100644 --- a/inc/classes/main/helper/captcha/images/class_ImageHelper.php +++ b/inc/classes/main/helper/captcha/images/class_ImageHelper.php @@ -270,7 +270,7 @@ class ImageHelper extends BaseCaptcha implements HelpableTemplate { /** * Setter for image message string * - * @param $imageString A message to display in the image + * @param $imageString A message to display in image * @return void */ public final function setImageString ($imageString) { @@ -280,7 +280,7 @@ class ImageHelper extends BaseCaptcha implements HelpableTemplate { /** * Getter for image message string * - * @return $imageString A message to display in the image + * @return $imageString A message to display in image */ public final function getImageString () { return $this->imageStrings[$this->currString]['string']; diff --git a/inc/classes/main/helper/class_BaseHelper.php b/inc/classes/main/helper/class_BaseHelper.php index 94f4ed5f1..b4e893f4b 100644 --- a/inc/classes/main/helper/class_BaseHelper.php +++ b/inc/classes/main/helper/class_BaseHelper.php @@ -226,11 +226,12 @@ class BaseHelper extends BaseFrameworkSystem { * * @param $groupId Group id to open * @param $content Initial content to add to the group + * @param $tag HTML tag used to open this group * @return void * @throws HelperGroupAlreadyCreatedException If the group was already created before */ - protected function openGroupByIdContent ($groupId, $content) { - //* DEBUG: */ echo "OPEN:groupId={$groupId}
\n"; + protected function openGroupByIdContent ($groupId, $content, $tag) { + //* DEBUG: */ echo "OPEN:groupId={$groupId},content=
".htmlentities($content)."
\n"; // Is the group already there? if (isset($this->groups[$groupId])) { // Then throw an exception here @@ -243,7 +244,8 @@ class BaseHelper extends BaseFrameworkSystem { // Add the group to the stack $this->groups[$this->totalCounter] = $groupId; $this->groups[$groupId]['opened'] = true; - $this->groups[$groupId]['content'] = $content."\n"; + $this->groups[$groupId]['content'] = sprintf("%s\n", $groupId, strlen($content), $tag, $content); + $this->groups[$groupId]['tag'] = $tag; // Mark this group as previously opened $this->setPreviousGroupId($groupId); @@ -253,13 +255,19 @@ class BaseHelper extends BaseFrameworkSystem { * Closes the previously opened group by added given content to it or * throws an exception if no previous group was opened * - * @param $content Content for previously opened grouop + * @param $content Content for previously opened group, or empty to use tag of opener * @return void * @throws HelperNoPreviousOpenedGroupException If no previously opened group was found */ - public function closePreviousGroupByContent ($content) { + public function closePreviousGroupByContent ($content = "") { + // Check if any sub group was opened before + if ($this->ifSubGroupOpenedPreviously()) { + // Close it automatically + $this->closePreviousSubGroupByContent(); + } // END - if + // Check if any group was opened before - if (!$this->ifGroupOpenedPreviously()) { + if ($this->ifGroupOpenedPreviously() === false) { // Then throw an exception throw new HelperNoPreviousOpenedGroupException(array($this, $content), self::EXCEPTION_NO_PREVIOUS_SUB_GROUP_OPENED); } // END - if @@ -267,8 +275,14 @@ class BaseHelper extends BaseFrameworkSystem { // Get previous group $groupId = $this->getPreviousGroupId(); + // Is the content empty? + if ((empty($content)) && (!empty($this->groups[$groupId]['tag']))) { + // Get it from opener + $content = sprintf("", $groupId, $this->groups[$groupId]['tag']); + } // END - if + // Add content to it and mark it as closed - $this->groups[$groupId]['content'] .= $content."\n"; + $this->groups[$groupId]['content'] .= sprintf("%s\n", $groupId, strlen($content), $this->groups[$groupId]['tag'], $content); $this->groups[$groupId]['opened'] = false; // Mark previous group as closed @@ -283,10 +297,11 @@ class BaseHelper extends BaseFrameworkSystem { * * @param $subGroupId Sub group id to open * @param $content Initial content to add to the sub group + * @param $tag HTML tag used to open this group * @return void * @throws HelperSubGroupAlreadyCreatedException If the sub group was already created before */ - protected function openSubGroupByIdContent ($subGroupId, $content) { + protected function openSubGroupByIdContent ($subGroupId, $content, $tag) { //* DEBUG: */ echo "OPEN:subGroupId={$subGroupId},content=".htmlentities($content)."
\n"; // Is the group already there? if (isset($this->subGroups[$subGroupId])) { @@ -300,7 +315,8 @@ class BaseHelper extends BaseFrameworkSystem { // Add the group to the stack $this->subGroups[$this->totalCounter] = $subGroupId; $this->subGroups[$subGroupId]['opened'] = true; - $this->subGroups[$subGroupId]['content'] = $content."\n"; + $this->subGroups[$subGroupId]['content'] = sprintf("%s\n", $subGroupId, strlen($content), $tag, $content); + $this->subGroups[$subGroupId]['tag'] = $tag; // Mark this group as previously opened $this->setPreviousSubGroupId($subGroupId); @@ -310,13 +326,13 @@ class BaseHelper extends BaseFrameworkSystem { * Closes the previously opened sub group by added given content to it or * throws an exception if no previous sub group was opened * - * @param $content Content for previously opened sub grouop + * @param $content Content for previously opened sub group, or leave empty to use div/span of openener * @return void * @throws HelperNoPreviousOpenedSubGroupException If no previously opened sub group was found */ - public function closePreviousSubGroupByContent ($content) { + public function closePreviousSubGroupByContent ($content = "") { // Check if any sub group was opened before - if (!$this->ifSubGroupOpenedPreviously()) { + if ($this->ifSubGroupOpenedPreviously() === false) { // Then throw an exception throw new HelperNoPreviousOpenedSubGroupException(array($this, $content), self::EXCEPTION_NO_PREVIOUS_SUB_GROUP_OPENED); } // END - if @@ -324,8 +340,14 @@ class BaseHelper extends BaseFrameworkSystem { // Get previous sub group $subGroupId = $this->getPreviousSubGroupId(); + // Is the content empty? + if ((empty($content)) && (!empty($this->subGroups[$subGroupId]['tag']))) { + // Get it from opener + $content = sprintf("", $subGroupId, $this->subGroups[$subGroupId]['tag']); + } // END - if + // Add content to it and mark it as closed - $this->subGroups[$subGroupId]['content'] .= $content."\n"; + $this->subGroups[$subGroupId]['content'] .= sprintf("%s\n", $subGroupId, strlen($content), $this->subGroups[$subGroupId]['tag'], $content); $this->subGroups[$subGroupId]['opened'] = false; // Mark previous sub group as closed @@ -356,19 +378,18 @@ class BaseHelper extends BaseFrameworkSystem { // Is this a group and is it closed? if ((isset($this->groups[$idx])) && ($this->groups[$this->groups[$idx]]['opened'] === false)) { // Then add it's content - $groupContent = $this->groups[$this->groups[$idx]]['content']; + $groupContent = trim($this->groups[$this->groups[$idx]]['content']); //* DEBUG: */ echo "group={$this->groups[$idx]},content=
".htmlentities($groupContent)."

\n"; $content .= $groupContent; } elseif ((isset($this->subGroups[$idx])) && ($this->subGroups[$this->subGroups[$idx]]['opened'] === false)) { // Then add it's content $subGroupContent = $this->subGroups[$this->subGroups[$idx]]['content']; //* DEBUG: */ echo "subgroup={$this->subGroups[$idx]},content=
".htmlentities($subGroupContent)."

\n"; - $content .= $subGroupContent; + $content .= trim($subGroupContent); } else { // Something went wrong - $this->debugInstance(); + $this->debugInstance(__METHOD__."(): Something unexpected happened here."); } - } // END - for // Is footer content there? diff --git a/inc/classes/main/helper/web/class_BaseWebHelper.php b/inc/classes/main/helper/web/class_BaseWebHelper.php index 19b5be3d8..0da3e0a10 100644 --- a/inc/classes/main/helper/web/class_BaseWebHelper.php +++ b/inc/classes/main/helper/web/class_BaseWebHelper.php @@ -64,6 +64,16 @@ class BaseWebHelper extends BaseHelper { return $required; } + /** + * Checks wether for birthday shall be asked + * + * @return $required Wether birthday shall be asked + */ + public function ifProfileIncludesBirthDay () { + $required = ($this->getConfigInstance()->readConfig('profile_includes_birthday') === "Y"); + return $required; + } + /** * Checks wether email addresses can only be once used * diff --git a/inc/classes/main/helper/web/forms/class_WebFormHelper.php b/inc/classes/main/helper/web/forms/class_WebFormHelper.php index 2f3502c9e..1fffb7af1 100644 --- a/inc/classes/main/helper/web/forms/class_WebFormHelper.php +++ b/inc/classes/main/helper/web/forms/class_WebFormHelper.php @@ -378,7 +378,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { } // END - if // At least the group name should be set - if ((empty($groupId)) && (!$this->ifGroupOpenedPreviously())) { + if ((empty($groupId)) && ($this->ifGroupOpenedPreviously() === false)) { // Throw exception here throw new EmptyVariableException(array($this, 'groupId'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING); } elseif (empty($groupId)) { @@ -387,7 +387,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { } // Same group to open? - if ((!$this->ifGroupOpenedPreviously()) && ($groupId == $this->getPreviousGroupId())) { + if (($this->ifGroupOpenedPreviously() === false) && ($groupId === $this->getPreviousGroupId())) { // Abort here silently return false; } // END - if @@ -396,7 +396,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { $content = " \n"; // Is this group opened? - if (!$this->ifGroupOpenedPreviously()) { + if ($this->ifGroupOpenedPreviously() === false) { // Begin the div/span blocks $content = sprintf("
@@ -412,7 +412,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { ); // Switch the state - $this->openGroupByIdContent($groupId, $content); + $this->openGroupByIdContent($groupId, $content, "div"); } else { // Is a sub group opened? if ($this->ifSubGroupOpenedPreviously()) { @@ -426,7 +426,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { // Switch the state $this->closePreviousGroupByContent($content); - // All call it again if the group name is not empty + // All call it again if group name is not empty if ((!empty($groupId)) && ($groupId != $prevGroupId)) { //* DEBUG: */ echo $groupId."/".$prevGroupId."
\n"; $this->addFormGroup($groupId, $groupText); @@ -436,8 +436,8 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { /** * Add a form sub group or close an already opened and open a new one or - * throws an exception if no group has been opened before or if the sub - * group name is empty. + * throws an exception if no group has been opened before or if sub group + * name is empty. * * @param $subGroupId Name of the group or last opened if empty * @param $subGroupText Text including HTML to show above this group @@ -447,13 +447,13 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { */ public function addFormSubGroup ($subGroupId = "", $subGroupText = "") { // Is a group opened? - if (!$this->ifGroupOpenedPreviously()) { + if ($this->ifGroupOpenedPreviously() === false) { // Throw exception here throw new FormFormClosedException(array($this, $subGroupId), self::EXCEPTION_UNEXPECTED_CLOSED_GROUP); } // END - if // At least the sub group name should be set - if ((empty($subGroupId)) && (!$this->ifSubGroupOpenedPreviously())) { + if ((empty($subGroupId)) && ($this->ifSubGroupOpenedPreviously() === false)) { // Throw exception here throw new EmptyVariableException(array($this, 'subGroupId'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING); } elseif (empty($subGroupId)) { @@ -462,7 +462,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { } // Same sub group to open? - if ((!$this->ifSubGroupOpenedPreviously()) && ($subGroupId == $this->getPreviousSubGroupId())) { + if (($this->ifSubGroupOpenedPreviously() === false) && ($subGroupId == $this->getPreviousSubGroupId())) { // Abort here silently return false; } // END - if @@ -471,7 +471,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { $content = "
\n"; // Is this group opened? - if (!$this->ifSubGroupOpenedPreviously()) { + if ($this->ifSubGroupOpenedPreviously() === false) { // Begin the span block $content = sprintf("
@@ -487,7 +487,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { ); // Switch the state and remeber the name - $this->openSubGroupByIdContent($subGroupId, $content); + $this->openSubGroupByIdContent($subGroupId, $content, "div"); } else { // Get previous sub group id $prevSubGroupId = $this->getPreviousSubGroupId(); @@ -552,12 +552,6 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { throw new FormClosedException (array($this, "form_notes"), self::EXCEPTION_CLOSED_FORM); } // END - if - // Is a group open? - if ($this->ifGroupOpenedPreviously()) { - // Then automatically close it here - $this->addFormGroup(); - } // END - if - // Generate the content $inputContent = sprintf("
%s @@ -587,7 +581,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { } // END - if // Shall we close or open the sub group? - if ((!$this->ifSubGroupOpenedPreviously()) && ($this->getPreviousSubGroupId() !== $selectId)) { + if (($this->ifSubGroupOpenedPreviously() === false) && ($this->getPreviousSubGroupId() !== $selectId)) { // Initialize first entry (which might be non-selectable if content is provided if (!empty($firstEntry)) { // Add selection around it @@ -605,10 +599,10 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { ); // Open the sub group - $this->openSubGroupByIdContent($selectId, $content); + $this->openSubGroupByIdContent($selectId, $content, "select"); } elseif ($this->getPreviousSubGroupId() != $selectId) { // Something went wrong! - $this->debugInstance(); + $this->debugInstance(__METHOD__."(): Previous sub group id {$this->getPreviousSubGroupId()} does not match current id {$selectId}."); } else { // Close the sub group $this->closePreviousSubGroupByContent(""); @@ -628,14 +622,13 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { */ public function addSelectSubOption ($subName, $subValue) { // Is there a sub group (shall be a selection box!) - if (!$this->ifSubGroupOpenedPreviously()) { + if ($this->ifSubGroupOpenedPreviously() === false) { // Then throw an exception here throw new HelperNoPreviousOpenedSubGroupException(array($this, $content), self::EXCEPTION_NO_PREVIOUS_SUB_GROUP_OPENED); } // END - if // Render the content - $content = sprintf("\n", - $subName, + $content = sprintf("\n", $subName, $subValue ); @@ -657,7 +650,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate { */ public function addSelectOption ($optionName, $optionValue) { // Is there a sub group (shall be a selection box!) - if (!$this->ifSubGroupOpenedPreviously()) { + if ($this->ifSubGroupOpenedPreviously() === false) { // Then throw an exception here throw new HelperNoPreviousOpenedSubGroupException(array($this, $content), self::EXCEPTION_NO_PREVIOUS_SUB_GROUP_OPENED); } // END - if diff --git a/inc/classes/main/helper/web/links/class_WebLinkHelper.php b/inc/classes/main/helper/web/links/class_WebLinkHelper.php index 40d9c6666..1a238a6d2 100644 --- a/inc/classes/main/helper/web/links/class_WebLinkHelper.php +++ b/inc/classes/main/helper/web/links/class_WebLinkHelper.php @@ -63,6 +63,9 @@ class WebLinkHelper extends BaseWebHelper implements HelpableTemplate { // Set link base $helperInstance->setLinkBase($linkBase); + // Add default group + $helperInstance->openGroupByIdContent('main', "", ""); + // Return the prepared instance return $helperInstance; } @@ -136,7 +139,7 @@ class WebLinkHelper extends BaseWebHelper implements HelpableTemplate { // Is a previous opened group still open? if ($this->ifGroupOpenedPreviously()) { // Then close it - $this->closePreviousGroupByContent("
"); + $this->closePreviousGroupByContent(""); } // END - if // Get the content @@ -155,49 +158,59 @@ class WebLinkHelper extends BaseWebHelper implements HelpableTemplate { * * @param $groupId Id string of the group * @param $groupText Text for this group to add + * @param $groupCode Code to open and close groups * @return void */ - public function addLinkGroup ($groupId, $groupText) { + public function addLinkGroup ($groupId, $groupText, $groupCode = "div") { // Is a group with that name open? - if ($this->ifGroupIsOpened($groupId)) { + if ($this->ifGroupOpenedPreviously()) { // Then close it here - $this->closePreviousGroupByContent("
"); - } else { - // Is a previous opened group still open? - if ($this->ifGroupOpenedPreviously()) { - // Then close it - $this->closePreviousGroupByContent(""); - } // END - if - - // Generate the group content - $content = sprintf("
%s", - $this->getLinkName(), - $groupId, - $groupText - ); - - // Open the new group - $this->openGroupByIdContent($groupId, $content); - } + $this->closePreviousGroupByContent(""); + } // END - if + + // Generate the group content + $content = sprintf("<{$groupCode} id=\"group_%s_%s\">%s", + $this->getLinkName(), + $groupId, + $groupText + ); + + // Open the new group + $this->openGroupByIdContent($groupId, $content, $groupCode); } /** * Adds text (note) to the previously opened group or throws an exception * if no previous group was opened. * + * @param $groupId Group id to set * @param $groupNote Note to be added to a group + * @param $groupCode Code to open and close groups * @return void * @throws NoGroupOpenedException If no previous group was opened */ - public function addLinkNote ($groupNote) { + public function addLinkNote ($groupId, $groupNote, $groupCode = "div") { // Check if a previous group was opened - if (!$this->ifGroupOpenedPreviously()) { + if ($this->ifGroupOpenedPreviously() === false) { // No group was opened before! throw new NoGroupOpenedException(array($this, $groupNote), self::EXCEPTION_GROUP_NOT_OPENED); } // END - if - // Add the content to the previous group - $this->addContentToPreviousGroup($groupNote); + // Is a previous sub group open? + if ($this->ifSubGroupOpenedPreviously()) { + // Then close it + $this->closePreviousSubGroupByContent(""); + } // END - if + + // Generate the group content + $content = sprintf("<{$groupCode} id=\"subgroup_%s_%s\">%s", + $this->getLinkName(), + $groupId, + $groupNote + ); + + // Open the sub group + $this->openSubGroupByIdContent($groupId, $content, $groupCode); } /** @@ -210,7 +223,7 @@ class WebLinkHelper extends BaseWebHelper implements HelpableTemplate { */ public function addActionLink ($linkAction, $linkText) { // Check if a previous group was opened - if (!$this->ifGroupOpenedPreviously()) { + if ($this->ifGroupOpenedPreviously() === false) { // No group was opened before! throw new NoGroupOpenedException(array($this, $linkAction."(".$linkText.")"), self::EXCEPTION_GROUP_NOT_OPENED); } // END - if @@ -238,6 +251,21 @@ class WebLinkHelper extends BaseWebHelper implements HelpableTemplate { $this->addContentToPreviousGroup($linkContent); } + /** + * Adds a link to the previously opened group with a text from language system + * + * @param $linkAction Action (action=xxx) value for the link + * @param $languageId Language id string to use + * @return void + */ + public function addActionLinkById ($linkAction, $languageId) { + // Resolve the language string + $languageResolved = $this->getLanguageInstance()->getMessage($languageId); + + // Add the action link + $this->addActionLink($linkAction, $languageResolved); + } + /** * Adds a default link (no extra parameters) to the content with specified * language id string. diff --git a/inc/classes/main/io/class_FrameworkDirectoryPointer.php b/inc/classes/main/io/class_FrameworkDirectoryPointer.php index e19b0675b..ccbb545e2 100644 --- a/inc/classes/main/io/class_FrameworkDirectoryPointer.php +++ b/inc/classes/main/io/class_FrameworkDirectoryPointer.php @@ -195,7 +195,7 @@ class FrameworkDirectoryPointer extends BaseFrameworkSystem { * @return void */ public final function setPointer ($dirPointer) { - // Sanity-check if the pointer is a valid directory resource + // Sanity-check if pointer is a valid directory resource if (is_resource($dirPointer) || is_null($dirPointer)) { // Is a valid resource $this->dirPointer = $dirPointer; diff --git a/inc/classes/main/io/class_FrameworkFileInputPointer.php b/inc/classes/main/io/class_FrameworkFileInputPointer.php index 172c02f70..35376e96c 100644 --- a/inc/classes/main/io/class_FrameworkFileInputPointer.php +++ b/inc/classes/main/io/class_FrameworkFileInputPointer.php @@ -178,7 +178,7 @@ class FrameworkFileInputPointer extends BaseFrameworkSystem { * @return void */ public final function setPointer ($filePointer) { - // Sanity-check if the pointer is a valid file resource + // Sanity-check if pointer is a valid file resource if (is_resource($filePointer) || is_null($filePointer)) { // Is a valid resource $this->filePointer = $filePointer; diff --git a/inc/classes/main/io/class_FrameworkFileOutputPointer.php b/inc/classes/main/io/class_FrameworkFileOutputPointer.php index 37c2285ea..84c8ed407 100644 --- a/inc/classes/main/io/class_FrameworkFileOutputPointer.php +++ b/inc/classes/main/io/class_FrameworkFileOutputPointer.php @@ -148,7 +148,7 @@ class FrameworkFileOutputPointer extends BaseFrameworkSystem { * @return void */ public final function setPointer ($filePointer) { - // Sanity-check if the pointer is a valid file resource + // Sanity-check if pointer is a valid file resource if (is_resource($filePointer) || is_null($filePointer)) { // Is a valid resource $this->filePointer = $filePointer; diff --git a/inc/classes/main/mailer/debug/class_DebugMailer.php b/inc/classes/main/mailer/debug/class_DebugMailer.php index 042ee6919..14bdd412d 100644 --- a/inc/classes/main/mailer/debug/class_DebugMailer.php +++ b/inc/classes/main/mailer/debug/class_DebugMailer.php @@ -101,7 +101,7 @@ class DebugMailer extends BaseMailer implements DeliverableMail { // Get the field from the value instance $fieldValue = $recipientList['values'][$variable]->getField($variable); - // Set it in the template engine + // Set it in template engine $templateInstance->assignVariable($variable, $fieldValue); } diff --git a/inc/classes/main/output/class_ConsoleOutput.php b/inc/classes/main/output/class_ConsoleOutput.php index bcc1fc5eb..51f5dcaf1 100644 --- a/inc/classes/main/output/class_ConsoleOutput.php +++ b/inc/classes/main/output/class_ConsoleOutput.php @@ -95,7 +95,7 @@ class ConsoleOutput extends BaseFrameworkSystem implements OutputStreamer { } } else { // Output it to the console - printf("%s\n", trim(html_entity_decode(strip_tags($outStream)))); + printf("%s\n", trim(html_entity_decode(strip_tags(stripslashes($outStream))))); } } diff --git a/inc/classes/main/output/class_WebOutput.php b/inc/classes/main/output/class_WebOutput.php index 7a508058d..e82c0b7af 100644 --- a/inc/classes/main/output/class_WebOutput.php +++ b/inc/classes/main/output/class_WebOutput.php @@ -84,7 +84,7 @@ class WebOutput extends BaseFrameworkSystem implements OutputStreamer, Registera * @return void */ public final function output ($outStream=false) { - print($outStream); + print(stripslashes($outStream)); } } diff --git a/inc/classes/main/points/class_UserPoints.php b/inc/classes/main/points/class_UserPoints.php index 17c22e254..e7b636f4f 100644 --- a/inc/classes/main/points/class_UserPoints.php +++ b/inc/classes/main/points/class_UserPoints.php @@ -72,7 +72,7 @@ class UserPoints extends BaseFrameworkSystem implements Registerable { // Now get a search criteria and set the user's name as criteria $criteriaInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class'); - $criteriaInstance->addCriteria('points_uid', $this->getUserInstance()->getUserName()); + $criteriaInstance->addCriteria("points_uid", $this->getUserInstance()->getUserName()); $criteriaInstance->setLimit(1); // Get result back @@ -80,7 +80,7 @@ class UserPoints extends BaseFrameworkSystem implements Registerable { // Do we have an entry? if ($resultInstance->next()) { - // Load points here - TODO! + // @TODO Load points here $this->partialStub("Load points here for comparison."); } // END - if diff --git a/inc/classes/main/reader/class_DefaultNewsReader.php b/inc/classes/main/reader/class_DefaultNewsReader.php index 4e5dbb105..b0dbac671 100644 --- a/inc/classes/main/reader/class_DefaultNewsReader.php +++ b/inc/classes/main/reader/class_DefaultNewsReader.php @@ -70,7 +70,7 @@ class DefaultNewsReader extends BaseFrameworkSystem implements ReadableNews, Reg $criteriaInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class'); // Add the page as criteria to it at lease - $criteriaInstance->addCriteria('page', $page); + $criteriaInstance->addCriteria("page", $page); // Add limitation from config $criteriaInstance->setLimit($this->getConfigInstance()->readConfig("news_{$page}_limit")); diff --git a/inc/classes/main/registration/class_BaseRegistration.php b/inc/classes/main/registration/class_BaseRegistration.php index 0cc004045..1ebf7e5b8 100644 --- a/inc/classes/main/registration/class_BaseRegistration.php +++ b/inc/classes/main/registration/class_BaseRegistration.php @@ -1,6 +1,6 @@ * @version 0.0.0 @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -abstract class BaseRegistration extends BaseFrameworkSystem implements UserRegister { +class BaseRegistration extends BaseFrameworkSystem { /** * Pre-registration filter chain */ diff --git a/inc/classes/main/registry/class_Registry.php b/inc/classes/main/registry/class_Registry.php index 2ca0382d3..9a8b64837 100644 --- a/inc/classes/main/registry/class_Registry.php +++ b/inc/classes/main/registry/class_Registry.php @@ -86,8 +86,8 @@ class Registry extends BaseFrameworkSystem implements Register { /** * Checks wether an instance key was found * - * @param $instanceKey The key holding an instance in the registry - * @return $exists Wether the key exists in the registry + * @param $instanceKey The key holding an instance in registry + * @return $exists Wether the key exists in registry */ public function instanceExists ($instanceKey) { // Does this key exists? @@ -115,7 +115,7 @@ class Registry extends BaseFrameworkSystem implements Register { * @return $objectInstance An instance we shall store */ public function getInstance ($instanceKey) { - // By default the instance is not in the registry + // By default the instance is not in registry $objectInstance = null; // Is the instance there? diff --git a/inc/classes/main/request/class_HttpRequest.php b/inc/classes/main/request/class_HttpRequest.php index 0241cfc19..0538512a3 100644 --- a/inc/classes/main/request/class_HttpRequest.php +++ b/inc/classes/main/request/class_HttpRequest.php @@ -83,17 +83,14 @@ class HttpRequest extends BaseFrameworkSystem implements Requestable { */ public function isRequestElementSet ($element) { // Is this element found? - if (!isset($this->requestData[$element])) { - // Then return false - return false; - } // END - if + $isSet = isset($this->requestData[$element]); - // All clear - return true; + // Return result + return $isSet; } /** - * Getter for request element or 'null' if the element was not found + * Getter for request element or 'null' if element was not found * * @param $element Name of the request element we want to check * @return $value Value of the found request element or 'null' if the @@ -124,7 +121,6 @@ class HttpRequest extends BaseFrameworkSystem implements Requestable { * @return void */ public function setRequestElement ($element, $value) { - error_log(__METHOD__.":{$element}={$value}"); $this->requestData[$element] = $value; } @@ -138,7 +134,7 @@ class HttpRequest extends BaseFrameworkSystem implements Requestable { } /** - * Getter for a header element or 'null' if the header was not found + * Getter for a header element or 'null' if header was not found * * @param $headerName Name of the header * @return $headerValue Value of the header or 'null' if not found diff --git a/inc/classes/main/resolver/action/class_BaseActionResolver.php b/inc/classes/main/resolver/action/class_BaseActionResolver.php index 0c7f268fa..7e462cc5c 100644 --- a/inc/classes/main/resolver/action/class_BaseActionResolver.php +++ b/inc/classes/main/resolver/action/class_BaseActionResolver.php @@ -60,7 +60,7 @@ class BaseActionResolver extends BaseResolver { * @return void */ protected final function setActionName ($actionName) { - $this->actionName = $actionName; + $this->actionName = (string) $actionName; } /** @@ -68,7 +68,7 @@ class BaseActionResolver extends BaseResolver { * * @return $actionName Last validated action name */ - protected final function getActionName () { + public final function getActionName () { return $this->actionName; } @@ -77,7 +77,7 @@ class BaseActionResolver extends BaseResolver { * * @param $actionName The default action we shall execute * @return $isValid Wether the given action is valid - * @throws EmptyVariableException Thrown if the given action is not set + * @throws EmptyVariableException Thrown if given action is not set */ public function isActionValid ($actionName) { // By default nothing shall be valid @@ -112,8 +112,6 @@ class BaseActionResolver extends BaseResolver { * "Loads" current action and instances it if not yet cached * * @return $actionInstance A loaded action instance - * @throws InvalidActionException Thrown if even the default - * action class is missing (bad!) */ protected function loadAction () { // Init action instance diff --git a/inc/classes/main/resolver/action/web/class_WebActionResolver.php b/inc/classes/main/resolver/action/web/class_WebActionResolver.php index 83f5ddd77..6276b11d6 100644 --- a/inc/classes/main/resolver/action/web/class_WebActionResolver.php +++ b/inc/classes/main/resolver/action/web/class_WebActionResolver.php @@ -46,8 +46,8 @@ class WebActionResolver extends BaseActionResolver implements ActionResolver { * @param $actionName The default action we shall execute * @param $appInstance An instance of a manageable application helper class * @return $resolverInstance The prepared action resolver instance - * @throws EmptyVariableException Thrown if the default action is not set - * @throws InvalidActionException Thrown if the default action is invalid + * @throws EmptyVariableException Thrown if default action is not set + * @throws InvalidActionException Thrown if default action is invalid */ public final static function createWebActionResolver ($actionName, ManageableApplication $appInstance) { // Create the new instance @@ -57,7 +57,7 @@ class WebActionResolver extends BaseActionResolver implements ActionResolver { if (empty($actionName)) { // Then thrown an exception here throw new EmptyVariableException(array($resolverInstance, 'defaultAction'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING); - } elseif (!$resolverInstance->isActionValid($actionName)) { + } elseif ($resolverInstance->isActionValid($actionName) === false) { // Invalid action found throw new InvalidActionException(array($resolverInstance, $actionName), self::EXCEPTION_INVALID_ACTION); } @@ -91,8 +91,8 @@ class WebActionResolver extends BaseActionResolver implements ActionResolver { // Is the action empty? Then fall back to default action if (empty($actionName)) $actionName = $this->getConfigInstance()->readConfig('default_action'); - // Check if the action is valid - if (!$this->isActionValid($actionName)) { + // Check if action is valid + if ($this->isActionValid($actionName) === false) { // This action is invalid! throw new InvalidActionException(array($this, $actionName), self::EXCEPTION_INVALID_ACTION); } // END - if @@ -129,8 +129,8 @@ class WebActionResolver extends BaseActionResolver implements ActionResolver { // Is the action empty? Then fall back to default action if (empty($actionName)) $actionName = $this->getConfigInstance()->readConfig('default_action'); - // Check if the action is valid - if (!$this->isActionValid($actionName)) { + // Check if action is valid + if ($this->isActionValid($actionName) === false) { // This action is invalid! throw new InvalidActionException(array($this, $actionName), self::EXCEPTION_INVALID_ACTION); } diff --git a/inc/classes/main/resolver/command/class_BaseCommandResolver.php b/inc/classes/main/resolver/command/class_BaseCommandResolver.php index d1fa003a3..4900c617a 100644 --- a/inc/classes/main/resolver/command/class_BaseCommandResolver.php +++ b/inc/classes/main/resolver/command/class_BaseCommandResolver.php @@ -32,11 +32,6 @@ class BaseCommandResolver extends BaseResolver { */ private $commandName = ""; - /** - * A controller instance - */ - private $controllerInstance = null; - /** * Protected constructor * @@ -77,31 +72,12 @@ class BaseCommandResolver extends BaseResolver { return $this->commandName; } - /** - * 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; - } - /** * Checks wether the given command is valid * * @param $commandName The default command we shall execute * @return $isValid Wether the given command is valid - * @throws EmptyVariableException Thrown if the given command is not set + * @throws EmptyVariableException Thrown if given command is not set */ public function isCommandValid ($commandName) { // By default nothing shall be valid diff --git a/inc/classes/main/resolver/command/image/class_ImageCommandResolver.php b/inc/classes/main/resolver/command/image/class_ImageCommandResolver.php index ed8492c75..dc104e6a3 100644 --- a/inc/classes/main/resolver/command/image/class_ImageCommandResolver.php +++ b/inc/classes/main/resolver/command/image/class_ImageCommandResolver.php @@ -46,8 +46,8 @@ class ImageCommandResolver extends BaseCommandResolver implements CommandResolve * @param $commandName The default command we shall execute * @param $appInstance An instance of a manageable application helper class * @return $resolverInstance The prepared command resolver instance - * @throws EmptyVariableException Thrown if the default command is not set - * @throws InvalidCommandException Thrown if the default command is invalid + * @throws EmptyVariableException Thrown if default command is not set + * @throws InvalidCommandException Thrown if default command is invalid */ public final static function createImageCommandResolver ($commandName, ManageableApplication $appInstance) { // Create the new instance @@ -57,7 +57,7 @@ class ImageCommandResolver extends BaseCommandResolver implements CommandResolve if (empty($commandName)) { // Then thrown an exception here throw new EmptyVariableException(array($resolverInstance, 'commandName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING); - } elseif (!$resolverInstance->isCommandValid($commandName)) { + } elseif ($resolverInstance->isCommandValid($commandName) === false) { // Invalid command found throw new InvalidCommandException(array($resolverInstance, $commandName), self::EXCEPTION_INVALID_COMMAND); } @@ -91,8 +91,8 @@ class ImageCommandResolver extends BaseCommandResolver implements CommandResolve // Is the command empty? Then fall back to default command if (empty($commandName)) $commandName = $this->getConfigInstance()->readConfig('default_image_command'); - // Check if the command is valid - if (!$this->isCommandValid($commandName)) { + // Check if command is valid + if ($this->isCommandValid($commandName) === false) { // This command is invalid! throw new InvalidCommandException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND); } // END - if @@ -127,8 +127,8 @@ class ImageCommandResolver extends BaseCommandResolver implements CommandResolve // Is the command empty? Then fall back to default command if (empty($commandName)) $commandName = $this->getConfigInstance()->readConfig('default_image_command'); - // Check if the command is valid - if (!$this->isCommandValid($commandName)) { + // Check if command is valid + if ($this->isCommandValid($commandName) === false) { // This command is invalid! throw new InvalidCommandException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND); } diff --git a/inc/classes/main/resolver/command/web/class_WebCommandResolver.php b/inc/classes/main/resolver/command/web/class_WebCommandResolver.php index 165d2f788..42ae37a84 100644 --- a/inc/classes/main/resolver/command/web/class_WebCommandResolver.php +++ b/inc/classes/main/resolver/command/web/class_WebCommandResolver.php @@ -46,8 +46,8 @@ class WebCommandResolver extends BaseCommandResolver implements CommandResolver * @param $commandName The default command we shall execute * @param $appInstance An instance of a manageable application helper class * @return $resolverInstance The prepared command resolver instance - * @throws EmptyVariableException Thrown if the default command is not set - * @throws InvalidCommandException Thrown if the default command is invalid + * @throws EmptyVariableException Thrown if default command is not set + * @throws InvalidCommandException Thrown if default command is invalid */ public final static function createWebCommandResolver ($commandName, ManageableApplication $appInstance) { // Create the new instance @@ -57,7 +57,7 @@ class WebCommandResolver extends BaseCommandResolver implements CommandResolver if (empty($commandName)) { // Then thrown an exception here throw new EmptyVariableException(array($resolverInstance, 'commandName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING); - } elseif (!$resolverInstance->isCommandValid($commandName)) { + } elseif ($resolverInstance->isCommandValid($commandName) === false) { // Invalid command found throw new InvalidCommandException(array($resolverInstance, $commandName), self::EXCEPTION_INVALID_COMMAND); } @@ -91,8 +91,8 @@ class WebCommandResolver extends BaseCommandResolver implements CommandResolver // Is the command empty? Then fall back to default command if (empty($commandName)) $commandName = $this->getConfigInstance()->readConfig('default_web_command'); - // Check if the command is valid - if (!$this->isCommandValid($commandName)) { + // Check if command is valid + if ($this->isCommandValid($commandName) === false) { // This command is invalid! throw new InvalidCommandException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND); } // END - if @@ -127,8 +127,8 @@ class WebCommandResolver extends BaseCommandResolver implements CommandResolver // Is the command empty? Then fall back to default command if (empty($commandName)) $commandName = $this->getConfigInstance()->readConfig('default_web_command'); - // Check if the command is valid - if (!$this->isCommandValid($commandName)) { + // Check if command is valid + if ($this->isCommandValid($commandName) === false) { // This command is invalid! throw new InvalidCommandException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND); } diff --git a/inc/classes/main/resolver/controller/class_BaseControllerResolver.php b/inc/classes/main/resolver/controller/class_BaseControllerResolver.php index ec61d4e1c..a667fe6cf 100644 --- a/inc/classes/main/resolver/controller/class_BaseControllerResolver.php +++ b/inc/classes/main/resolver/controller/class_BaseControllerResolver.php @@ -77,8 +77,8 @@ class BaseControllerResolver extends BaseResolver { * * @param $controllerName The default controller we shall execute * @return $isValid Wether the given controller is valid - * @throws EmptyVariableException Thrown if the given controller is not set - * @throws DefaultControllerException If the default controller was not found + * @throws EmptyVariableException Thrown if given controller is not set + * @throws DefaultControllerException Thrown if default controller was not found */ public function isControllerValid ($controllerName) { // By default nothing shall be valid @@ -97,7 +97,7 @@ class BaseControllerResolver extends BaseResolver { )); // Try it hard to get an controller - while (!$isValid) { + while ($isValid === false) { // Is this class already loaded? if (class_exists($this->getClassName())) { // This class does exist. :-) diff --git a/inc/classes/main/resolver/controller/image/class_ImageControllerResolver.php b/inc/classes/main/resolver/controller/image/class_ImageControllerResolver.php index b2f4fcd81..39d88d167 100644 --- a/inc/classes/main/resolver/controller/image/class_ImageControllerResolver.php +++ b/inc/classes/main/resolver/controller/image/class_ImageControllerResolver.php @@ -51,8 +51,8 @@ class ImageControllerResolver extends BaseControllerResolver implements Controll * @param $controllerName The controller we shall resolve * @param $appInstance An instance of a manageable application helper class * @return $resolverInstance The prepared controller resolver instance - * @throws EmptyVariableException Thrown if the default command is not set - * @throws InvalidControllerException Thrown if the default controller is invalid + * @throws EmptyVariableException Thrown if default command is not set + * @throws InvalidControllerException Thrown if default controller is invalid */ public final static function createImageControllerResolver ($controllerName, ManageableApplication $appInstance) { // Create the new instance @@ -62,7 +62,7 @@ class ImageControllerResolver extends BaseControllerResolver implements Controll if (empty($controllerName)) { // Then thrown an exception here throw new EmptyVariableException(array($resolverInstance, 'commandName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING); - } elseif (!$resolverInstance->isControllerValid($controllerName)) { + } elseif ($resolverInstance->isControllerValid($controllerName) === false) { // Invalid command found throw new InvalidControllerException(array($resolverInstance, $controllerName), self::EXCEPTION_INVALID_CONTROLLER); } diff --git a/inc/classes/main/resolver/controller/web/class_WebControllerResolver.php b/inc/classes/main/resolver/controller/web/class_WebControllerResolver.php index da09dca31..537800609 100644 --- a/inc/classes/main/resolver/controller/web/class_WebControllerResolver.php +++ b/inc/classes/main/resolver/controller/web/class_WebControllerResolver.php @@ -51,8 +51,8 @@ class WebControllerResolver extends BaseControllerResolver implements Controller * @param $controllerName The controller we shall resolve * @param $appInstance An instance of a manageable application helper class * @return $resolverInstance The prepared controller resolver instance - * @throws EmptyVariableException Thrown if the default command is not set - * @throws InvalidControllerException Thrown if the default controller is invalid + * @throws EmptyVariableException Thrown if default command is not set + * @throws InvalidControllerException Thrown if default controller is invalid */ public final static function createWebControllerResolver ($controllerName, ManageableApplication $appInstance) { // Create the new instance @@ -62,7 +62,7 @@ class WebControllerResolver extends BaseControllerResolver implements Controller if (empty($controllerName)) { // Then thrown an exception here throw new EmptyVariableException(array($resolverInstance, 'commandName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING); - } elseif (!$resolverInstance->isControllerValid($controllerName)) { + } elseif ($resolverInstance->isControllerValid($controllerName) === false) { // Invalid command found throw new InvalidControllerException(array($resolverInstance, $controllerName), self::EXCEPTION_INVALID_CONTROLLER); } @@ -151,11 +151,26 @@ class WebControllerResolver extends BaseControllerResolver implements Controller throw new InvalidControllerException(array($this, $controllerName), self::EXCEPTION_INVALID_CONTROLLER); } // END - if + // Set default resolver config name + $resolverConfigEntry = ""; + + // Try to read a config entry for our resolver including controller name... ;-) + try { + // Create the resolver name + $resolverConfigEntry = sprintf("web_cmd_%s_resolver_class", strtolower($controllerName)); + + // Get the config, this will throw an exception if there is no special command resolver + $resolverClass = $this->getConfigInstance()->readConfig($resolverConfigEntry); + } catch (ConfigEntryNotFoundException $e) { + // Use default resolver entry + $resolverConfigEntry = "web_cmd_resolver_class"; + } + // Initiate the resolver and controller - $resolverInstance = ObjectFactory::createObjectByConfiguredName('web_cmd_resolver_class', array($controllerName, $this->getApplicationInstance())); + $resolverInstance = ObjectFactory::createObjectByConfiguredName($resolverConfigEntry, array($controllerName, $this->getApplicationInstance())); $controllerInstance = ObjectFactory::createObjectByName($this->getClassName(), array($resolverInstance)); - // Remove resolver + // Remove resolver (we don't need it anymore) unset($resolverInstance); // Return the result diff --git a/inc/classes/main/response/class_BaseResponse.php b/inc/classes/main/response/class_BaseResponse.php index 2ecfaa2ba..1bbf57483 100644 --- a/inc/classes/main/response/class_BaseResponse.php +++ b/inc/classes/main/response/class_BaseResponse.php @@ -132,6 +132,17 @@ class BaseResponse extends BaseFrameworkSystem { $this->fatalMessages[] = $this->getApplicationInstance()->getLanguageInstance()->getMessage($messageId); } + /** + * Adds a plain fatal message id to the response + * + * @param $message The plain message we shall add + * @return void + */ + public final function addFatalMessagePlain ($message) { + // Adds the resolved message id to the fatal message list + $this->fatalMessages[] = $message; + } + /** * Flushs the cached HTTP response to the outer world * @@ -142,7 +153,7 @@ class BaseResponse extends BaseFrameworkSystem { * already sent */ public function flushBuffer ($force = false) { - if ((headers_sent()) && (!$force)) { + if ((headers_sent()) && ($force === false)) { // Headers are already sent! throw new ResponseHeadersAlreadySentException($this, self::EXCEPTION_HEADERS_ALREADY_SENT); } elseif (!headers_sent()) { diff --git a/inc/classes/main/result/class_DatabaseResult.php b/inc/classes/main/result/class_DatabaseResult.php index 3f8918b79..94fe3b5de 100644 --- a/inc/classes/main/result/class_DatabaseResult.php +++ b/inc/classes/main/result/class_DatabaseResult.php @@ -51,6 +51,11 @@ class DatabaseResult extends BaseFrameworkSystem implements SearchableResult, Up */ private $affectedRows = 0; + /** + * Found value + */ + private $foundValue = ""; + /** * Protected constructor * @@ -114,7 +119,7 @@ class DatabaseResult extends BaseFrameworkSystem implements SearchableResult, Up /** * "Iterator" method next() to advance to the next valid entry. This method - * does also check if the result is invalid + * does also check if result is invalid * * @return $nextValid Wether the next entry is valid */ @@ -208,16 +213,17 @@ class DatabaseResult extends BaseFrameworkSystem implements SearchableResult, Up } /** - * Rewind to the beginning + * Rewind to the beginning and clear array $currentRow * * @return void */ public function rewind () { $this->currentPos = -1; + $this->currentRow = array(); } /** - * Searches for an entry in the data result and returns it + * Searches for an entry in data result and returns it * * @param $criteriaInstance The criteria to look inside the data set * @return $result Found result entry @@ -291,6 +297,15 @@ class DatabaseResult extends BaseFrameworkSystem implements SearchableResult, Up return $this->affectedRows; } + /** + * Getter for found value of previous found() call + * + * @return $foundValue Found value of previous found() call + */ + public final function getFoundValue () { + return $this->foundValue; + } + /** * Checks wether we have out-dated entries or not * @@ -308,25 +323,80 @@ class DatabaseResult extends BaseFrameworkSystem implements SearchableResult, Up * @return void */ public function addElementsToDataSet (StoreableCriteria $criteriaInstance) { + // Walk only through out-dated columns + foreach ($this->outDated as $key => $dummy) { + // Does this key exist? + //* DEBUG: */ echo "outDated: {$key}
\n"; + if ($this->find($key)) { + // Then update it + $criteriaInstance->addCriteria($key, $this->getFoundValue()); + } // END - if + } // END - foreach + } + + /** + * Find a key inside the result array + * + * @param $key The key we shall find + * @return $found Wether the key was found or not + */ + public function find ($key) { + // By default nothing is found + $found = false; + // Rewind the pointer $this->rewind(); // Walk through all entries while ($this->valid()) { - // Get next entry + // Advance to next entry $this->next(); + + // Get the whole array $currentEntry = $this->current(); - // Walk only through out-dated columns - foreach ($this->outDated as $key => $dummy) { - // Does this key exist? - //* DEBUG: */ echo "outDated: {$key}
\n"; - if (isset($currentEntry[$key])) { - // Then update it - $criteriaInstance->addCriteria($key, $currentEntry[$key]); - } // END - foreach - } // END - foreach + // Is the element there? + if (isset($currentEntry[$key])) { + // Okay, found! + $found = true; + + // So "cache" it + $this->foundValue = $currentEntry[$key]; + + // And stop searching + break; + } // END - if } // END - while + + // Return the result + return $found; + } + + /** + * Solver for result index value with call-back method + * + * @param $databaseColumn Database column where the index might be found + * @param $wrapperInstance The wrapper instance to ask for array element + * @para $callBack Call-back object for setting the index; + * 0=object instance,1=method name + * @return void +4 * @todo Find a caching way without modifying the result array + */ + public function solveResultIndex ($databaseColumn, BaseDatabaseWrapper $wrapperInstance, array $callBack) { + // By default nothing is found + $indexValue = 0; + + // Is the element in result itself found? + if ($this->find($databaseColumn)) { + // Use this value + $indexValue = $this->getFoundValue(); + } elseif ($this->find($wrapperInstance->getIndexKey())) { + // Use this value + $indexValue = $this->getFoundValue(); + } + + // Set the index + call_user_func_array($callBack, array($indexValue)); } } diff --git a/inc/classes/main/template/class_BaseTemplateEngine.php b/inc/classes/main/template/class_BaseTemplateEngine.php index 7e1aa7c19..8690db6fe 100644 --- a/inc/classes/main/template/class_BaseTemplateEngine.php +++ b/inc/classes/main/template/class_BaseTemplateEngine.php @@ -1098,7 +1098,7 @@ class BaseTemplateEngine extends BaseFrameworkSystem { default: // Unknown type found // Construct message - $msg = sprintf("[%s->%s] Unknown/unsupported template type %s detected.", + $msg = sprintf("[%s->%s] Unknown/unsupported template type %s detected.", $this->__toString(), __FUNCTION__, $this->getTemplateType() @@ -1172,7 +1172,7 @@ class BaseTemplateEngine extends BaseFrameworkSystem { * @return void */ public function transferToResponse (Responseable $responseInstance) { - // Get the content and set it in the response class + // Get the content and set it in response class $responseInstance->writeToBody($this->getCompiledData()); } diff --git a/inc/classes/main/user/class_BaseUser.php b/inc/classes/main/user/class_BaseUser.php index 0a3432de3..b00a0730f 100644 --- a/inc/classes/main/user/class_BaseUser.php +++ b/inc/classes/main/user/class_BaseUser.php @@ -32,6 +32,11 @@ class BaseUser extends BaseFrameworkSystem { */ private $userName = ""; + /** + * User id of current user + */ + private $userId = 0; + /** * Email of current user */ @@ -59,26 +64,46 @@ class BaseUser extends BaseFrameworkSystem { * @return void */ public final function setUserName ($userName) { - $this->userName = $userName; + $this->userName = (string) $userName; } /** - * Setter for email + * Getter for username * - * @param $email The email to set + * @return $userName The username to get + */ + public final function getUserName () { + return $this->userName; + } + + /** + * Setter for user id + * + * @param $userId The user id to set * @return void + * @todo Find a way of casting here. "(int)" might destroy the user id > 32766 */ - protected final function setEmail ($email) { - $this->email = $email; + public final function setUserId ($userId) { + $this->userId = $userId; } /** - * Getter for username + * Getter for user id * - * @return $userName The username to get + * @return $userId The user id to get */ - public final function getUsername () { - return $this->userName; + public final function getUserId () { + return $this->userId; + } + + /** + * Setter for email + * + * @param $email The email to set + * @return void + */ + protected final function setEmail ($email) { + $this->email = (string) $email; } /** @@ -108,15 +133,21 @@ class BaseUser extends BaseFrameworkSystem { $criteriaInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class'); // Add the username as a criteria and set limit to one entry - $criteriaInstance->addCriteria(UserDatabaseWrapper::DB_COLUMN_USERNAME, $this->getUsername()); + $criteriaInstance->addCriteria(UserDatabaseWrapper::DB_COLUMN_USERNAME, $this->getUserName()); $criteriaInstance->setLimit(1); // Get a search result - $this->setResultInstance($wrapperInstance->doSelectByCriteria($criteriaInstance)); - } else { - // Rewind it - $this->getResultInstance()->rewind(); - } + $resultInstance = $wrapperInstance->doSelectByCriteria($criteriaInstance); + + // Set the index "solver" + $resultInstance->solveResultIndex(UserDatabaseWrapper::DB_COLUMN_USERID, $wrapperInstance, array($this, 'setUserId')); + + // And finally set it + $this->setResultInstance($resultInstance); + } // END - if + + // Rewind it + $this->getResultInstance()->rewind(); // Search for it if ($this->getResultInstance()->next()) { @@ -149,12 +180,18 @@ class BaseUser extends BaseFrameworkSystem { $criteriaInstance->addCriteria(UserDatabaseWrapper::DB_COLUMN_EMAIL, $this->getEmail()); $criteriaInstance->setLimit(1); - // Get a search resultInstance - $this->setResultInstance($wrapperInstance->doSelectByCriteria($criteriaInstance)); - } else { - // Rewind it - $this->getResultInstance()->rewind(); - } + // Get a search result + $resultInstance = $wrapperInstance->doSelectByCriteria($criteriaInstance); + + // Set the index "solver" + $resultInstance->solveResultIndex(UserDatabaseWrapper::DB_COLUMN_USERID, $wrapperInstance, array($this, 'setUserId')); + + // And finally set it + $this->setResultInstance($resultInstance); + } // END - if + + // Rewind it + $this->getResultInstance()->rewind(); // Search for it if ($this->getResultInstance()->next()) { @@ -176,8 +213,8 @@ class BaseUser extends BaseFrameworkSystem { } /** - * Checks if the supplied password hash in request matches with the stored - * in database. + * Checks if supplied password hash in request matches with the stored in + * database. * * @param $requestInstance A requestable class instance * @return $matches Wether the supplied password hash matches @@ -186,27 +223,36 @@ class BaseUser extends BaseFrameworkSystem { // By default nothing matches... ;) $matches = false; - // Get a UserDatabaseWrapper instance - $wrapperInstance = ObjectFactory::createObjectByConfiguredName('user_db_wrapper_class'); + // Is a previous result there? + if (is_null($this->getResultInstance())) { + // Get a UserDatabaseWrapper instance + $wrapperInstance = ObjectFactory::createObjectByConfiguredName('user_db_wrapper_class'); + + // Create a search criteria + $criteriaInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class'); + + // Add the username as a criteria and set limit to one entry + $criteriaInstance->addCriteria(UserDatabaseWrapper::DB_COLUMN_USERNAME, $this->getUserName()); + $criteriaInstance->setLimit(1); + + // Get a search result + $resultInstance = $wrapperInstance->doSelectByCriteria($criteriaInstance); - // Create a search criteria - $criteriaInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class'); + // Set the index "solver" + $resultInstance->solveResultIndex(UserDatabaseWrapper::DB_COLUMN_USERID, $wrapperInstance, array($this, 'setUserId')); - // Add the username as a criteria and set limit to one entry - $criteriaInstance->addCriteria(UserDatabaseWrapper::DB_COLUMN_USERNAME, $this->getUserName()); - $criteriaInstance->setLimit(1); + // And finally set it + $this->setResultInstance($resultInstance); + } // END - if - // Get a search resultInstance - $this->setResultInstance($wrapperInstance->doSelectByCriteria($criteriaInstance)); + // Rewind it + $this->getResultInstance()->rewind(); // Search for it - if ($this->getResultInstance()->next()) { - // Get the current entry (can only be one!) - $entry = $this->getResultInstance()->current(); - + if ($this->getResultInstance()->find('pass_hash')) { // So does the hashes match? //* DEBUG: */ echo $requestInstance->getRequestElement('pass_hash')."/".$entry['pass_hash']; - $matches = ($requestInstance->getRequestElement('pass_hash') === $entry['pass_hash']); + $matches = ($requestInstance->getRequestElement('pass_hash') === $this->getResultInstance()->getFoundValue()); } // END - if // Return the status diff --git a/inc/classes/main/user/guest/class_Guest.php b/inc/classes/main/user/guest/class_Guest.php index 84405dc47..2362921be 100644 --- a/inc/classes/main/user/guest/class_Guest.php +++ b/inc/classes/main/user/guest/class_Guest.php @@ -39,8 +39,8 @@ class Guest extends BaseUser implements ManageableGuest, Registerable { /** * Creates an instance of this user class by a provided username. This - * factory method will check if the username is already taken and if not - * so it will throw an exception. + * factory method will check if username is already taken and if not so it + * will throw an exception. * * @param $userName Username we need a class instance for * @return $userInstance An instance of this user class @@ -53,11 +53,11 @@ class Guest extends BaseUser implements ManageableGuest, Registerable { // Set the username $userInstance->setUserName($userName); - // Check if the username exists - if (!$userInstance->ifUsernameExists()) { + // Check if username exists + if ($userInstance->ifUsernameExists() === false) { // Throw an exception here throw new UsernameMissingException(array($userInstance, $userName), self::EXCEPTION_USERNAME_NOT_FOUND); - } + } // END - if // Return the instance return $userInstance; @@ -65,7 +65,7 @@ class Guest extends BaseUser implements ManageableGuest, Registerable { /** * Creates an instance of this user class by a provided email address. This - * factory method will not check if the email address is there. + * factory method will not check if email address is there. * * @param $email Email address of the user * @return $userInstance An instance of this user class diff --git a/inc/classes/main/user/member/class_Member.php b/inc/classes/main/user/member/class_Member.php index 141f1de38..b67ad88b9 100644 --- a/inc/classes/main/user/member/class_Member.php +++ b/inc/classes/main/user/member/class_Member.php @@ -47,8 +47,8 @@ class Member extends BaseUser implements ManageableMember, Registerable, Updatea /** * Creates an instance of this user class by a provided username. This - * factory method will check if the username is already taken and if not - * so it will throw an exception. + * factory method will check if username is already taken and if not so it + * will throw an exception. * * @param $userName Username we need a class instance for * @return $userInstance An instance of this user class @@ -61,11 +61,11 @@ class Member extends BaseUser implements ManageableMember, Registerable, Updatea // Set the username $userInstance->setUserName($userName); - // Check if the username exists - if (!$userInstance->ifUsernameExists()) { + // Check if username exists + if ($userInstance->ifUsernameExists() === false) { // Throw an exception here throw new UsernameMissingException(array($userInstance, $userName), self::EXCEPTION_USERNAME_NOT_FOUND); - } + } // END - if // Return the instance return $userInstance; @@ -73,7 +73,7 @@ class Member extends BaseUser implements ManageableMember, Registerable, Updatea /** * Creates an instance of this user class by a provided email address. This - * factory method will not check if the email address is there. + * factory method will not check if email address is there. * * @param $email Email address of the user * @return $userInstance An instance of this user class @@ -144,8 +144,8 @@ class Member extends BaseUser implements ManageableMember, Registerable, Updatea $updateInstance = ObjectFactory::createObjectByConfiguredName('update_criteria_class'); // And add our both entries - $updateInstance->addCriteria('last_activity', date("Y-m-d H:i:s", time())); - $updateInstance->addCriteria('last_action', $lastAction); + $updateInstance->addCriteria("last_activity", date("Y-m-d H:i:s", time())); + $updateInstance->addCriteria("last_action", $lastAction); // Add the search criteria for searching for the right entry $updateInstance->setSearchInstance($searchInstance); diff --git a/inc/classes/middleware/compressor/class_CompressorChannel.php b/inc/classes/middleware/compressor/class_CompressorChannel.php index 266cf6fac..6d3ede256 100644 --- a/inc/classes/middleware/compressor/class_CompressorChannel.php +++ b/inc/classes/middleware/compressor/class_CompressorChannel.php @@ -61,7 +61,7 @@ class CompressorChannel extends BaseMiddleware implements Registerable { // Read all directories but no sub directories while ($dir = $dirPointer->readDirectoryExcept(array("..", ".", ".htaccess", ".svn"))) { // Is this a class file? - if ((substr($dir, 0, 6) == "class_") && (substr($dir, -4, 4) == FrameworkConfiguration::getInstance()->readConfig('php_extension'))) { + if ((substr($dir, 0, 6) == "class_") && (substr($dir, -4, 4) == ".php")) { // Get the compressor's name. That's why you must name // your files like your classes and also that's why you // must keep on class in one file. diff --git a/inc/classes/middleware/database/class_DatabaseConnection.php b/inc/classes/middleware/database/class_DatabaseConnection.php index 736ea4b50..6f0a4e1ef 100644 --- a/inc/classes/middleware/database/class_DatabaseConnection.php +++ b/inc/classes/middleware/database/class_DatabaseConnection.php @@ -98,6 +98,15 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re $this->dbLayer = $dbLayer; } + /** + * Getter for index key + * + * @return $indexKey Index key + */ + public final function getIndexKey () { + return $this->dbLayer->getIndexKey(); + } + /** * Runs a "select" statement on the database layer with given table name * and criteria. If this doesn't fail the result will be returned diff --git a/inc/config.php b/inc/config.php index d50782a1d..143ad06ca 100644 --- a/inc/config.php +++ b/inc/config.php @@ -30,10 +30,10 @@ @require_once(dirname(__FILE__) . '/config/class_FrameworkConfiguration.php'); // Get a new configuration instance -$cfg = FrameworkConfiguration::createFrameworkConfiguration(); +$cfg = FrameworkConfiguration::getInstance(); // CFG: SERVER-PATH -$cfg->setConfigEntry('base_path', (dirname(dirname(__FILE__)) . '/')); // DON'T MISS THE TRAILING SLASH!!! +$cfg->setConfigEntry('base_path', (dirname(dirname(__FILE__)) . '/')); // CFG: BASE-URL $cfg->setConfigEntry('base_url', $cfg->detectBaseUrl()); @@ -50,9 +50,6 @@ $cfg->setDefaultTimezone("Europe/Berlin"); // CFG: MAGIC-QUOTES-RUNTIME $cfg->setMagicQuotesRuntime(false); -// CFG: PHP-SCRIPT-EXTENSION -$cfg->setConfigEntry('php_extension', ".php"); - // CFG: CLASS-PREFIX $cfg->setConfigEntry('class_prefix', "class_"); @@ -75,19 +72,19 @@ $cfg->setConfigEntry('app_helper_class', "ApplicationHelper"); $cfg->setConfigEntry('entry_method', "entryPoint"); // CFG: TEMPLATE-BASE-PATH -$cfg->setConfigEntry('tpl_base_path', "templates/"); // DON'T MISS THE TRAILING SLASH! +$cfg->setConfigEntry('tpl_base_path', "templates/"); // CFG: LANGUAGE-BASE-PATH -$cfg->setConfigEntry('lang_base_path', "inc/language/"); // DON'T MISS THE TRAILING SLASH! +$cfg->setConfigEntry('lang_base_path', "inc/language/"); // CFG: COMPRESSOR-BASE-PATH -$cfg->setConfigEntry('compressor_base_path', "inc/classes/main/compressor/"); // DON'T MISS THE TRAILING SLASH! +$cfg->setConfigEntry('compressor_base_path', "inc/classes/main/compressor/"); // CFG: APPLICATION-PATH $cfg->setConfigEntry('application_path', $cfg->readConfig('base_path') . "application/"); // CFG: COMPILE-OUTPUT-PATH -$cfg->setConfigEntry('compile_output_path', "templates/_compiled/"); // DON'T MISS THE TRAILING SLASH! +$cfg->setConfigEntry('compile_output_path', "templates/_compiled/"); // CFG: TEMPLATE-ENGINE $cfg->setConfigEntry('template_class', "WebTemplateEngine"); @@ -170,50 +167,50 @@ $cfg->setConfigEntry('file_input_class', "FileIoStream"); // CFG: FILE-OUTPUT-STREAM $cfg->setConfigEntry('file_output_class', "FileIoStream"); -// CFG: EMAIL-VALIDATOR -$cfg->setConfigEntry('email_validator_class', "EmailValidatorFilter"); +// CFG: EMAIL-VALIDATOR-FILTER +$cfg->setConfigEntry('email_validator_filter', "EmailValidatorFilter"); -// CFG: USERNAME-VALIDATOR -$cfg->setConfigEntry('username_validator_class', "UserNameValidatorFilter"); +// CFG: USERNAME-VALIDATOR-FILTER +$cfg->setConfigEntry('username_validator_filter', "UserNameValidatorFilter"); -// CFG: USERNAME-IS-GUEST -$cfg->setConfigEntry('username_is_guest_class', "UserNameIsGuestFilter"); +// CFG: USERNAME-IS-GUEST-FILTER +$cfg->setConfigEntry('username_is_guest_filter', "UserNameIsGuestFilter"); -// CFG: PASSWORD-VALIDATOR -$cfg->setConfigEntry('password_validator_class', "PasswordValidatorFilter"); +// CFG: PASSWORD-VALIDATOR-FILTER +$cfg->setConfigEntry('password_validator_filter', "PasswordValidatorFilter"); -// CFG: RULES-ACCEPTED-CLASS -$cfg->setConfigEntry('rules_accepted_class', "RulesAcceptedFilter"); +// CFG: RULES-ACCEPTED-FILTER +$cfg->setConfigEntry('rules_accepted_filter', "RulesAcceptedFilter"); -// CFG: USERNAME-VERIFIER-CLASS -$cfg->setConfigEntry('username_verifier_class', "UserNameVerifierFilter"); +// CFG: USERNAME-VERIFIER-FILTER +$cfg->setConfigEntry('username_verifier_filter', "UserNameVerifierFilter"); -// CFG: USER-GUEST-VERIFIER-CLASS -$cfg->setConfigEntry('user_guest_verifier_class', "UserGuestVerifierFilter"); +// CFG: USER-GUEST-VERIFIER-FILTER +$cfg->setConfigEntry('user_guest_verifier_filter', "UserGuestVerifierFilter"); -// CFG: EMAIL-VERIFIER -$cfg->setConfigEntry('email_verifier_class', "EmailVerifierFilter"); +// CFG: EMAIL-VERIFIER-FILTER +$cfg->setConfigEntry('email_verifier_filter', "EmailVerifierFilter"); -// CFG: PASSWORD-VERIFIER-CLASS -$cfg->setConfigEntry('password_verifier_class', "PasswordVerifierFilter"); +// CFG: PASSWORD-VERIFIER-FILTER +$cfg->setConfigEntry('password_verifier_filter', "PasswordVerifierFilter"); -// CFG: PASSWD-GUEST-VERIFIER-CLASS -$cfg->setConfigEntry('passwd_guest_verifier_class', "PasswordGuestVerifierFilter"); +// CFG: PASSWD-GUEST-VERIFIER-FILTER +$cfg->setConfigEntry('passwd_guest_verifier_filter', "PasswordGuestVerifierFilter"); -// CFG: EMAIL-CHANGE-CLASS -$cfg->setConfigEntry('email_change_class', "EmailChangeFilter"); +// CFG: EMAIL-CHANGE-FILTER +$cfg->setConfigEntry('email_change_filter', "EmailChangeFilter"); -// CFG: PASSWORD-CHANGE-CLASS -$cfg->setConfigEntry('password_change_class', "PasswordChangeFilter"); +// CFG: PASSWORD-CHANGE-FILTER +$cfg->setConfigEntry('password_change_filter', "PasswordChangeFilter"); -// CFG: ACCOUNT-PASSWORD-CLASS -$cfg->setConfigEntry('account_password_class', "AccountPasswordVerifierFilter"); +// CFG: ACCOUNT-PASSWORD-FILTER +$cfg->setConfigEntry('account_password_filter', "AccountPasswordVerifierFilter"); -// CFG: USER-STATUS-CLASS -$cfg->setConfigEntry('user_status_class', "UserStatusVerifierFilter"); +// CFG: USER-STATUS-FILTER +$cfg->setConfigEntry('user_status_filter', "UserStatusVerifierFilter"); -// CFG: USER-UNCONFIRMED-CLASS -$cfg->setConfigEntry('user_unconfirmed_class', "UserUnconfirmedVerifierFilter"); +// CFG: USER-UNCONFIRMED-FILTER +$cfg->setConfigEntry('user_unconfirmed_filter', "UserUnconfirmedVerifierFilter"); // CFG: CRYPTO-CLASS $cfg->setConfigEntry('crypto_class', "CryptoHelper"); @@ -267,7 +264,7 @@ $cfg->setConfigEntry('guest_class', "Guest"); $cfg->setConfigEntry('cookie_expire', (60*60*2)); // Two hours! // CFG: COOKIE-PATH -$cfg->setConfigEntry('cookie_path', dirname($_SERVER['SCRIPT_NAME']) . "/"); +$cfg->setConfigEntry('cookie_path', $cfg->detectScriptPath() . "/"); // CFG: COOKIE-DOMAIN $cfg->setConfigEntry('cookie_domain', $cfg->detectDomain()); // Is mostly the same... @@ -284,5 +281,8 @@ $cfg->setConfigEntry('db_update_primary_forced', "Y"); // CFG: GERMAN-DATE-TIME $cfg->setConfigEntry('german_date_time', "%3\$s.%2\$s.%1\$s, %4\$s:%5\$s:%6\$s"); +// CFG: PRODUCT-INSTALL-MODE +$cfg->setConfigEntry('product_install_mode', "debug"); + // [EOF] ?> diff --git a/inc/config/class_FrameworkConfiguration.php b/inc/config/class_FrameworkConfiguration.php index 8f6fa15f4..e3202603a 100644 --- a/inc/config/class_FrameworkConfiguration.php +++ b/inc/config/class_FrameworkConfiguration.php @@ -2,8 +2,8 @@ /** * A class for the configuration stuff implemented in a singleton design paddern * - * NOTE: We cannot put this in inc/classes/ because it would be loaded (again) - * in the class loader. See inc/loader/class_ClassLoader.php for instance + * NOTE: We cannot put this in inc/classes/ because it would be loaded (again) in + * class loader. See inc/loader/class_ClassLoader.php for instance * * @see ClassLoader * @author Roland Haeder @@ -51,46 +51,18 @@ class FrameworkConfiguration implements Registerable { // Empty for now } - /** - * "Create" a configuration instance - * - * @param $enableDebug Wether enable debug mode (default: off) - * @return $cfgInstance An instance of this configuration class - */ - public final static function createFrameworkConfiguration ($enableDebug = false) { - /** - * For singleton design pattern because we only need a one-time-run - * through the initial configuration. - */ - if (is_null(self::$cfgInstance)) { - // CFG: ERROR-REPORTING - @error_reporting(E_ALL | E_STRICT); - - /** - * Shall we enable the debug mode? - */ - if ($enableDebug) { - define('DEBUG_MODE', true); - } - - /** - * Crate a config instance - */ - self::$cfgInstance = new FrameworkConfiguration(); - } - - /** - * Return the instance - */ - return self::$cfgInstance; - } - /** * Getter for an instance of this class * * @return $cfgInstance An instance of this class */ public final static function getInstance () { + // is the instance there? + if (is_null(self::$cfgInstance)) { + // Create a config instance + self::$cfgInstance = new FrameworkConfiguration(); + } // END - if + return self::$cfgInstance; } @@ -231,7 +203,7 @@ class FrameworkConfiguration implements Registerable { } // END - if // Construct the full URL now and secure it against CSRF attacks - $baseUrl = $baseUrl . "://" . $this->detectDomain() . dirname($_SERVER['SCRIPT_NAME']); + $baseUrl = $baseUrl . "://" . $this->detectDomain() . $this->detectScriptPath(); // Return the URL return $baseUrl; @@ -256,6 +228,24 @@ class FrameworkConfiguration implements Registerable { return $fullDomain; } + /** + * Detect safely the script path without trailing slash which is the part + * between "http://your-domain.invalid/" and "script-name.php" + */ + public function detectScriptPath () { + // Default is empty + $scriptPath = ""; + + // Is the scriptname set? + if (isset($_SERVER['SCRIPT_NAME'])) { + // Get dirname of it + $scriptPath = dirname($_SERVER['SCRIPT_NAME']); + } // END - if + + // Return it + return $scriptPath; + } + /** * Getter for field name * diff --git a/inc/database.php b/inc/database.php index 03bc377ac..de0c7d884 100644 --- a/inc/database.php +++ b/inc/database.php @@ -29,10 +29,9 @@ $layerInstance = null; $cfg = FrameworkConfiguration::getInstance(); // Generate FQFN for the database layer -$INC = sprintf("%sinc/database/lib-%s%s", +$INC = sprintf("%sinc/database/lib-%s.php", $cfg->readConfig('base_path'), - $cfg->readConfig('db_type'), - $cfg->readConfig('php_extension') + $cfg->readConfig('db_type') ); // Load the database layer include @@ -53,31 +52,34 @@ unset($INC); try { $db = DatabaseConnection::createDatabaseConnection(DebugMiddleware::getInstance(), $layerInstance); } catch (NullPointerException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Database sub-system not initialized for the follwing reason: %s
\n", + ApplicationEntryPoint::app_die(sprintf("[Main:] Database sub-system not initialized for the follwing reason: %s
\n", $e->getMessage() )); } catch (InvalidDirectoryResourceException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Database sub-system not initialized for the follwing reason: %s
\n", + ApplicationEntryPoint::app_die(sprintf("[Main:] Database sub-system not initialized for the follwing reason: %s
\n", $e->getMessage() )); } catch (PathIsEmptyException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Database sub-system not initialized for the follwing reason: %s
\n", + ApplicationEntryPoint::app_die(sprintf("[Main:] Database sub-system not initialized for the follwing reason: %s
\n", $e->getMessage() )); } catch (PathIsNoDirectoryException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Database sub-system not initialized for the follwing reason: %s
\n", + ApplicationEntryPoint::app_die(sprintf("[Main:] Database sub-system not initialized for the follwing reason: %s
\n", $e->getMessage() )); } catch (PathReadProtectedException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Database sub-system not initialized for the follwing reason: %s
\n", + ApplicationEntryPoint::app_die(sprintf("[Main:] Database sub-system not initialized for the follwing reason: %s
\n", $e->getMessage() )); } catch (DirPointerNotOpenedException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Database sub-system not initialized for the follwing reason: %s
\n", + ApplicationEntryPoint::app_die(sprintf("[Main:] Database sub-system not initialized for the follwing reason: %s
\n", $e->getMessage() )); } +// Is the app variable there and valid? +if (is_object($app)) $app->setDatabaseInstance($db); + // Datenbankobjekt debuggen if (defined('DEBUG_DATABASE_OBJ')) { DebugMiddleware::getInstance()->output(sprintf("The database sub-system does now look like this:
diff --git a/inc/database/lib-local.php b/inc/database/lib-local.php index ae748c5de..9e9d5a663 100644 --- a/inc/database/lib-local.php +++ b/inc/database/lib-local.php @@ -26,23 +26,23 @@ try { $layerInstance = LocalFileDatabase::createLocalFileDatabase(FrameworkConfiguration::getInstance()->readConfig('local_db_path'), FileIoHandler::getInstance()); } catch (SavePathIsEmptyException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Database layer could not be initialized. Reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] Database layer could not be initialized. Reason: %s", $e->getMessage() )); } catch (SavePathNotFoundException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Database layer could not be initialized. Reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] Database layer could not be initialized. Reason: %s", $e->getMessage() )); } catch (SavePathIsNoDirectoryException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Database layer could not be initialized. Reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] Database layer could not be initialized. Reason: %s", $e->getMessage() )); } catch (SavePathReadProtectedException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Database layer could not be initialized. Reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] Database layer could not be initialized. Reason: %s", $e->getMessage() )); } catch (SavePathWriteProtectedException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] Database layer could not be initialized. Reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] Database layer could not be initialized. Reason: %s", $e->getMessage() )); } diff --git a/inc/file_io.php b/inc/file_io.php index 0a5ec9b4c..c141feabd 100644 --- a/inc/file_io.php +++ b/inc/file_io.php @@ -27,5 +27,8 @@ // Get the instance $io = ObjectFactory::createObjectByConfiguredName('file_io_class'); +// Is the app variable there and valid? +if (is_object($app)) $app->setFileIoInstance($io); + // [EOF] ?> diff --git a/inc/includes.php b/inc/includes.php index 54bd39be0..7e3f5c9ff 100644 --- a/inc/includes.php +++ b/inc/includes.php @@ -26,7 +26,7 @@ $cfg = FrameworkConfiguration::getInstance(); // Include the class loader function -require(sprintf("%sinc/loader/class_ClassLoader%s", $cfg->readConfig('base_path'), $cfg->readConfig('php_extension'))); +require(sprintf("%sinc/loader/class_ClassLoader.php", $cfg->readConfig('base_path'))); // Does the user has an application specified? if (!empty($_GET['app'])) { diff --git a/inc/language.php b/inc/language.php index 6db17c0ba..fe8847a3c 100644 --- a/inc/language.php +++ b/inc/language.php @@ -26,22 +26,25 @@ try { FrameworkConfiguration::getInstance()->readConfig('lang_base_path') )); } catch (LanguagePathIsEmptyException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] The language sub-system could not be initialized for the following reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] The language sub-system could not be initialized for the following reason: %s", $e->getMessage() )); } catch (InvalidLanguagePathStringException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] The language sub-system could not be initialized for the following reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] The language sub-system could not be initialized for the following reason: %s", $e->getMessage() )); } catch (LanguagePathIsNoDirectoryException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] The language sub-system could not be initialized for the following reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] The language sub-system could not be initialized for the following reason: %s", $e->getMessage() )); } catch (LanguagePathReadProtectedException $e) { - ApplicationEntryPoint::app_die(sprintf("[Main:] The language sub-system could not be initialized for the following reason: %s", + ApplicationEntryPoint::app_die(sprintf("[Main:] The language sub-system could not be initialized for the following reason: %s", $e->getMessage() )); } +// Is the app variable there and valid? +if (is_object($app)) $app->setLanguageInstance($lang); + // [EOF] ?> diff --git a/inc/selector.php b/inc/selector.php index ddab76926..d20cbcb04 100644 --- a/inc/selector.php +++ b/inc/selector.php @@ -29,6 +29,7 @@ $cfg = FrameworkConfiguration::getInstance(); $configAppIncludes = array( sprintf("class_%s", $cfg->readConfig('app_helper_class')), // The ApplicationHelper class "config", // The application's own configuration + "data", // Application data "init", // The application initializer "loader", // The application's class loader "debug", // Some debugging stuff @@ -45,11 +46,10 @@ foreach ($configAppIncludes as $inc) { } // Generate a FQFN for the helper class - $fqfn = sprintf("%s%s/%s%s", + $fqfn = sprintf("%s%s/%s.php", $cfg->readConfig('application_path'), $cfg->readConfig('app_name'), - $inc, - $cfg->readConfig('php_extension') + $inc ); // Does the include file exists? @@ -58,8 +58,8 @@ foreach ($configAppIncludes as $inc) { require_once($fqfn); } elseif ($cfg->readConfig('verbose_level') > 0) { // File is missing - trigger_error(sprintf("Cannot load application script %s! File is missing or read-protected.", - $inc . $cfg->readConfig('php_extension') + trigger_error(sprintf("Cannot load application script %s.php! File is missing or read-protected.", + $inc )); } } diff --git a/index.php b/index.php index 0d709cb81..a6846bf8c 100644 --- a/index.php +++ b/index.php @@ -49,12 +49,13 @@ class ApplicationEntryPoint { /** * The application's emergency exit * - * @param $message The optional message we shall output on exit - * @param $code Error code from exception - * @param $extraData Extra information from exceptions + * @param $message The optional message we shall output on exit + * @param $code Error code from exception + * @param $extraData Extra information from exceptions + * @param $silentMode Wether not silent mode is turned on * @return void */ - public static function app_die ($message = "", $code = false, $extraData = "") { + public static function app_die ($message = "", $code = false, $extraData = "", $silentMode = false) { // Is this method already called? if (defined('EMERGENCY_EXIT_CALLED')) { // Then output the text directly @@ -68,7 +69,16 @@ class ApplicationEntryPoint { if (empty($message)) { // No message provided $message = "No message provided!"; - } + } // END - if + + // Get config instance + $configInstance = FrameworkConfiguration::getInstance(); + + // Do we have debug installation? + if (($configInstance->readConfig('product_install_mode') == "productive") || ($silentMode === true)) { + // Abort here + die(); + } // END - if // Get some instances $tpl = FrameworkConfiguration::getInstance()->readConfig('template_class'); @@ -85,7 +95,7 @@ class ApplicationEntryPoint { // Get the template instance from our object factory $templateInstance = ObjectFactory::createObjectByName($tpl, array(FrameworkConfiguration::getInstance()->readConfig('tpl_base_path'), $lang, $io)); } catch (FrameworkException $e) { - die(sprintf("[Main:] Could not initialize template engine for reason: %s", + die(sprintf("[Main:] Could not initialize template engine for reason: %s", $e->getMessage() )); } @@ -93,13 +103,25 @@ class ApplicationEntryPoint { // Get and prepare backtrace for output $backtraceArray = debug_backtrace(); $backtrace = ""; - foreach ($backtraceArray as $key=>$trace) { + foreach ($backtraceArray as $key => $trace) { if (!isset($trace['file'])) $trace['file'] = __FILE__; if (!isset($trace['line'])) $trace['line'] = __LINE__; if (!isset($trace['args'])) $trace['args'] = array(); $backtrace .= "".basename($trace['file']).":".$trace['line'].", ".$trace['function']."(".count($trace['args']).")
"; } // END - foreach + // Init application instance + $appInstance = null; + + // Is the class there? + if (class_exists('ApplicationHelper')) { + // Get application instance + $appInstance = ApplicationHelper::getInstance(); + + // Assign application data + $templateInstance->assignApplicationData($appInstance); + } // END - if + // Assign variables $templateInstance->assignVariable('message', $message); $templateInstance->assignVariable('code', $code);