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

📄 list_virtusers.cgi

📁 Unix下基于Web的管理工具
💻 CGI
字号:
#!/usr/local/bin/perl# list_virtusers.cgi# Display a list of all domain and address mappingsrequire './sendmail-lib.pl';require './virtusers-lib.pl';$access{'vmode'} || &error($text{'virtusers_ecannot'});&header($text{'virtusers_title'}, "");print "<hr>\n";$conf = &get_sendmailcf();$vfile = &virtusers_file($conf);($vdbm, $vdbmtype) = &virtusers_dbm($conf);if (!$vdbm) {	# No Kvirtuser directive in sendmail.cf	print "<p><b>$text{'virtusers_edirective'}</b> <p>\n";	print "<hr>\n";	&footer("", $text{'index_return'});	exit;	}if (!-r $vfile) {	# Text file not found	print "<p><b>",&text('virtusers_efile', "<tt>$vfile</tt>",	      "<tt>$vdbm</tt>", "/config.cgi?$module_name"),"</b><p>\n";	print "<hr>\n";	&footer("", $text{'index_return'});	exit;	}@virts = &list_virtusers($vfile);if ($access{'vmode'} == 2) {	@virts = grep { $_->{'from'} =~ /$access{'vaddrs'}/ } @virts;	}@virts = grep { $access{"vedit_".&virt_type($_->{'to'})} } @virts; &virtuser_form();if (@virts) {	# sort if needed	if ($config{'sort_mode'} == 1) {		@virts = sort sort_by_domain @virts;		}	# render table of virtusers	$mid = int((@virts+1)/2);	print "<table width=100%> <tr><td width=50% valign=top>\n";	&virts_table(@virts[0..$mid-1]);	print "</td><td width=50% valign=top>\n";	if ($mid < @virts) { &virts_table(@virts[$mid..$#virts]); }	print "</td></tr> </table><br>\n";	}print &text('virtusers_desc1', 'list_aliases.cgi'),"<p>\n";print &text('virtusers_desc2', 'list_cws.cgi'),"<br>\n";print "<hr>\n";&footer("", $text{'index_return'});sub virts_table{print "<table border width=100%>\n";print "<tr $tb> <td><b>$text{'virtusers_for'}</b></td> ",      "<td><b>$text{'virtusers_to'}</b></td> </tr>\n";foreach $m (@_) {	print "<tr $cb> <td><a href=\"edit_virtuser.cgi?num=$m->{'num'}\">",	      "<tt>$m->{'from'}</tt></a></td> <td>\n";	if ($m->{'to'} =~ /^error:(.*)$/) {		print &text('virtusers_error', "<tt>$1</tt>");		}	elsif ($m->{'to'} =~ /^\%1\@(\S+)$/) {		print &text('virtusers_domain', "<tt>$1</tt>");		}	else {		print &text('virtusers_address', "<tt>$m->{'to'}</tt>");		}	print "</td> </tr>\n";	}print "</table>\n";}

⌨️ 快捷键说明

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