--- /dev/null
+---- Changes since 1.380 ----
+Re-wrote the user interface to use the new UI library functions, for a more consistent look.
+Added support for PAM includes, as used in modern Linux distributions.
}
-print &ui_form_start("save_mod.cgi");
+print &ui_form_start("save_inc.cgi");
print &ui_hidden("idx", $in{'idx'});
print &ui_hidden("midx", $in{'midx'});
print &ui_hidden("_type", $in{'type'});
$text{'mod_type_'.$type});
# Included service
+@pam = sort { $a->{'name'} cmp $b->{'name'} } @pam;
print &ui_table_row($text{'inc_inc'},
&ui_select("inc", $inc,
- [ map { [ $_->{'name'}, $text{'desc_'.$_->{'name'}} || $_->{'name'} ] }
- @pam ], 1, 0, $inc ? 1 : 0));
+ [ map { [ $_->{'name'},
+ $_->{'name'}.($text{'desc_'.$_->{'name'}} ?
+ " (".$text{'desc_'.$_->{'name'}}.")" : "") ] }
+ grep { $_->{'name'} ne $pam->{'name'} } @pam ],
+ 1, 0, $inc ? 1 : 0));
print &ui_table_end();
mod_header=PAM module options
mod_name=Service name
mod_mod=PAM module
-mod_type=Use in service
+mod_type=Use in step
mod_type_auth=Authentication
mod_type_account=Account verification
mod_type_session=Session setup
log_mod_delete=Deleted PAM module $1 in service $2
log_mod_move=Swapped PAM modules in service $3
log_mod_move_l=Swapped PAM modules $1 and $2 in service $3
+log_inc_create=Added include $1 for service $2
+log_inc_modify=Modified include $1 for service $2
+log_inc_delete=Deleted include $1 for service $2
inc_edit=Edit Included Service
inc_create=Create Included Service
&html_escape($object));
}
}
+elsif ($type eq 'inc') {
+ return &text("log_inc_$action", &html_escape($p->{'module'}),
+ &html_escape($object));
+ }
else {
return undef;
}
&delete_module($pam->{'name'}, $mod);
}
else {
- if ($in{'_module'}) {
+ if ($in{'_type'}) {
# Adding a new include
$mod = { 'type' => $in{'_type'},
- 'module' => $in{'_module'} };
- $module = $in{'_module'};
+ 'control' => 'include',
+ 'module' => $in{'inc'} };
}
else {
# Existing module entry
- # XXX
$mod = $pam->{'mods'}->[$in{'midx'}];
- $module = $mod->{'module'};
- $module =~ s/^.*\///;
+ $mod->{'module'} = $in{'inc'};
}
- if ($in{'_module'}) {
+ if ($in{'_type'}) {
# Add the PAM include entry
&create_module($pam->{'name'}, $mod);
}
}
}
&unlock_file($pam->{'file'});
-&webmin_log($in{'delete'} ? "delete" : $in{'_module'} ? "create" : "modify",
+&webmin_log($in{'delete'} ? "delete" : $in{'_type'} ? "create" : "modify",
"inc", $pam->{'name'}, $mod);
&redirect("edit_pam.cgi?idx=$in{'idx'}");