commit 5c931fc0cfa2a107f99a222e2baac7591b35f190
parent afa4166aa12a1363e80843b45f6008d253cf5f03
Author: Jan Dankert <devnull@localhost>
Date: Wed, 6 Dec 2017 23:52:07 +0100
Die Klasse Configuration ist jetzt ein Modul und liest nur die Custom-Configuration aus der config.yml. Alle OpenRat-intern Default-Konfigurationen werden beim Aufrufer ergänzt. So ist diese Klasse allgemeiner einsetzbar.
Diffstat:
3 files changed, 32 insertions(+), 19 deletions(-)
diff --git a/dispatcher.php b/dispatcher.php
@@ -50,10 +50,16 @@ try
// Da die Konfiguration neu eingelesen wird, sollten wir auch die Sitzung komplett leeren.
if ( is_array($conf) && $conf['config']['session_destroy_on_config_reload'] )
session_unset();
-
- $conf = Configuration::load();
-
- $conf['build'] = parse_ini_file('build.ini' );
+
+ // Fest eingebaute Standard-Konfiguration laden.
+ $conf = array();
+ require('./util/config-default.php'); // writes to $conf
+
+ $customConfig = Configuration::load();
+ $conf = array_replace_recursive($conf, $customConfig);
+
+
+ $conf['build'] = parse_ini_file('build.ini' );
$conf['version'] = parse_ini_file('version.ini');
// Sprache lesen
diff --git a/init.php b/init.php
@@ -19,7 +19,7 @@
define('PHP_EXT' ,'php' );
require_once( "functions/common.inc.".PHP_EXT );
-
+
define('IMG_EXT' ,'.gif' );
define('IMG_ICON_EXT' ,'.png' );
define('MAX_FOLDER_DEPTH',5 );
@@ -48,11 +48,11 @@ define('OR_TMP_DIR' ,'./tmp/' );
define('OR_CONTROLLER_FILE' ,'dispatcher');
define('OR_MODULES_DIR' ,'./modules/');
define('START_TIME' ,time() );
-define('REQUEST_ID' ,'req'.time().rand() );
+define('REQUEST_ID' ,'req'.time().rand() );
define('SECURITY_GUEST',1); // Jeder (auch nicht angemeldete) dürfen diese Aktion ausführen
-define('SECURITY_USER' ,2); // Angemeldete Benutzer dürfen diese Aktion ausführen
-define('SECURITY_ADMIN',3); // Nur Administratoren dürfen diese Aktion ausführen
+define('SECURITY_USER' ,2); // Angemeldete Benutzer dürfen diese Aktion ausführen
+define('SECURITY_ADMIN',3); // Nur Administratoren dürfen diese Aktion ausführen
define('REQ_PARAM_TOKEN' ,'token' );
define('REQ_PARAM_ACTION' ,'action' );
@@ -69,22 +69,22 @@ define('REQ_PARAM_DATABASE_ID' ,'dbid' );
define('REQ_PARAM_TARGET' ,'target' );
define('OR_SERVICECLASSES_DIR','./util/' );
-define('OR_AUTHCLASSES_DIR' ,'./auth/' );
+define('OR_AUTHCLASSES_DIR' ,'./auth/' );
/**
* Wandelt jeden Fehler in eine ErrorException um.
- */
-function exception_error_handler($severity, $message, $file, $line) {
+ */
+function exception_error_handler($severity, $message, $file, $line) {
if ( !(error_reporting() & $severity) )
- {
- // Dieser Fehlercode ist nicht in error_reporting enthalten
- return;
- }
- throw new ErrorException($message, 0, $severity, $file, $line);
+ {
+ // Dieser Fehlercode ist nicht in error_reporting enthalten
+ return;
+ }
+ throw new ErrorException($message, 0, $severity, $file, $line);
}
-
-set_error_handler("exception_error_handler");
+
+set_error_handler("exception_error_handler");
@@ -117,12 +117,13 @@ require_once( "functions/request.inc.php" );
// Werkzeugklassen einbinden.
require_once( OR_SERVICECLASSES_DIR."include.inc.".PHP_EXT );
-require_once( OR_AUTHCLASSES_DIR."include.inc.".PHP_EXT );
+require_once( OR_AUTHCLASSES_DIR."include.inc.".PHP_EXT );
require_once( OR_MODULES_DIR."security/require.".PHP_EXT );
require_once( OR_MODULES_DIR."template-engine/require.".PHP_EXT );
require_once( OR_MODULES_DIR."util/require.".PHP_EXT );
+require_once( OR_MODULES_DIR."configuration/require.".PHP_EXT );
?>
\ No newline at end of file
diff --git a/modules/configuration/require.php b/modules/configuration/require.php
@@ -0,0 +1,5 @@
+<?php
+
+include( __DIR__ ."/Configuration.class.php" );
+
+?>+
\ No newline at end of file