#!/usr/bin/perl5 require("$ENV{'DOCUMENT_ROOT'}/leapnet/private/lib.server/main.cgi"); &divy; ########## sub divy { ########## &parse_form; $FOOTER = &load_file('HTML','footer.html'); if($TYPE eq 'home') { $HEADER = &load_header("LEAPNet"); $NAV = &load_nav(); $BODY = &load_file('HTML','index.html'); &unload_page("$HEADER$NAV$BODY$FOOTER"); ##### LEAP LETTER ##### } elsif($TYPE eq 'll') { &error(1,"The LEAP Letter you requested does not exist. Refer to this page for a listing of all the LEAP Letters.") if !$EN{$PAGE}; $HEADER = &load_header("LEAPNet:LEAP Letters:$EN{$PAGE} Edition"); &add_leap_letter_link($PAGE); $NAV = &load_nav("$LNK{'LEAPNET'}:$LNK{'LEAPNET.LETTERS'}:$EN{$PAGE}",4,4.1); $FRONT_PAGE = &load_file('HTML',"leap-letters.front/$PAGE.html"); $BODY = &load_file('HTML','leap-letters.letter.html'); $BODY =~ s//$PAGE/g; $BODY =~ s//$FRONT_PAGE/; &unload_page("$HEADER$NAV$BODY$FOOTER"); ##### LEAP LETTER ARTICLES ##### } elsif($TYPE eq 'lla') { &error(1,"The LEAP Letter articles you requested do not exist. Refer to this page for a listing of all the LEAP Letters.") if !$EN{$PAGE}; $HEADER = &load_header("LEAPNet:LEAP Letters:$EN{$PAGE} Edition:Articles"); &add_leap_letter_link($PAGE); $NAV = &load_nav("$LNK{'LEAPNET'}:$LNK{'LEAPNET.LETTERS'}:$LNK{\"LEAPNET.LETTERS.$PAGE\"}:Articles",4,4.2); $ARTICLES = &load_file('HTML',"leap-letters.articles/$PAGE.html"); $BODY = &load_file('HTML','leap-letters.letter.articles.html'); $BODY =~ s//$ARTICLES/; $REP = "$EN{$PAGE} Articles"; $BODY =~ s//$REP/; &unload_page("$HEADER$NAV$BODY$FOOTER"); ##### LEAP LETTER INDEX ##### } elsif($TYPE eq 'llh') { $HEADER = &load_header("LEAPNet:LEAP Letters"); $NAV = &load_nav("$LNK{'LEAPNET'}:LEAP Letters",4); $BODY = &load_file('HTML','leap-letters.index.html'); $FOOTER = &load_file('HTML','footer.html'); &unload_page("$HEADER$NAV$BODY$FOOTER"); ##### PROFILES INDEX ##### } elsif($TYPE eq 'sfph') { $HEADER = &load_header("LEAPNet:State & Federal Profiles"); $NAV = &load_nav("$LNK{'LEAPNET'}:State & Federal Profiles",6); $BODY = &load_file('HTML','profiles.index.html'); &unload_page("$HEADER$NAV$BODY$FOOTER"); ##### LEGISLATIVE CATEGORIES ##### } elsif($TYPE eq 'sfplc') { $HEADER = &load_header("LEAPNet:State & Federal Profiles:Legislation:Legislative Categories"); $NAV = &load_nav("$LNK{'LEAPNET'}:$LNK{'LEAPNET.PROFILES'}:$LNK{'LEAPNET.PROFILES.LEGISLATION'}:Legislative Categories",6); $BODY = &load_file('HTML','profiles.state.legislation.categories.html'); &unload_page("$HEADER$NAV$BODY$FOOTER"); ##### DISCLAIMER ##### } elsif($TYPE eq 'dis') { $HEADER = &load_header("LEAPNet Disclaimer"); $NAV = &load_nav(''); $BODY = &load_file('HTML','disclaimer.html'); &unload_page("$HEADER$NAV$BODY"); ########## HELP ########## ##### HELP HOME ##### } elsif($TYPE eq 'hh') { $BODY = &load_file('HTML','help.index.html'); $PAGE = 1 if !$PAGE; $BODY =~ s//$PAGE/; if($BOOKMARK) { $BODY =~ s//#$BOOKMARK/; } else { $BODY =~ s///; } $NAVMARK = $PAGE; $NAVMARK = 999 if $PAGE == 0; $BODY =~ s//#$NAVMARK/; &unload_page("$BODY"); ##### HELP PAGE ##### } elsif($TYPE eq 'h') { $PAGE =~ s/#.*$//gs; $PAGE =~ s/\D//gs; $HEADER = &load_header(); $BODY = &load_file('HTML',"help.$PAGE.html") || ¬_recognized; $FOOTER =~ s/.*//gs; &unload_page("$HEADER$NAV"); ##### HELP NAV ##### } elsif($TYPE eq 'hnav') { $BODY = &load_file('HTML','help.nav.html'); &unload_page("$BODY"); ##### HELP TOC ##### } elsif($TYPE eq 'htoc') { $BODY = &load_file('HTML','help.toc.html'); &unload_page("$BODY"); ########## SUBSCRIBE ########## } elsif($TYPE eq 'sub') { $HEADER = &load_header("Subscribe to LEAPNet!"); $NAV = &load_nav(''); $BODY = &load_file('HTML','subscribe.html'); &unload_page("$HEADER$NAV$BODY$FOOTER"); } elsif($TYPE eq 'csub') { $HEADER = &load_header("Thanks for your interest in LEAPNet"); $NAV = &load_nav(''); $BODY = &load_file('HTML','subscribe-confirm.html'); &unload_page("$HEADER$NAV$BODY$FOOTER"); ########## ERRORS ############# } elsif($TYPE eq 'ERROR401') { $HEADER = &load_header("ERROR 401"); $NAV = &load_nav(''); $BODY = &load_file('HTML','ERROR.401.html'); &unload_page("$HEADER$NAV$BODY$FOOTER"); } elsif($TYPE eq 'ERROR404') { $HEADER = &load_header("ERROR 404"); $NAV = &load_nav(''); $BODY = &load_file('HTML','ERROR.404.html'); &unload_page("$HEADER$NAV$BODY$FOOTER"); ########## NOT RECOGNIZED ########## } else { ¬_recognized; } } ################ sub parse_form { ################ $in = $ENV{'QUERY_STRING'}; @pairs = split(/&/,$in); foreach $pair (@pairs) { ($name, $value) = split(/=/,$pair); $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ tr/+/ /; if($name eq 't') { $TYPE = $value; } elsif($name eq 'p') { $PAGE = $value; } elsif($name eq 'b') { $BOOKMARK = $value; } } } #################### sub not_recognized { #################### &error(1,"Command/page not recognized."); }