⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 edit_action.cgi

📁 Unix下基于Web的管理工具
💻 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 + -