diff options
Diffstat (limited to 'rt/lib/RT.pm.in')
| -rw-r--r-- | rt/lib/RT.pm.in | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/rt/lib/RT.pm.in b/rt/lib/RT.pm.in index fafd2b778..5842407ff 100644 --- a/rt/lib/RT.pm.in +++ b/rt/lib/RT.pm.in @@ -688,11 +688,21 @@ sub InitPlugins { sub InstallMode { my $self = shift; if (@_) { - $_INSTALL_MODE = shift; - if($_INSTALL_MODE) { - require RT::CurrentUser; - $SystemUser = RT::CurrentUser->new(); - } + my ($integrity, $state, $msg) = RT::Handle->CheckIntegrity; + if ($_[0] and $integrity) { + # Trying to turn install mode on but we have a good DB! + require Carp; + $RT::Logger->error( + Carp::longmess("Something tried to turn on InstallMode but we have DB integrity!") + ); + } + else { + $_INSTALL_MODE = shift; + if($_INSTALL_MODE) { + require RT::CurrentUser; + $SystemUser = RT::CurrentUser->new(); + } + } } return $_INSTALL_MODE; } |
