| 1 | |
|---|
| 2 | use strict; |
|---|
| 3 | use warnings; |
|---|
| 4 | use CGI qw(:standard); |
|---|
| 5 | use CGI::Carp qw(croak fatalsToBrowser); |
|---|
| 6 | |
|---|
| 7 | use OpenGuides; |
|---|
| 8 | use OpenGuides::Config; |
|---|
| 9 | use OpenGuides::Template; |
|---|
| 10 | |
|---|
| 11 | my $config_file = $ENV{OPENGUIDES_CONFIG_FILE} || "wiki.conf"; |
|---|
| 12 | my $config = OpenGuides::Config->new( file => $config_file ); |
|---|
| 13 | |
|---|
| 14 | my $guide = OpenGuides->new( config => $config ); |
|---|
| 15 | my $wiki = $guide->wiki; |
|---|
| 16 | |
|---|
| 17 | my $node_name = $ENV{REDIRECT_URL}; |
|---|
| 18 | $node_name =~ s/\/(?:id=)?//; |
|---|
| 19 | my $page_name = $node_name; |
|---|
| 20 | $page_name =~ y/_/ /; |
|---|
| 21 | my $URL = url(); |
|---|
| 22 | |
|---|
| 23 | my %output_conf = ( |
|---|
| 24 | wiki => $wiki, |
|---|
| 25 | config => $config, |
|---|
| 26 | node => $page_name, |
|---|
| 27 | template => '404.tt', |
|---|
| 28 | vars => { full_url => $URL }, |
|---|
| 29 | ); |
|---|
| 30 | |
|---|
| 31 | print OpenGuides::Template->output( %output_conf ); |
|---|