-  $main::lxdebug->leave_sub();
-
-  return $rc;
-}
-
-sub save_member {
-  $main::lxdebug->enter_sub();
-
-  my ($self) = @_;
-
-  # format dbconnect and dboptions string
-  dbconnect_vars($self, $self->{dbname});
-
-  map { $self->{$_} =~ s/\r//g; } qw(address signature);
-
-  $main::auth->save_user($self->{login}, map { $_, $self->{$_} } config_vars());
-
-  my $dbh = SL::DBConnect->connect($self->{dbconnect}, $self->{dbuser}, $self->{dbpasswd});
-  if ($dbh) {
-    $self->create_employee_entry($::form, $dbh, $self, 1);
-    $dbh->disconnect();
-  }
-
-  $main::lxdebug->leave_sub();
-}
-
-sub create_employee_entry {
-  $main::lxdebug->enter_sub();
-
-  my $self            = shift;
-  my $form            = shift;
-  my $dbh             = shift;
-  my $myconfig        = shift;
-  my $update_existing = shift;
-
-  if (!does_table_exist($dbh, 'employee')) {
-    $main::lxdebug->leave_sub();
-    return;
-  }
-
-  # add login to employee table if it does not exist
-  # no error check for employee table, ignore if it does not exist
-  my ($id)         = selectrow_query($form, $dbh, qq|SELECT id FROM employee WHERE login = ?|, $self->{login});
-  my ($good_db)    = selectrow_query($form, $dbh, qq|select * from pg_tables where tablename = ? and schemaname = ?|, 'schema_info', 'public');
-  my  $can_delete;
-     ($can_delete) = selectrow_query($form, $dbh, qq|SELECT tag FROM schema_info WHERE tag = ?|, 'employee_deleted') if $good_db;
-
-  if (!$id) {
-    my $query = qq|INSERT INTO employee (login, name, workphone, role) VALUES (?, ?, ?, ?)|;
-    do_query($form, $dbh, $query, ($self->{login}, $myconfig->{name}, $myconfig->{tel}, "user"));
-
-  } elsif ($update_existing && $can_delete) {
-    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 config_vars {
-  $main::lxdebug->enter_sub();
-
-  my @conf = qw(address admin businessnumber company countrycode
-    currency dateformat dbconnect dbdriver dbhost dbport dboptions
-    dbname dbuser dbpasswd email fax name numberformat password
-    printer sid signature stylesheet tel templates vclimit angebote
-    bestellungen rechnungen anfragen lieferantenbestellungen einkaufsrechnungen
-    taxnumber co_ustid duns menustyle template_format default_media
-    default_printer_id copies show_form_details favorites
-    pdonumber sdonumber hide_cvar_search_options mandatory_departments
-    sepa_creditor_id);
-
-  $main::lxdebug->leave_sub();
-
-  return @conf;
-}
-
-sub error {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $msg) = @_;
-
-  $main::lxdebug->show_backtrace();
-
-  if ($ENV{HTTP_USER_AGENT}) {
-    print qq|Content-Type: text/html
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-
-<body bgcolor=ffffff>
-
-<h2><font color=red>Error!</font></h2>
-<p><b>$msg</b>|;
-
-  }
-
-  die "Error: $msg\n";
-
-  $main::lxdebug->leave_sub();