From f0c0efb41123b38be2d368978e69f57d1523f47e Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Sat, 23 May 2015 07:30:44 -0700 Subject: [PATCH] Show a nicer message if no entries were found in /etc/inittab https://github.com/webmin/webmin/issues/211 --- inittab/index.cgi | 66 ++++++++++++++++++++++++++--------------------- inittab/lang/en | 1 + 2 files changed, 38 insertions(+), 29 deletions(-) diff --git a/inittab/index.cgi b/inittab/index.cgi index bf948e557..2ec1ee2b0 100755 --- a/inittab/index.cgi +++ b/inittab/index.cgi @@ -7,36 +7,44 @@ require './inittab-lib.pl'; &ui_print_header(undef, $module_info{'desc'}, "", "index", 1, 1, 0, &help_search_link("inittab", "man")); -print &ui_form_start("delete.cgi", "post"); -@links = ( &select_all_link("d"), - &select_invert_link("d"), - &ui_link("edit_inittab.cgi?new=1", $text{'inittab_new'}) ); -print &ui_links_row(\@links); -@tds = ( "width=5" ); -print &ui_columns_start([ "", - &hlink( $text{ 'inittab_id' }, "id" ), - &hlink( $text{ 'inittab_active' }, "active" ), - &hlink( $text{ 'inittab_runlevels' }, "runlevels" ), - &hlink( $text{ 'inittab_action' }, "action" ), - &hlink( $text{ 'inittab_process' }, "process" ) ], - 100, 0, \@tds); -foreach $i (&parse_inittab()) { - local @cols; - push(@cols, &ui_link("edit_inittab.cgi?id=".&urlize($i->{'id'}), - &html_escape($i->{'id'})) ); - push(@cols, $i->{'comment'} ? "$text{'no'}" - : $text{'yes'}); - local @rls = @{$i->{'levels'}}; - push(@cols, @rls ? &html_escape(join(", ", @rls)) - : $text{'inittab_none'}); - push(@cols, $text{"inittab_".$i->{'action'}} || - "".&html_escape($i->{'action'}).""); - push(@cols, &html_escape($i->{'process'})); - print &ui_checked_columns_row(\@cols, \@tds, "d", $i->{'id'}); +@inittab = &parse_inittab(); +if (@inittab) { + print &ui_form_start("delete.cgi", "post"); + @links = ( &select_all_link("d"), + &select_invert_link("d"), + &ui_link("edit_inittab.cgi?new=1", $text{'inittab_new'}) ); + print &ui_links_row(\@links); + @tds = ( "width=5" ); + print &ui_columns_start( + [ "", + &hlink( $text{ 'inittab_id' }, "id" ), + &hlink( $text{ 'inittab_active' }, "active" ), + &hlink( $text{ 'inittab_runlevels' }, "runlevels" ), + &hlink( $text{ 'inittab_action' }, "action" ), + &hlink( $text{ 'inittab_process' }, "process" ) ], + 100, 0, \@tds); + foreach $i (@inittab) { + local @cols; + push(@cols, &ui_link("edit_inittab.cgi?id=".&urlize($i->{'id'}), + &html_escape($i->{'id'})) ); + push(@cols, $i->{'comment'} ? "$text{'no'}" + : $text{'yes'}); + local @rls = @{$i->{'levels'}}; + push(@cols, @rls ? &html_escape(join(", ", @rls)) + : $text{'inittab_none'}); + push(@cols, $text{"inittab_".$i->{'action'}} || + "".&html_escape($i->{'action'}).""); + push(@cols, &html_escape($i->{'process'})); + print &ui_checked_columns_row(\@cols, \@tds, "d", $i->{'id'}); + } + print &ui_columns_end(); + print &ui_links_row(\@links); + print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]); + } +else { + print "$text{'inittab_none2'}

\n"; + print &ui_link("edit_inittab.cgi?new=1", $text{'inittab_new'}),"

\n"; } -print &ui_columns_end(); -print &ui_links_row(\@links); -print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]); print &ui_hr(); print "\n"; diff --git a/inittab/lang/en b/inittab/lang/en index 8b9282dd7..3f3351507 100644 --- a/inittab/lang/en +++ b/inittab/lang/en @@ -25,6 +25,7 @@ inittab_return=process list inittab_apply=Apply Init Configuration inittab_applymsg=Click this button to apply the current SysV Init Configuration by running the command telinit q. Be aware that any mistakes in your configuration may make the system unusable when this command is run. index_delete=Delete Selected Processes +inittab_none2=No bootup processes were found on your system. This probably indicates that it does not use the SysV init configuration file. edit_inittab_err=Your not allowed to edit a process edit_inittab_title=Edit Process $1