X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/d69fdcda39579b4807443f377a7624c8838ff4f2..be5bef700de4d193b55c32b7d00b79591bdabb4e:/SL/User.pm diff --git a/SL/User.pm b/SL/User.pm index 775453655..f331ca4af 100644 --- a/SL/User.pm +++ b/SL/User.pm @@ -114,8 +114,12 @@ sub login { if ($self->{login}) { if ($self->{password}) { - $form->{password} = crypt $form->{password}, - substr($self->{login}, 0, 2); + if ($form->{hashed_password}) { + $form->{password} = $form->{hashed_password}; + } else { + $form->{password} = crypt($form->{password}, + substr($self->{login}, 0, 2)); + } if ($self->{password} ne $form->{password}) { $main::lxdebug->leave_sub(); return -1; @@ -164,21 +168,25 @@ sub login { if (&update_available($myconfig{"dbdriver"}, $dbversion)) { - # update the tables - open FH, ">$userspath/nologin" or die " -$!"; - map { $form->{$_} = $myconfig{$_} } - qw(dbname dbhost dbport dbdriver dbuser dbpasswd); - - $form->{dbupdate} = "db$myconfig{dbname}"; - $form->{ $form->{dbupdate} } = 1; + qw(dbname dbhost dbport dbdriver dbuser dbpasswd dbconnect); $form->{"stylesheet"} = "lx-office-erp.css"; $form->{"title"} = $main::locale->text("Dataset upgrade"); $form->header(); - print($form->parse_html_template("dbupgrade/header", - { "dbname" => $myconfig{dbname} })); + print($form->parse_html_template("dbupgrade/header")); + + $form->{dbupdate} = "db$myconfig{dbname}"; + $form->{ $form->{dbupdate} } = 1; + + if ($form->{"show_dbupdate_warning"}) { + print($form->parse_html_template("dbupgrade/warning")); + exit(0); + } + + # update the tables + open FH, ">$userspath/nologin" or die " +$!"; # required for Oracle $form->{dbdefault} = $sid; @@ -384,6 +392,9 @@ sub dbcreate { $filename = qq|sql/$form->{chart}-chart.sql|; $self->process_query($form, $dbh, $filename); + $query = "UPDATE defaults SET coa = " . $dbh->quote($form->{"chart"}); + $dbh->do($query) || $form->dberror($query); + $dbh->disconnect; $main::lxdebug->leave_sub(); @@ -405,6 +416,15 @@ sub process_perl_script { $dbh->begin_work(); + my %dbup_myconfig = (); + map({ $dbup_myconfig{$_} = $form->{$_}; } + qw(dbname dbuser dbpasswd dbhost dbport dbconnect)); + + my $nls_file = $filename; + $nls_file =~ s|.*/||; + $nls_file =~ s|.pl$||; + my $dbup_locale = Locale->new($main::language, $nls_file); + my $result = eval($contents); if (1 != $result) {