+
+ map { $_->{dbpasswd} = unpack 'u', $_->{dbpasswd} } values %members;
+
+ while (my ($login, $params) = each %members) {
+ $main::auth->save_user($login, %{ $params });
+ $main::auth->change_password($login, $params->{password}, 1);
+
+ my $conf_file = "${memberdir}${login}.conf";
+
+ if (-f $conf_file) {
+ copy $conf_file, "${backupdir}/${login}.conf";
+ unlink $conf_file;
+ }
+ }
+
+ unlink $main::memberfile;
+
+ my @member_list = sort { lc $a->{login} cmp lc $b->{login} } values %members;
+
+ $form->{title} = $locale->text('User data migration');
+ $form->header();
+ print $form->parse_html_template('admin/user_migration_done', { 'MEMBERS' => \@member_list });
+
+ $main::lxdebug->leave_sub();
+}
+
+sub create_standard_group_ask {
+ my $form = $main::form;
+ my $locale = $main::locale;
+
+ $form->{title} = $locale->text('Create a standard group');
+
+ $form->header();
+ print $form->parse_html_template("admin/create_standard_group_ask");
+}
+
+sub create_standard_group {
+ my $form = $main::form;
+ my $locale = $main::locale;
+
+ my %members = $main::auth->read_all_users();
+
+ my $groups = $main::auth->read_groups();
+
+ foreach my $group (values %{$groups}) {
+ if (($form->{group_id} != $group->{id})
+ && ($form->{name} eq $group->{name})) {
+ $form->show_generic_error($locale->text("A group with that name does already exist."));
+ }
+ }
+
+ my $group = {
+ 'name' => $locale->text('Full Access'),
+ 'description' => $locale->text('Full access to all functions'),
+ 'rights' => { map { $_ => 1 } SL::Auth::all_rights() },
+ 'members' => [ map { $_->{id} } values %members ],
+ };
+
+ $main::auth->save_group($group);
+
+ user_migration_complete(1);
+}
+
+sub dont_create_standard_group {
+ user_migration_complete(0);
+}
+
+sub user_migration_complete {
+ my $standard_group_created = shift;
+
+ my $form = $main::form;
+ my $locale = $main::locale;
+
+ $form->{title} = $locale->text('User migration complete');
+ $form->header();
+
+ print $form->parse_html_template('admin/user_migration_complete', { 'standard_group_created' => $standard_group_created });
+}
+
+sub list_users {
+ my $form = $main::form;
+ my $locale = $main::locale;
+
+ my %members = $main::auth->read_all_users();
+
+ delete $members{"root login"};
+