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;
}
my @dir = grep(!/(^\.\.?$|\..*)/, readdir(DIR));
foreach my $dir (@dir) {
- next unless open(FH, "locale/$dir/LANGUAGE");
- @language = <FH>;
- close FH;
+ next unless open(my $fh, '<:encoding(UTF-8)', "locale/$dir/LANGUAGE");
+ @language = <$fh>;
+ close $fh;
$cc{$dir} = "@language";
}
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})
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);
}
$main::lxdebug->leave_sub();
}
+sub data {
+ +{ %{ $_[0] } }
+}
+
1;