/usr/local/CPAN/CGI-Portable/DemoAardvark.pm
package DemoAardvark;
use strict;
use warnings;
use CGI::Portable;
sub main {
my ($class, $globals) = @_;
my $users_choice = $globals->current_user_path_element();
my $rh_screens = $globals->pref( 'screens' );
if( my $rh_screen = $rh_screens->{$users_choice} ) {
my $inner = $globals->make_new_context();
$inner->inc_user_path_level();
$inner->navigate_url_path( $users_choice );
$inner->navigate_file_path( $rh_screen->{mod_subdir} );
$inner->set_prefs( $rh_screen->{mod_prefs} );
$inner->call_component( $rh_screen->{mod_name} );
$globals->take_context_output( $inner );
} else {
$globals->set_page_body( "<P>Please choose a screen to view.</P>" );
foreach my $key (keys %{$rh_screens}) {
my $label = $rh_screens->{$key}->{link};
my $url = $globals->url_as_string( $key );
$globals->append_page_body( "<BR><A HREF=\"$url\">$label</A>" );
}
}
$globals->page_title( $globals->pref( 'title' ) );
$globals->prepend_page_body( "<H1>".$globals->page_title()."</H1>\n" );
$globals->append_page_body( $globals->pref( 'credits' ) );
}
1;