openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 9fb7f91b9abfc6935cf896957025806317f16506
parent 78096751d4cccb1c0a3f0d59ab6ef96179053b20
Author: Jan Dankert <devnull@localhost>
Date:   Wed,  8 Nov 2017 23:47:34 +0100

Vereinfachung der Datenbank-Konfiguration.

Diffstat:
action/LoginAction.class.php | 13++++++++-----
config/config-default.php | 45+++++++++++++++++++++++++--------------------
config/config.ini.php | 38++++++--------------------------------
3 files changed, 39 insertions(+), 57 deletions(-)

diff --git a/action/LoginAction.class.php b/action/LoginAction.class.php @@ -298,12 +298,12 @@ class LoginAction extends Action $this->callSubAction('show'); } - foreach( $conf['database'] as $dbname=>$dbconf ) + foreach( $conf['database'] as $dbid => $dbconf ) { if ( is_array($dbconf) && $dbconf['enabled'] ) - $dbids[$dbname] = array('key' =>$dbname, - 'value'=>Text::maxLength($dbconf['comment']), - 'title'=>$dbconf['comment'].(isset($dbconf['host'])?' ('.$dbconf['host'].')':'') ); + $dbids[$dbid] = array('key' => $dbid, + 'value' => empty($dbconf['name'])?$dbid:Text::maxLength($dbconf['name']), + 'title' => @$dbconf['description'] ); } @@ -330,7 +330,7 @@ class LoginAction extends Action // DB-Id aus dem Cookie lesen. $this->setTemplateVar('actdbid',$_COOKIE['or_dbid'] ); else - $this->setTemplateVar('actdbid',$conf['database']['default']); + $this->setTemplateVar('actdbid',$conf['login']['default-database']); // Den Benutzernamen aus dem Client-Zertifikat lesen und in die Loginmaske eintragen. @@ -818,6 +818,9 @@ class LoginAction extends Action if ( $this->hasRequestVar('dbid')) { $dbid = $this->getRequestVar('dbid'); + + if ( !is_array($conf['database'][$dbid]) ) + $this->addValidationError('dbid'); $db = new DB( $conf['database'][$dbid],true ); $db->id = $dbid; diff --git a/config/config-default.php b/config/config-default.php @@ -165,27 +165,31 @@ $conf['countries']['WO']='Wolof'; $conf['countries']['XH']='Xhosa'; $conf['countries']['YO']='Yoruba'; $conf['countries']['ZH']='Chinese'; + $conf['database'] = array(); -$conf['database']['defaults']=array(); -$conf['database']['defaults']['prefix' ]= ''; -$conf['database']['defaults']['suffix' ]= ''; -$conf['database']['defaults']['enabled' ] = false; -$conf['database']['defaults']['comment' ] = ''; -$conf['database']['defaults']['type' ] = 'pdo'; -$conf['database']['defaults']['dsn' ] = 'mysql:localhost'; -$conf['database']['defaults']['user' ] = ''; -$conf['database']['defaults']['password' ] = ''; -$conf['database']['defaults']['host' ] = ''; -$conf['database']['defaults']['database' ] = ''; -$conf['database']['defaults']['base64' ] = false; -$conf['database']['defaults']['persistent' ] = true; -$conf['database']['defaults']['charset' ] = 'UTF-8'; -$conf['database']['defaults']['connection_sql'] = ''; -$conf['database']['defaults']['cmd' ] = ''; -$conf['database']['defaults']['prepare' ] = true; -$conf['database']['defaults']['transaction'] = true; -$conf['database']['defaults']['update' ] = array(); -$conf['database']['defaults']['auto_update'] = true; + +$conf['database-default']=array(); +$conf['database-default']['defaults']=array(); +$conf['database-default']['defaults']['prefix' ] = ''; +$conf['database-default']['defaults']['suffix' ] = ''; +$conf['database-default']['defaults']['enabled' ] = true; +$conf['database-default']['defaults']['name' ] = ''; +$conf['database-default']['defaults']['description'] = ''; +$conf['database-default']['defaults']['type' ] = 'pdo'; +$conf['database-default']['defaults']['dsn' ] = 'mysql:localhost'; +$conf['database-default']['defaults']['user' ] = ''; +$conf['database-default']['defaults']['password' ] = ''; +$conf['database-default']['defaults']['host' ] = ''; +$conf['database-default']['defaults']['database' ] = ''; +$conf['database-default']['defaults']['base64' ] = false; +$conf['database-default']['defaults']['persistent' ] = true; +$conf['database-default']['defaults']['charset' ] = 'UTF-8'; +$conf['database-default']['defaults']['connection_sql'] = ''; +$conf['database-default']['defaults']['cmd' ] = ''; +$conf['database-default']['defaults']['prepare' ] = true; +$conf['database-default']['defaults']['transaction'] = true; +$conf['database-default']['defaults']['update' ] = array(); +$conf['database-default']['defaults']['auto_update'] = true; $conf['date'] = array(); $conf['date']['format'] = array(); $conf['date']['format']['SHORT']= ""; @@ -360,6 +364,7 @@ $conf['login']['logo']['url']="http://www.openrat.de" ; $conf['login']['start'] = array(); $conf['login']['start']['start_lastchanged_object']=true; $conf['login']['start']['start_single_project']=true; +$conf['login']['default-database']='db'; $conf['log'] = array(); $conf['log']['file']= ""; $conf['log']['level']= "warn"; diff --git a/config/config.ini.php b/config/config.ini.php @@ -1,37 +1,11 @@ ; <?php die() ?> ; OpenRat configuration file - Minimal settings. -; For all configuration settings and an explanation for each setting, see file 'config.ini.php'. -; Lines beginning with ';' are ignored. +; change this file or copy it to 'config-<hostname>.ini.php'. -database.default=db1 ; Default Database +database.db.enabled = false ; remove this line for enable this database +database.db.user = dbuser ; user +database.db.password = dbpass ; password +database.db.database = cms ; database name -database.db1.enabled = true ; using this connection -database.db1.name = "Your DB" ; name -database.db1.comment = "Description" ; comment - -database.db1.type = mysql ; mysql|mysqli|postgresql|sqlite|sqlite3|pdo -database.db1.user = dbuser ; user -database.db1.password = dbpass ; password -database.db1.host = localhost ; hostname -database.db1.port = ; TCP-Port -database.db1.database = cms ; database name - -database.db1.base64 = false ; store binary as BASE64 -database.db1.prefix = or_ ; table praefix -database.db1.persistent = yes ; persistent connections -database.db1.charset = UTF-8 -;database.db1.connection_sql = "SET NAMES 'UTF8';" ; Activating UTF-8 for MySql -database.db1.prepare = false -database.db1.transaction = false - -;interface.override_title = "Your company" -;login.motd="Have a good day" - -;log.file = "" ; filename of logfile (must be writable) - -;mail.enabled=true ; Does your server send e-mails? -;mail.from="OpenRat <user@example.com>" - - -; There are a lot of more configuration settings available, see file 'config.ini.php'... +; There are a lot of more configuration settings available, see file 'config-all.ini.php' ...