mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-22 06:30:59 +01:00
* PostgreSQL: fixed not working installation (access to not yet existing table stalls transaction)
This commit is contained in:
parent
c5ec3245d3
commit
2ee9082f2e
@ -230,7 +230,12 @@ class accounts_sql
|
||||
if ($data['account_id'] < 0 && class_exists('emailadmin_smtp_sql', isset($data['account_email'])))
|
||||
{
|
||||
try {
|
||||
if (empty($data['account_email']))
|
||||
if (isset($GLOBALS['egw_info']['apps']) && !isset($GLOBALS['egw_info']['apps']['emailadmin']) ||
|
||||
isset($GLOBALS['egw_setup']) && !in_array(emailadmin_smtp_sql::TABLE, $this->db->table_names(true)))
|
||||
{
|
||||
// cant store email, if emailadmin not (yet) installed
|
||||
}
|
||||
elseif (empty($data['account_email']))
|
||||
{
|
||||
$this->db->delete(emailadmin_smtp_sql::TABLE, array(
|
||||
'account_id' => $data['account_id'],
|
||||
@ -247,7 +252,7 @@ class accounts_sql
|
||||
), __LINE__, __FILE__, emailadmin_smtp_sql::APP);
|
||||
}
|
||||
}
|
||||
// ignore not (yet) existing mailaccounts table
|
||||
// ignore not (yet) existing mailaccounts table (does NOT work in PostgreSQL, because of transaction!)
|
||||
catch (egw_exception_db $e) {
|
||||
unset($e);
|
||||
}
|
||||
|
@ -1030,11 +1030,12 @@ class egw_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a list of table names in the current database
|
||||
*
|
||||
* @return array list of the tables
|
||||
*/
|
||||
function table_names()
|
||||
* Get a list of table names in the current database
|
||||
*
|
||||
* @param boolean $just_naem=false true return array of table-names, false return old format
|
||||
* @return array list of the tables
|
||||
*/
|
||||
function table_names($just_name=false)
|
||||
{
|
||||
if (!$this->Link_ID) $this->connect();
|
||||
if (!$this->Link_ID)
|
||||
@ -1051,7 +1052,7 @@ class egw_db
|
||||
{
|
||||
$table = strtolower($table);
|
||||
}
|
||||
$result[] = array(
|
||||
$result[] = $just_name ? $table : array(
|
||||
'table_name' => $table,
|
||||
'tablespace_name' => $this->Database,
|
||||
'database' => $this->Database
|
||||
|
@ -45,14 +45,6 @@ class setup_process
|
||||
function init_process()
|
||||
{
|
||||
$GLOBALS['egw_setup']->oProc = new schema_proc();
|
||||
|
||||
// delete image-map, in case new apps get installed, or existing ones updated
|
||||
try {
|
||||
common::delete_image_map();
|
||||
}
|
||||
catch(Exception $e) {
|
||||
// ignore exception, as during a new install, there's no cache configured and therefore no need to unset
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -175,6 +167,16 @@ class setup_process
|
||||
$pass_string = implode (':', $pass);
|
||||
$passing_string = implode (':', $passing);
|
||||
}
|
||||
try {
|
||||
// flush instance cache
|
||||
egw_cache::flush(egw_cache::INSTANCE);
|
||||
// delete image-map, in case new apps get installed, or existing ones updated
|
||||
common::delete_image_map();
|
||||
}
|
||||
catch(Exception $e) {
|
||||
unset($e);
|
||||
// ignore exception, as during a new install, there's no cache configured and therefore no need to unset
|
||||
}
|
||||
/* now return the list */
|
||||
return $setup_info = array_merge($setup_info,$passed);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user