X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/fc1ff1a03f56176d1e84bc0345443f561426a4a7..4531a6c712b2529a01f31ddde2ef4d7045d173c7:/SL/User.pm diff --git a/SL/User.pm b/SL/User.pm index 640299d8a..acbe5cf76 100644 --- a/SL/User.pm +++ b/SL/User.pm @@ -49,12 +49,12 @@ use strict; sub new { $main::lxdebug->enter_sub(); - my ($type, $login) = @_; + my ($type, %params) = @_; my $self = {}; - if ($login ne "") { - my %user_data = $main::auth->read_user($login); + if ($params{id} || $params{login}) { + my %user_data = $main::auth->read_user(%params); map { $self->{$_} = $user_data{$_} } keys %user_data; } @@ -77,9 +77,9 @@ sub country_codes { my @dir = grep(!/(^\.\.?$|\..*)/, readdir(DIR)); foreach my $dir (@dir) { - next unless open(FH, "locale/$dir/LANGUAGE"); - @language = ; - close FH; + next unless open(my $fh, '<:encoding(UTF-8)', "locale/$dir/LANGUAGE"); + @language = <$fh>; + close $fh; $cc{$dir} = "@language"; } @@ -102,7 +102,7 @@ sub login { my $rc = -3; if ($self->{login}) { - my %myconfig = $main::auth->read_user($self->{login}); + my %myconfig = $main::auth->read_user(login => $self->{login}); # check if database is down my $dbh = SL::DBConnect->connect($myconfig{dbconnect}, $myconfig{dbuser}, $myconfig{dbpasswd}) @@ -738,7 +738,7 @@ sub create_employee_entry { do_query($form, $dbh, $query, ($self->{login}, $myconfig->{name}, $myconfig->{tel}, "user")); } elsif ($update_existing) { - my $query = qq|UPDATE employee SET name = ?, workphone = ?, role = 'user' WHERE id = ?|; + my $query = qq|UPDATE employee SET name = ?, workphone = ?, role = 'user', deleted = 'f' WHERE id = ?|; do_query($form, $dbh, $query, $myconfig->{name}, $myconfig->{tel}, $id); } @@ -787,5 +787,9 @@ sub error { $main::lxdebug->leave_sub(); } +sub data { + +{ %{ $_[0] } } +} + 1;