diff options
Diffstat (limited to 'perl-install/standalone/drakperm')
| -rwxr-xr-x | perl-install/standalone/drakperm | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/perl-install/standalone/drakperm b/perl-install/standalone/drakperm index 234228edb..39579af91 100755 --- a/perl-install/standalone/drakperm +++ b/perl-install/standalone/drakperm @@ -8,12 +8,13 @@ use standalone; use common; use ugtk2 qw(:helpers :wrappers :create); +$ugtk2::wm_icon = "/usr/share/mcc/themes/default/drakperm-mdk.png"; require_root_capability(); local $_ = join '', @ARGV; #- vars declaration my ($level) = chomp_(`cat /etc/sysconfig/msec | grep SECURE_LEVEL= |cut -d= -f2`); -my ($default_perm_level) = "level " . $level; +my $default_perm_level = "level " . $level; my %perm_files = ($default_perm_level => '/usr/share/msec/perm.' . $level, 'editable' => '/etc/security/msec/perm.local', ); @@ -51,8 +52,7 @@ my $index = 0; load_perms(); #- widgets settings -my $combo_perm = Gtk2::ComboBox->new_text; -$combo_perm->set_popdown_strings(sort(values %perm_l10n)); +my $combo_perm = Gtk2::ComboBox->new_with_strings([ sort(values %perm_l10n) ]); sub add_callback() { row_setting_dialog(); @@ -101,7 +101,7 @@ $permList->signal_connect(button_press_event => sub { }); -my $tips = new Gtk2::Tooltips; +my $tips = Gtk2::Tooltips->new; $W->add(gtkpack_(Gtk2::VBox->new(0,5), 0, Gtk2::WrappedLabel->new(N("Here you can see files to use in order to fix permissions, owners, and groups via msec.\nYou can also edit your own rules which will owerwrite the default rules."), 0.5), @@ -198,16 +198,16 @@ sub display_perm { sub save_perm() { my $val; if ($modified) { - local *F; - open F, '>' . $perm_files{editable} or die(qq(Impossible to process "$perm_files{editable}")); + my $F; + open $F, '>' . $perm_files{editable} or die(qq(Impossible to process "$perm_files{editable}")); $model->foreach(sub { my ($model, $_path, $iter) = @_; return 0 if $model->get($iter, 0); my $line = $model->get($iter, 1) . "\t" . $model->get($iter, 2) . ($model->get($iter, 3) ? "." . $model->get($iter, 3) : "") . "\t" . $model->get($iter, 4) . "\n"; - print F $line; + print $F $line; return 0; }, $val); - close F; + close $F; } $modified = 0; ugtk2->exit; @@ -215,12 +215,9 @@ sub save_perm() { sub load_perms() { foreach my $file (@perm_files{($default_perm_level, 'editable')}) { - local *F; - open F, $file; - my @editable = if_($file ne $perm_files{editable}, editable => $pixbuf); local $_; - while (<F>) { + foreach (cat_($file)) { next if /^#/; # Editable, Path, User, Group, Permissions if (m/^(\S+)\s+([^.\s]+)\.(\S+)?\s+(\d+)/) { @@ -232,37 +229,45 @@ sub load_perms() { } $index++; } - close F; } } sub row_setting_dialog { my ($iter) = @_; - my $dlg = new Gtk2::Dialog(); + my $dlg = Gtk2::Dialog->new; $dlg->set_transient_for($w->{rwindow}) unless $::isEmbedded; $dlg->set_modal(1); # $dlg->set_resizable(0); - my $browse = new Gtk2::Button(N("browse")); - my $file = new Gtk2::Entry; + my $browse = Gtk2::Button->new(N("browse")); + my $file = Gtk2::Entry->new; my ($other, $group, $user, $s) = reverse(split(//, $model->get($iter, 4))) if $iter; my @bits = qw(sticky gid suid); my @rights = qw(read write execute); - my @owners = qw(user group other); + my @owners = (N_("user"), N_("group"), N_("other")); my %rights = (user => $user, group => $group, other => $other); my %rights_labels = (user => N("User"), group => N("Group"), other => N("Other")); my %checks = ('read' => { label => N("Read"), - tip => { map { $_ => N("Enable \"%s\" to read the file", $_) } keys %rights }, + tip => { map { $_ => + #-PO: here %s will be either "user", "group" or "other" + N("Enable \"%s\" to read the file", translate($_)) + } keys %rights }, }, 'write' => { label => N("Write"), - tip => { map { $_ => N("Enable \"%s\" to write the file", $_) } keys %rights }, + tip => { map { $_ => + #-PO: here %s will be either "user", "group" or "other" + N("Enable \"%s\" to write the file", translate($_)) + } keys %rights }, }, 'execute' => { label => N("Execute"), - tip => { map { $_ => N("Enable \"%s\" to execute the file", $_) } keys %rights }, + tip => { map { $_ => + #-PO: here %s will be either "user", "group" or "other" + N("Enable \"%s\" to execute the file", translate($_)) + } keys %rights }, }, sticky => { label => N("Sticky-bit"), tip => N("Used for directory:\n only owner of directory or file in this directory can delete it") }, suid => { label => N("Set-UID"), tip => N("Use owner id for execution") }, @@ -275,18 +280,16 @@ sub row_setting_dialog { my $alrd_exsts = defined $iter; $file->set_text($model->get($iter, 1)) if $iter; - my $users = Gtk2::ComboBox->new_text; - $users->set_popdown_strings(&get_user_or_group('users')); + my $users = Gtk2::ComboBox->new_with_strings([ get_user_or_group('users') ]); $users->entry->set_text($model->get($iter, 2)) if $iter; - my $groups = Gtk2::ComboBox->new_text; - $groups->set_popdown_strings(&get_user_or_group); + my $groups = Gtk2::ComboBox->new_with_strings([ get_user_or_group() ]); $groups->entry->set_text($model->get($iter, 3)) if $iter; my $id_box = gtkadd(Gtk2::HBox->new, - Gtk2::Label->new(N("User :")), + Gtk2::Label->new(N("User:")), $users, - Gtk2::Label->new(N("Group :")), + Gtk2::Label->new(N("Group:")), $groups, ); @@ -301,7 +304,7 @@ sub row_setting_dialog { $browse->signal_connect(clicked => sub { - my $file_dlg = new Gtk2::FileSelection(N("Path selection")); + my $file_dlg = Gtk2::FileSelection->new(N("Path selection")); $file_dlg->set_modal(1); $file_dlg->set_transient_for($dlg); $file_dlg->show; @@ -331,7 +334,7 @@ sub row_setting_dialog { gtkpack(gtkset_border_width(Gtk2::HBox->new, 3), gtkadd(Gtk2::VBox->new, Gtk2::Label->new(""), - map { gtkset_tip($tips, Gtk2::Label->new($checks{$_}{label}), $checks{$_}{tip}) } @rights, + map { Gtk2::Label->new($checks{$_}{label}) } @rights, ), (map { my $owner = $_; @@ -403,17 +406,14 @@ sub row_setting_dialog { } sub get_user_or_group { - my $what = @_; + my ($what) = @_; my @users; - local *F; - open F, $what eq 'users' ? '/etc/passwd' : '/etc/group'; local $_; - while (<F>) { + foreach (cat_($what eq 'users' ? '/etc/passwd' : '/etc/group')) { m/^([^#:]+):[^:]+:[^:]+:/ or next; push @users, $1; } - close F; return sort(@users); } |
