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 )