5 #package to deal with marking up output
6 #You will need to edit parts of this pm
7 #set the value of path to be where your html lives
10 # Copyright 2000-2002 Katipo Communications
12 # This file is part of Koha.
14 # Koha is free software; you can redistribute it and/or modify it under the
15 # terms of the GNU General Public License as published by the Free Software
16 # Foundation; either version 2 of the License, or (at your option) any later
19 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
20 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
21 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
23 # You should have received a copy of the GNU General Public License along with
24 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
25 # Suite 330, Boston, MA 02111-1307 USA
27 # NOTE: I'm pretty sure this module is deprecated in favor of
37 use vars qw($VERSION @ISA @EXPORT);
39 # set the version for version checking
44 C4::Output - Functions for managing templates
54 &themelanguage &gettemplate setlanguagecookie
57 #FIXME: this is a quick fix to stop rc1 installing broken
58 #Still trying to figure out the correct fix.
59 my $path = C4::Context->config('intrahtdocs')."/default/en/includes/";
61 #---------------------------------------------------------------------------------------------------------
64 my ($tmplbase, $opac, $query) = @_;
66 warn "no query in gettemplate";
69 if ($opac ne "intranet") {
70 $htdocs = C4::Context->config('opachtdocs');
72 $htdocs = C4::Context->config('intrahtdocs');
75 my ($theme, $lang) = themelanguage($htdocs, $tmplbase, $opac, $query);
76 my $opacstylesheet = C4::Context->preference('opacstylesheet');
77 my $template = HTML::Template->new(filename => "$htdocs/$theme/$lang/$tmplbase",
78 die_on_bad_params => 0,
80 path => ["$htdocs/$theme/$lang/includes"]);
82 $template->param(themelang => ($opac ne 'intranet'? '/opac-tmpl': '/intranet-tmpl') . "/$theme/$lang",
83 interface => ($opac ne 'intranet'? '/opac-tmpl': '/intranet-tmpl'),
85 opacstylesheet => $opacstylesheet,
92 #---------------------------------------------------------------------------------------------------------
95 my ($htdocs, $tmpl, $section, $query) = @_;
99 my $dbh = C4::Context->dbh;
102 if ( $section eq "intranet")
104 @languages = split " ", C4::Context->preference("opaclanguages");
105 @themes = split " ", C4::Context->preference("template");
109 # we are in the opac here, what im trying to do is let the individual user
110 # set the theme they want to use.
111 # and perhaps the them as well.
112 my $lang=$query->cookie('KohaOpacLanguage');
115 push @languages,$lang;
116 @themes = split " ", C4::Context->preference("opacthemes");
119 @languages = split " ", C4::Context->preference("opaclanguages");
120 @themes = split " ", C4::Context->preference("opacthemes");
125 # searches through the themes and languages. First template it find it returns.
126 # Priority is for getting the theme right.
128 foreach my $th (@themes) {
129 foreach my $la (@languages) {
130 for (my $pass = 1; $pass <= 2; $pass += 1) {
131 $la =~ s/([-_])/ $1 eq '-'? '_': '-' /eg if $pass == 2;
132 if (-e "$htdocs/$th/$la/$tmpl") {
137 last unless $la =~ /[-_]/;
141 if ($theme and $lang) {
142 return ($theme, $lang);
144 return ('default', 'en');
148 sub setlanguagecookie {
149 my ($query,$language,$uri)=@_;
150 my $cookie=$query->cookie(-name => 'KohaOpacLanguage',
153 print $query->redirect(-uri=>$uri,
158 END { } # module clean-up code here (global destructor)
167 Koha Developement team <info@koha.org>