use List::MoreUtils qw(any);
use SL::Common;
+use SL::DBUtils;
use SL::Iconv;
use strict;
$db_charset ||= Common::DEFAULT_CHARSET;
- my $iconv = SL::Iconv::get_converter($file_charset, $db_charset);
+ my $iconv = SL::Iconv->new($file_charset, $db_charset);
$dbh->begin_work();
sub unapplied_upgrade_scripts {
my ($self, $dbh) = @_;
- $::lxdebug->dump(0, "self", $self);
-
my @all_scripts = map { $_->{applied} = 0; $_ } $self->sort_dbupdate_controls;
my $query = qq|SELECT tag FROM | . $self->{schema} . qq|schema_info|;
sub apply_admin_dbupgrade_scripts {
my ($self, $called_from_admin) = @_;
- return if !$self->{auth};
+ return 0 if !$self->{auth};
my $dbh = $::auth->dbconnect;
my @unapplied_scripts = $self->unapplied_upgrade_scripts($dbh);
- return if !@unapplied_scripts;
+ return 0 if !@unapplied_scripts;
- my $db_charset = $main::dbcharset || Common::DEFAULT_CHARSET;
+ my $db_charset = $::lx_office_conf{system}->{dbcharset} || Common::DEFAULT_CHARSET;
$self->{form}->{login} ||= 'admin';
map { $_->{description} = SL::Iconv::convert($_->{charset}, $db_charset, $_->{description}) } values %{ $self->{all_controls} };
- $self->{form}->{title} = $::locale->text('Dataset upgrade');
- $self->{form}->header;
+ if ($called_from_admin) {
+ $self->{form}->{title} = $::locale->text('Dataset upgrade');
+ $self->{form}->header;
+ }
+
print $self->{form}->parse_html_template("dbupgrade/header", { dbname => $::auth->{DB_config}->{db} });
foreach my $control (@unapplied_scripts) {
$self->process_file($dbh, "sql/$self->{dbdriver}-upgrade2-auth/$control->{file}", $control, $db_charset);
}
- print $self->{form}->parse_html_template("dbupgrade/footer", { is_admin => $called_from_admin });
- ::end_of_request();
+ print $self->{form}->parse_html_template("dbupgrade/footer", { is_admin => 1 }) if $called_from_admin;
+
+ return 1;
}
sub _check_for_loops {