comparison Lib/Engine/Output/Page.pm @ 0:03e58a454b20

Создан репозитарий
author Sergey
date Tue, 14 Jul 2009 12:54:37 +0400
parents
children 16ada169ca75
comparison
equal deleted inserted replaced
-1:000000000000 0:03e58a454b20
1 package Engine;
2 our $Encoding;
3
4 package Engine::Output::Page;
5 use strict;
6
7 use Common;
8 use DOM;
9
10 sub Print {
11 my ($class,$Query,$Action) = @_;
12
13 if (DOM::Site->can('LoadPage')) {
14 my $pageId = $Action->RequestURI->path;
15 DOM::Site->RegisterObject("Request",$Action);
16 my $Page = DOM::Site->LoadPage($pageId);
17 print $Query->header(-status => 200);
18 undef $@;
19 eval {
20 $Page->Properties->{Encoding} = $Engine::Encoding;
21 $Page->Render(*STDOUT);
22 };
23 if ($@) {
24 print $Query->start_html('Error processing template');
25 print $Query->p("Page: $pageId");
26 print $Query->p("Error: $@");
27 print $Query->end_html;
28 }
29 } else {
30 die new Exception('The site doesn\'t support page output');
31 }
32 }
33
34 1;