* Setup/EPL: do not autoinstall uninstalled EPL apps when container restarts

This commit is contained in:
Ralf Becker 2022-01-21 20:58:30 +02:00
parent 8fba1d9a2f
commit 3e0ec508c7
4 changed files with 6 additions and 5 deletions

View File

@ -446,7 +446,7 @@ else
case 'U': case 'U':
$setup_tpl->set_var('instimg','incomplete.png'); $setup_tpl->set_var('instimg','incomplete.png');
$setup_tpl->set_var('instalt',lang('Not Completed')); $setup_tpl->set_var('instalt',lang('Not Completed'));
if (!@$value['currentver']) if (empty($value['currentver']) || $value['currentver'] === 'uninstalled')
{ {
if ($value['tables'] && $GLOBALS['egw_setup']->detection->check_app_tables($value['name'],True)) if ($value['tables'] && $GLOBALS['egw_setup']->detection->check_app_tables($value['name'],True))
{ {

View File

@ -319,7 +319,8 @@ abstract class setup_cmd extends admin_cmd
self::$apps_to_upgrade = self::$apps_to_install = array(); self::$apps_to_upgrade = self::$apps_to_install = array();
foreach($setup_info as $app => $data) foreach($setup_info as $app => $data)
{ {
if ($data['currentver'] && $data['version'] && $data['version'] != 'deleted' && $data['version'] != $data['currentver']) if ($data['currentver'] && $data['version'] && $data['version'] != 'deleted' && $data['version'] != $data['currentver'] &&
$data['currentversion'] !== 'uninstalled')
{ {
self::$apps_to_upgrade[] = $app; self::$apps_to_upgrade[] = $app;
} }
@ -366,7 +367,7 @@ abstract class setup_cmd extends admin_cmd
$ret = array_filter(self::$apps_to_install, function($app) $ret = array_filter(self::$apps_to_install, function($app)
{ {
global $setup_info; global $setup_info;
return $setup_info[$app]['autoinstall']; return !empty($setup_info[$app]['autoinstall']) && !isset($setup_info[$app]['currentversion']);
}); });
//error_log(__METHOD__."() apps_to_install=".array2string(self::$apps_to_install).' returning '.array2string($ret)); //error_log(__METHOD__."() apps_to_install=".array2string(self::$apps_to_install).' returning '.array2string($ret));
return $ret; return $ret;

View File

@ -62,7 +62,7 @@ class setup_detection
/* one of these tables exists. checking for post/pre beta version */ /* one of these tables exists. checking for post/pre beta version */
if($GLOBALS['egw_setup']->applications_table != 'applications') if($GLOBALS['egw_setup']->applications_table != 'applications')
{ {
foreach($GLOBALS['egw_setup']->db->select($GLOBALS['egw_setup']->applications_table, '*', 'app_enabled != -1', __LINE__, __FILE__) as $row) foreach($GLOBALS['egw_setup']->db->select($GLOBALS['egw_setup']->applications_table, '*', false, __LINE__, __FILE__) as $row)
{ {
$app = $row['app_name']; $app = $row['app_name'];
if (!isset($setup_info[$app])) // app source no longer there if (!isset($setup_info[$app])) // app source no longer there

View File

@ -484,7 +484,7 @@ switch($GLOBALS['egw_info']['setup']['stage']['db'])
$to_upgrade = $to_install = array(); $to_upgrade = $to_install = array();
foreach($setup_info as $app => $data) foreach($setup_info as $app => $data)
{ {
if ($data['currentver'] && $data['version'] && $data['version'] != $data['currentver']) if (!empty($data['currentver']) && $data['currentver'] !== 'uninstalled' && $data['version'] && $data['version'] != $data['currentver'])
{ {
$to_upgrade[] = lang(!empty($data['title']) ? $data['title'] : $app); $to_upgrade[] = lang(!empty($data['title']) ? $data['title'] : $app);
$setup_tpl->set_var('apps_status_img',$incomplete); $setup_tpl->set_var('apps_status_img',$incomplete);