Author: spadkins
Date: Mon Jun 12 15:20:25 2006
New Revision: 6500
Modified:
p5ee/trunk/App-Widget/lib/App/TemplateEngine.pm
Log:
Added themable templates
Modified: p5ee/trunk/App-Widget/lib/App/TemplateEngine.pm
==============================================================================
--- p5ee/trunk/App-Widget/lib/App/TemplateEngine.pm (original)
+++ p5ee/trunk/App-Widget/lib/App/TemplateEngine.pm Mon Jun 12 15:20:25 2006
@@ -190,14 +190,22 @@
&App::sub_entry if ($App::trace);
my ($self, $template) = @_;
+ my $context = $self->{context};
+ my $theme = $context->get_user_option("theme");
+ my $options = $context->{options};
+
my ($template_dir, $template_text);
local(*App::FILE);
- $template_dir = $self->{template_dir};
- $template_dir = $self->{context}->get_option("template_dir") if
(!$template_dir);
- $template_dir = "templates" if (!$template_dir);
+ $template_dir = $self->{template_dir} || $options->{template_dir} ||
"$options->{prefix}/templates";
- if (open(App::FILE,"< $template_dir/$template")) {
- $template_text = join("",<App::FILE>);
+ if ($theme && open(App::FILE,"< $template_dir/$theme/$template")) {
+ local($/) = undef;
+ $template_text = <App::FILE>;
+ close(App::FILE);
+ }
+ elsif (open(App::FILE,"< $template_dir/$template")) {
+ local($/) = undef;
+ $template_text = <App::FILE>;
close(App::FILE);
}
else {