📄 edit_action.cgi
字号:
#!/usr/local/bin/perl# edit_action.cgi# Edit or create a bootup action. Existing actions can either be in the# init.d directory (and linked to from the appropriate runlevels), or# just plain runlevel filesrequire './init-lib.pl';%access = &get_module_acl();$access{'bootup'} || &error($text{'edit_ecannot'});$ty = $ARGV[0];if ($ty == 0) { # Editing an action in init.d, linked to from various runlevels $ac = $ARGV[1]; &header($text{'edit_title'}, ""); $file = &action_filename($ac); $data = `cat $file`; }elsif ($ty == 1) { # Editing an action in one of the runlevels $rl = $ARGV[1]; $num = $ARGV[2]; $ac = $ARGV[3]; $inode = $ARGV[4]; $ss = $ARGV[5]; &header($text{'edit_title'}, ""); $file = &runlevel_filename($rl, $ss, $num, $ac); $data = `cat $file`; }else { # Creating a new action in init.d &header($text{'create_title'}, ""); }print "<hr>\n";print "<table border>\n";print "<tr $tb> <td><b>$text{'edit_details'}</b></td> </tr>\n";print "<tr $cb> <td><table>\n";print "<form method=post action=save_action.cgi>\n";print "<input type=hidden name=type value=$ty>\n";if ($ty != 2) { print "<input type=hidden name=old value=\"$ac\">\n"; if ($ty == 1) { print "<input type=hidden name=runlevel value=\"$rl\">\n"; print "<input type=hidden name=startstop value=\"$ss\">\n"; print "<input type=hidden name=number value=\"$num\">\n"; } }print "<tr> <td><b>$text{'edit_name'}</b></td>\n";if ($ac =~ /^\//) { print "<td><tt>$ac</tt></td> </tr>\n"; print "<input type=hidden name=name value=\"$ac\">\n"; print "<input type=hidden name=extra value=1>\n"; }else { print "<td><input size=20 name=name value=\"$ac\"></td> </tr>\n"; }$fs = "<font size=-1>"; $fe = "</font>";if ($ty == 2) { # Display fields for a template print "<tr> <td valign=top><b>$text{'edit_desc'}</b></td>\n"; print "<td>$fs<textarea rows=2 cols=80 name=desc>", "</textarea>$fe</td> </tr>\n"; if ($config{'start_stop_msg'}) { print "<tr> <td><b>$text{'edit_startmsg'}</b></td>\n"; print "<td><input name=start_msg size=40></td> </tr>\n"; print "<tr> <td><b>$text{'edit_stopmsg'}</b></td>\n"; print "<td><input name=stop_msg size=40></td> </tr>\n"; } print "<tr> <td valign=top><b>$text{'edit_start'}</b></td>\n"; print "<td>$fs<textarea rows=5 cols=80 name=start>", "</textarea>$fe</td> </tr>\n"; print "<tr> <td valign=top><b>$text{'edit_stop'}</b></td>\n"; print "<td>$fs<textarea rows=5 cols=80 name=stop>", "</textarea>$fe</td> </tr>\n"; }else { # Allow direct editing of the script print "<tr> <td valign=top><b>$text{'edit_script'}</b></td>\n"; print "<td>$fs<textarea rows=15 cols=80 name=data>",$data, "</textarea>$fe</td> </tr>\n"; }print "</table></td></tr></table><p>\n";if ($ty == 1) { # Display a message print "<b>",&text("edit_bad$ss", $rl),"</b><br>\n"; print "<a href=\"fix_action.cgi?$rl+$ss+$num+$ac\">", "$text{'edit_fix'}</a>. <p>\n"; }else { # Display which runlevels the action is started/stopped in print "<table border>\n"; print "<tr $tb> <td colspan=3><b>$text{'edit_levels'}</b></td> </tr>\n"; if ($ac) { foreach $s (&action_levels('S', $ac)) { @s = split(/\s+/, $s); $spri{$s[0]} = $s[1]; } foreach $k (&action_levels('K', $ac)) { @k = split(/\s+/, $k); $kpri{$k[0]} = $k[1]; } } foreach $rl (&list_runlevels()) { print "<tr $cb> <td><b>",&text('edit_rl', $rl),"</b></td>\n"; $od = $config{'order_digits'}; printf "<td><input type=checkbox name=S$rl value=1 %s>\n", defined($spri{$rl}) ? "checked" : ""; print $text{'edit_startat'},"\n"; print "<input name=pri_S$rl size=$od value=$spri{$rl}></td>\n"; printf "<td><input type=checkbox name=K$rl value=1 %s>\n", defined($kpri{$rl}) ? "checked" : ""; print $text{'edit_stopat'},"\n"; print "<input name=pri_K$rl size=$od value=$kpri{$rl}></td>\n"; print "</tr>\n"; } print "</table><p>\n"; }if ($ty != 2) { print "<table width=100%>\n"; print "<tr> <td><input type=submit value='$text{'save'}'></td>\n"; print "</form><form action=\"start_stop.cgi\">\n"; print "<input type=hidden name=file value=\"$file\">\n"; $args = join("+", @ARGV); print "<input type=hidden name=back value=\"edit_action.cgi?$args\">\n"; print "<td align=center>\n"; print "<input type=submit name=start value='$text{'edit_startnow'}'>\n"; print "<input type=submit name=stop value='$text{'edit_stopnow'}'>\n"; print "</td>\n"; print "</form><form action=\"delete_action.cgi\">\n"; print "<input type=hidden name=type value=\"$ty\">\n"; print "<input type=hidden name=action value=\"$ac\">\n"; if ($ty == 1) { print "<input type=hidden name=runlevel value=\"$rl\">\n"; print "<input type=hidden name=startstop value=\"$ss\">\n"; print "<input type=hidden name=number value=\"$num\">\n"; } print "<td align=right><input type=submit ", "value='$text{'delete'}'></td> </tr>\n"; print "</form></table><p>\n"; }else { print "<input type=submit value='$text{'create'}'></form><p>\n"; }print "<hr>\n";&footer("", $text{'index_return'});
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -