commit 9fb7f91b9abfc6935cf896957025806317f16506
parent 78096751d4cccb1c0a3f0d59ab6ef96179053b20
Author: Jan Dankert <devnull@localhost>
Date: Wed, 8 Nov 2017 23:47:34 +0100
Vereinfachung der Datenbank-Konfiguration.
Diffstat:
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' ...