Apache-Module
view release on metacpan or search on metacpan
lib/Apache/ModuleDoc.pm view on Meta::CPAN
<BODY
BGCOLOR="#FFFFFF" TEXT="#000000"
LINK="#0000FF" VLINK="#000080" ALINK="#FF0000"
>
<!-- generated by Apache::ModuleDoc $Apache::ModuleDoc::VERSION -->
EOF
}
sub version {
my($v) = SERVER_VERSION =~ m:Apache/(\S+):;
$v;
}
sub header {
my($r, $modp) = @_;
my $name = $modp->name;
(my $module = $name) =~ s/\.c$//;
start_html($module);
print <<EOF;
<DIV ALIGN="CENTER">
<IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]">
<H3>Apache HTTP Server Version $ServerVersion</H3>
</DIV>
<H1 ALIGN="CENTER">Module $module</H1>
<P>This module is contained in the $name file.</P>
EOF
}
sub menu {
my($r, $modp) = @_;
my @cmds = sort by_name @{ $modp->commands };
print "<UL>\n";
for my $cmd (@cmds) {
my $text = escape_html($cmd);
(my $name = $cmd) =~ s/[<>]/./g;
print qq(<LI><A HREF="#$name">$text</A>\n);
}
print "</UL>\n<HR>\n";
}
sub body {
my($r, $modp) = @_;
my @cmds = sort by_name @{ $modp->commands };
(my $module = $modp->name) =~ s/\.c$//;
for my $cmd (@cmds) {
my $text = escape_html($cmd);
my $cmd_rec = $modp->cmds->find($cmd);
(my $name = $cmd) =~ s/[<>]/./g;
my($context,$override) = overrides($modp, $cmd_rec);
my $args_how = $cmd_rec->args_how;
my $syntax = $Syntax{$args_how};
my $perl_syntax = perl_syntax($cmd, $args_how);
#this one's a wild guess
my $status = "Extension";
my $uri = $r->uri . ".html";
if(-e $r->lookup_uri($uri)->filename) {
$status = "Base";
}
$status = "Base" if $module eq "http_core";
print qq(<H2><A name="$name">$text directive</A></H2><P>\n);
print "Description: ",
escape_html($cmd_rec->errmsg), "<br>";
splain(Syntax => "$text <EM>$syntax</EM> ($args_how)");
splain(PerlSyntax => "<tt>$perl_syntax</tt>");
splain(Context => $context);
splain(Override => $override);
splain(Status => $status);
splain(Module => $module);
print "</P><HR>";
}
}
sub perl_syntax {
my($cmd, $args_how) = @_;
my $perl_syntax = $PerlSyntax{$args_how};
if($args_how == RAW_ARGS) {
if($cmd =~ /<(\w+)/) {
if($raw_as_hash{$1}) {
my $nm = $1;
(my $ix = $nm) =~ s/([a-z])([A-Z])/$1.'_'.lc($2)/ge;
$perl_syntax =~ s/name/lc($ix)."_name"/e;
$perl_syntax =~ s/var/$nm/;
}
else {
$perl_syntax = "N/A";
}
}
else {
$perl_syntax = q{$var = $arg};
}
}
elsif($args_how == NO_ARGS and $cmd =~ m:</:) {
$perl_syntax = "N/A";
}
$perl_syntax =~ s/var/$cmd/;
$perl_syntax = $cmd if $asis{$cmd};
$perl_syntax = "N/A" if $NA{$cmd};
return $perl_syntax;
}
sub splain {
my($name, $rest) = @_;
print <<EOF
<BR><A HREF="directive-dict.html#$name" REL="Help">
<STRONG>$name:</STRONG></A>
$rest
EOF
}
sub footer {
print <<EOF;
( run in 2.586 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )