<% use File::Basename qw(basename); use strict; use vars qw( $NavColor $LinkColor $NavColSpan $Ads $PageCount $DarkRowColor $VLinkColor $BodyWidth $BodyColSpan ); #$NavColor = '#ffcccc'; #$NavColor = '#ffbbbb'; $NavColor = '#005196'; $LinkColor = '#063678'; $NavColSpan = 2; $DarkRowColor = $LinkColor; $VLinkColor = '#993399'; $BodyWidth = '99%'; $BodyColSpan = 3; my $basename = basename($0); my($baseprefix) = split(/\./, $basename); my $section = $FILES{$baseprefix} || die("no section for $baseprefix"); my ($data) = grep($_->{name} eq $section, @{$ASP->{stack}}); my ($copy) = grep($_->{name} eq 'COPYRIGHT', @{$ASP->{stack}}); my ($desc) = grep($_->{name} eq 'INTRO', @{$ASP->{stack}}); my ($keywords) = grep($_->{name} eq 'KEYWORDS', @{$ASP->{stack}}); $desc ={%$desc}; $copy->{body} =~ s/\n\n.*$//sg; $desc->{body} =~ s/\n\n.*$//sg; my %meta = ( 'description' => $desc->{body}, 'keywords' => $keywords->{body}, ); $data || die("can't get data for $section"); my $module = "Apache::ASP"; my $title; if($basename eq 'index.html') { $title = $module; } else { $title = $module."::".ucfirst(lc $data->{name}); } %> <%=$title%> <% if($0 =~ /index.html$/) { for (keys %meta) { %> <% } } %> alink=#ff5599 vlink=<%=$VLinkColor%> marginheight=0 marginwidth=0 leftMargin=0 topMargin=0> <% if($Ads) { %>
<% } %>
cellspacing=8>
>
<% if($Ads) { %> <% } else { %> <% } %>
<%=$module%>
align=center> <% Web Applications with Apache & mod_perl %>
<% my $nav_row_counter = 0; %> > <% # BODY OF DOC %> >
>
<% for my $top (@{$ASP->{stack}}, 'hr', { name=> 'EXAMPLES', file => 'eg/index'}) { if($top eq 'hr') { %><% next; } elsif(! $top) { %><% next; } my $file; if($top->{file}) { $file = $top->{file}; } else { ($file) = grep($top->{name} eq $FILES{$_}, keys %FILES); } $file = "$file.html"; next unless (-e $file); my $here = ($basename eq $file) ? 1 : 0; my $link; if($here) { $link = "$top->{name}"; } else { $link = "$top->{name}"; } # my $nav_row_color = ++$nav_row_counter % 2 ? '#e0f0ff' : 'white'; my $nav_row_color = 'white'; %> <% } %>
>
>><%= $here ? $Server->HTMLEncode("%") : " " %> ><%= $link %>



<% my @stack; my @order; push(@stack, $data); while(@stack) { my $data = shift @stack; unshift(@stack, @{$data->{stack}}); push(@order, $data); } print pod2html($data->{body}, $data->{name}, $data->{level}); my @links; $data = shift @order; if(@order > 1) { # if any change in levels, then we get some headers going my $last_level; if(grep($order[$_]->{level} != $order[$_ + 1]->{level}, 0..($#order-1))) { $last_level = 100; # really low so first will be a header } else { $last_level = $order[0]->{level}; } for $data (@order) { warn "$last_level, $data->{level} $data->{name}\n"; if($last_level != $data->{level}) { if($last_level > $data->{level}) { warn "pushing blank\n"; push(@links, ''); } $last_level = $data->{level}; } push(@links, "URLEncode($data->{unique}).">$data->{name}"); } %>
<% for $index ($i, $i+$half) { if(! defined $links[$index] && $index != 0) { print ""; next; } my $bgcolor = ''; if($index == 0) { # unless($links[$index+1]) { # $bgcolor = $NavColor; # } if($hilite_first) { $bgcolor = $NavColor; } } elsif(! $links[$index-1]) { $bgcolor = $NavColor; } %> <% } %> <% } %>
<% my $half = int((@links + 1) / 2); my $index; my $hilite_first; unless($links[0]) { $hilite_first = 1; shift @links; } for(my $i=0; $i<$half; $i++) { %>
 > <% if(($index == 0 and $hilite_first) || ! $links[$index-1]) { $links[$index] =~ s|\>(.*?)\<|>$1<|i; print "$links[$index]"; } else { print $links[$index]; } %>

<% } for $data (@order) { %>

URLEncode($data->{unique})%>> <%=pod2html($data->{body}, $data->{name}, $data->{level})%> <% } %>

<% # EXTRA SECTION NEXT TO BODY ? my $basename = basename($0); $basename =~ s/\.\w+$//isg; my $extra_include = $basename.'_extra.inc'; warn $extra_include; if($Server->MapInclude($extra_include)) { my $data = $Response->TrapInclude($extra_include); $$data =~ s/(]*>)/$1/isg; %> <%= $$data %> <% } else { print " "; } %>
align=center width=80%> Copyright © 1998-<%= (localtime())[5] + 1900 %>, Chamas Enterprises Inc.