From 2f1d9bf8d88ad7782b2a8a7099569771a4a51b47 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 25 Aug 2010 12:25:53 +0000 Subject: [PATCH] - setting set_defaults also with values containing (now replaced) replacements like $domain - shorten db-name/-user to self::MAX_DB_NAME_LEN chars --- setup/inc/class.setup_cmd_config.inc.php | 2 +- setup/inc/class.setup_cmd_database.inc.php | 9 ++++++++- setup/inc/class.setup_cmd_ldap.inc.php | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/setup/inc/class.setup_cmd_config.inc.php b/setup/inc/class.setup_cmd_config.inc.php index 8e96c8df47..ca7eff2629 100644 --- a/setup/inc/class.setup_cmd_config.inc.php +++ b/setup/inc/class.setup_cmd_config.inc.php @@ -387,7 +387,7 @@ class setup_cmd_config extends setup_cmd } if (strpos($this->$name,'$') !== false) { - $this->$name = str_replace(array( + $this->set_defaults[$name] = $this->$name = str_replace(array( '$domain', ),array( $this->domain, diff --git a/setup/inc/class.setup_cmd_database.inc.php b/setup/inc/class.setup_cmd_database.inc.php index cb580b57c2..f750e7f182 100644 --- a/setup/inc/class.setup_cmd_database.inc.php +++ b/setup/inc/class.setup_cmd_database.inc.php @@ -174,6 +174,13 @@ class setup_cmd_database extends setup_cmd { static $try_make_unique = 0; // to limit trials to create a unique name + // shorten db-name/-user to self::MAX_DB_NAME_LEN chars + if ($this->make_db_name_unique && strlen($this->db_name) > self::MAX_DB_NAME_LEN) + { + $this->set_defaults['db_name'] = $this->db_name = + $this->set_defaults['db_user'] = $this->db_user = // change user too (otherwise existing user/db could not connect any more!) + substr($this->db_name,0,self::MAX_DB_NAME_LEN); + } try { $msg = $this->connect(); } @@ -206,7 +213,7 @@ class setup_cmd_database extends setup_cmd $this->set_defaults['db_user'] = $this->db_user = // change user too (otherwise existing user/db could not connect any more!) substr($this->db_name,0,self::MAX_DB_NAME_LEN-strlen($num)).$num; - return $this->create(); + return $this->create(); } catch (egw_exception_wrong_userinput $e2) { diff --git a/setup/inc/class.setup_cmd_ldap.inc.php b/setup/inc/class.setup_cmd_ldap.inc.php index 9fbaf313f0..9dda24fde9 100644 --- a/setup/inc/class.setup_cmd_ldap.inc.php +++ b/setup/inc/class.setup_cmd_ldap.inc.php @@ -343,7 +343,7 @@ class setup_cmd_ldap extends setup_cmd } if (strpos($this->$name,'$') !== false) { - $this->$name = str_replace(array( + $this->set_defaults[$name] = $this->$name = str_replace(array( '$domain', '$suffix', '$base',