diff options
Diffstat (limited to 'AdminPanel')
| -rw-r--r-- | AdminPanel/Rpmdragora/init.pm | 14 | ||||
| -rw-r--r-- | AdminPanel/Shared.pm | 16 | ||||
| -rw-r--r-- | AdminPanel/rpmdragora.pm | 4 | 
3 files changed, 19 insertions, 15 deletions
| diff --git a/AdminPanel/Rpmdragora/init.pm b/AdminPanel/Rpmdragora/init.pm index 06e03988..776ee4c0 100644 --- a/AdminPanel/Rpmdragora/init.pm +++ b/AdminPanel/Rpmdragora/init.pm @@ -29,6 +29,7 @@ use strict;  use MDK::Common::Func 'any';  use lib qw(/usr/lib/libDrakX);  use common; +use English;  BEGIN { $::no_global_argv_parsing = 1 }  require urpm::args; @@ -155,11 +156,14 @@ our $changelog_first = $rpmdragora::changelog_first_config->[0];  $changelog_first = 1 if $rpmdragora_options{'changelog-first'};  sub warn_about_user_mode() { -    $> and (AdminPanel::rpmdragora::interactive_msg(N("Running in user mode"), -                            N("You are launching this program as a normal user. -You will not be able to perform modifications on the system, -but you may still browse the existing database."), yesno => 1, text => { no => N("Cancel"), yes => N("Ok") }) -        or AdminPanel::rpmdragora::myexit(0)); +    my $title = N("Running in user mode"); +    my $msg = N("You are launching this program as a normal user. +              You will not be able to perform modifications on the system, +              but you may still browse the existing database."); +    if(($EUID != 0) and (!AdminPanel::rpmdragora::interactive_msg($title, $msg))) { +        return 0; +    } +    return 1;  }  sub init() { diff --git a/AdminPanel/Shared.pm b/AdminPanel/Shared.pm index dce5061e..6f4f703b 100644 --- a/AdminPanel/Shared.pm +++ b/AdminPanel/Shared.pm @@ -22,6 +22,8 @@ package AdminPanel::Shared;  use strict;  use warnings;  use diagnostics; +use lib qw(/usr/lib/libDrakX); +use common;  use yui;  use base qw(Exporter); @@ -100,7 +102,7 @@ sub ask_OkCancel {      if ($eventType == $yui::YEvent::WidgetEvent) {          # widget selected          my $widget      = $event->widget(); -        $retVal = ($widget == $okButton); +        $retVal = ($widget == $okButton) ? 1 : 0;      }      destroy $msg_box; @@ -110,7 +112,7 @@ sub ask_OkCancel {  sub ask_YesOrNo {      my ($title, $text) = @_; -    my $retVal = "No"; +    my $retVal = 0;      my $factory = yui::YUI::widgetFactory;      my $msg_box = $factory->createPopupDialog($yui::YDialogNormalColor); @@ -124,8 +126,8 @@ sub ask_YesOrNo {      $align = $factory->createRight($layout);      my $hbox = $factory->createHBox($align); -    my $yesButton = $factory->createPushButton($hbox, "Yes"); -    my $noButton  = $factory->createPushButton($hbox, "No"); +    my $yesButton = $factory->createPushButton($hbox, N("Yes")); +    my $noButton  = $factory->createPushButton($hbox, N("No"));      my $event = $msg_box->waitForEvent(); @@ -134,7 +136,7 @@ sub ask_YesOrNo {      if ($eventType == $yui::YEvent::WidgetEvent) {          # widget selected          my $widget      = $event->widget(); -        $retVal = ($widget == $yesButton) ? "Yes" : "No"; +        $retVal = ($widget == $yesButton) ? 1 : 0;      }      destroy $msg_box; @@ -174,10 +176,10 @@ sub trim {         shows a dialog with two buttons (Yes/No) -=head3 return value(string) +=head3 return bool  =head2 ask_OkCancel         shows a dialog with to buttons (Ok/Cancel) -=head3 return value(string) +=head3 return bool diff --git a/AdminPanel/rpmdragora.pm b/AdminPanel/rpmdragora.pm index 5f153019..b490ccc4 100644 --- a/AdminPanel/rpmdragora.pm +++ b/AdminPanel/rpmdragora.pm @@ -249,9 +249,7 @@ sub getbanner() {  # - 1 if if Yes/Ok  sub interactive_msg {      my ($title, $contents, %options) = @_; -    my $retVal = ask_YesOrNo($title, $contents); -    return 1 if($retVal eq "Yes"); -    return 0; +    return ask_YesOrNo($title, $contents);  =comment      $options{transient} ||= $::main_window if $::main_window;      local $::isEmbedded; | 
