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

📄 generics-lib.pl

📁 Unix下基于Web的管理工具
💻 PL
字号:
# generics-lib.pl# Functions for the generics table# generics_dbm(&config)# Returns the filename and type of the generics database, or undef if nonesub generics_dbm{foreach $f (&find_type("K", $_[0])) {        if ($f->{'value'} =~ /^generics\s+(\S+)[^\/]+(\S+)$/) {		return ($2, $1);                }	}return undef;}# generics_file(&config)# Returns the filename of the text generics file, or undef if nonesub generics_file{return &find_textfile($config{'generics_file'}, &generics_dbm($_[0]));}# list_generics(textfile)sub list_generics{local($lnum, @rv);$lnum = 0;open(GEN, $_[0]);while(<GEN>) {	s/\r|\n//g;     # remove newlines	s/#.*$//g;	# remove comments	if (/^(\S+)\s+(.*)/) {		local(%virt);		$virt{'from'} = $1;		$virt{'to'} = $2;		$virt{'line'} = $lnum;		$virt{'num'} = scalar(@rv);		push(@rv, \%virt);		}	$lnum++;	}close(GEN);return @rv;}# create_generic(&details, textfile, dbmfile, dbmtype)# Create a new generic mappingsub create_generic{local(%virt);open(GEN, ">> $_[1]");print GEN "$_[0]->{'from'}\t$_[0]->{'to'}\n";close(GEN);if ($_[3] eq "dbm") {	dbmopen(%virt, $_[2], 0644);	$virt{$_[0]->{'from'}} = $_[0]->{'to'};	dbmclose(%virt);	}else { &run_makemap($_[1], $_[2], $_[3]); }}# delete_generic(&details, textfile, dbmfile, dbmtype)# Delete an existing generic mappingsub delete_generic{local(@virt, %virt);open(GEN, $_[1]);@virt = <GEN>;close(GEN);splice(@virt, $_[0]->{'line'}, 1);open(GEN, "> $_[1]");print GEN @virt;close(GEN);if ($_[3] eq "dbm") {	dbmopen(%virt, $_[2], 0644);	delete($virt{$_[0]->{'from'}});	dbmclose(%virt);	}else { &run_makemap($_[1], $_[2], $_[3]); }}# modify_generic(&old, &details, textfile, dbmfile, dbmtype)# Change an existing genericsub modify_generic{local(@virt, %virt);open(GEN, $_[2]);@virt = <GEN>;close(GEN);splice(@virt, $_[0]->{'line'}, 1, "$_[1]->{'from'}\t$_[1]->{'to'}\n");open(GEN, "> $_[2]");print GEN @virt;close(GEN);if ($_[4] eq "dbm") {	dbmopen(%virt, $_[3], 0644);	delete($virt{$_[0]->{'from'}});	$virt{$_[1]->{'from'}} = $_[1]->{'to'};	dbmclose(%virt);	}else { &run_makemap($_[2], $_[3], $_[4]); }}sub generic_form([&details]){local $g = $_[0];print "<form action=save_generic.cgi>\n";if ($g) { print "<input type=hidden name=num value=$g->{'num'}>\n"; }else { print "<input type=hidden name=new value=1>\n"; }print "<table border>\n";print "<tr $tb> <td><b>",$g ? $text{'gform_edit'} : $text{'gform_create'},      "</b></td> </tr>\n";print "<tr $cb> <td><table>\n";print "<tr> <td><b>$text{'gform_from'}</b></td>\n";print "<td><input name=from size=30 value=\"$g->{'from'}\"></td> </tr>\n";print "<tr> <td><b>$text{'gform_to'}</b></td>\n";print "<td><input name=to size=30 value=\"$g->{'to'}\"></td> </tr>\n";print "<tr> <td colspan=3 align=right>\n";if ($_[0]) {        print "<input type=submit value='$text{'save'}'>\n";        print "<input type=submit name=delete value='$text{'delete'}'>\n";        }else { print "<input type=submit value='$text{'create'}'>\n"; }print "</td> </tr>\n";print "</table></td></tr></table></form>\n";}1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -