#!/usr/local/bin/perl # edit_hostconfig.cgi # # Edit the settings in the hostconfig file, or the # StartupItems script or plist associated with the # action described in the hostconfig file. # # Also create a new startup action with associated script and plist # and manually modify hostconfig file. require './init-lib.pl'; require './hostconfig-lib.pl'; use File::Basename; $access{'bootup'} == 1 || &error($text{'edit_ecannot'}); $ty = $ARGV[0]; if ($ty == 0) { # Editing an existing action in /etc/hostconfig $action_to_edit = $ARGV[1]; &ui_print_header(undef, $text{'edit_title'}, ""); %startuphash = &hostconfig_gather(startscript); $startscript = $startuphash{"$action_to_edit"}; if ( $startscript ne "") { $startupdir = dirname("$startscript"); $plistedit = "$startupdir/$config{'plist'}"; } else { $plistedit = ""; } #create the action edit table $actionedit = &hostconfig_editaction("$action_to_edit", "$startscript"); print "
\n"; print "\n"; print "\n"; print "\n"; print "
", &text('index_action'), "", &text('index_setting'), "
$action_to_edit$actionedit
\n"; print "
\n"; #create the edit file forms if ($startscript ne "") { print &ui_hr(); print &text('edit_hostconfig_startup', "$startscript"),"
\n"; # } print "
\n"; print "
\n"; print "\n"; print "
\n"; } if ($plistedit ne "") { print &ui_hr(); print &text('edit_hostconfig_plist', "$plistedit"),"
\n"; # } print "
\n"; print "
\n"; print "\n"; # print "$plistedit
\n"; print "
\n"; } } if ($ty == 1) { &ui_print_header(undef, $text{'edit_hostconfig_new'}, ""); print "
\n"; print "

\n", &text('edit_hostconfig_noquotes', "$text{'edit_start'}"),"\n"; print "

\n", &text('edit_hostconfig_startitems', "$text{'edit_hostconfig_actionname'}", "$text{'edit_hostconfig_scriptname'}"),"\n"; print "

\n", &text('edit_hostconfig_array', "Provides", "Requires", "Uses"),"\n"; print "

\n $text{'edit_hostconfig_further'}\n"; #print "

\n"; print "\n"; print "\n"; print "\n"; print "
Action Details
\n"; # create the form fields $textt=&hostconfig_createtext("Action Name","req"); print "", &hostconfig_createtext("$text{'edit_hostconfig_actionname'}","req"); print "\n"; print "", &hostconfig_createtext("$text{'edit_hostconfig_scriptname'}","req"); print "\n"; print "", &hostconfig_createtext("$text{'edit_start'}","req"); print "\n"; print "", &hostconfig_createtext("$text{'index_desc'}",""); print "\n"; print "", &hostconfig_createtext("Provides",""); print "\n"; print "", &hostconfig_createtext("Requires",""); print "\n"; print "", &hostconfig_createtext("Uses",""); print "\n"; print "", &hostconfig_createtext("OrderPreference",""); print "\n"; print "", &hostconfig_createtext("Start Message",""); print "\n"; print "", &hostconfig_createtext("Stop Message",""); print "\n"; print "", &hostconfig_createtext("Start at boot time?",""); print "\n"; print "\n"; print "
Yes\n"; print " No
* required field
"; print "
\n"; print "
\n"; } if ($ty == 2) { &ui_print_header(undef, $text{'edit_hostconfig_title'}, ""); print &text('edit_hostconfig_hostconfig', "$config{'hostconfig'}"),"
\n"; print "
\n"; print "
\n"; print "
\n"; print &ui_hr(); #add reboot and shutdown messages to this page as well... print "\n"; if ($access{'reboot'}) { print "\n"; print "\n"; print "\n"; print "\n"; } if ($access{'shutdown'}) { print "\n"; print "\n"; print "\n"; print "\n"; } print "
$text{'index_rebootmsg'}
$text{'index_shutdownmsg'}
\n"; } &ui_print_footer("", $text{'index_return'});