- }
-
- unless ($epath) {
- warn "Could not find $template in @tmpldirs";
- return 0;
- }
-
- if ($language eq $elanguage) {
- $returns{'foundlanguage'} = 1;
- } else {
- $returns{'foundlanguage'} = 0;
- warn "The language $language could not be found for $template of $theme.\nServing $elanguage instead.\n";
- }
- if ($theme eq $etheme) {
- $returns{'foundtheme'} = 1;
- } else {
- $returns{'foundtheme'} = 0;
- warn "The template $template could not be found for theme $theme.\nServing $template of $etheme instead.\n";
- }
-
- $returns{'path'} = $epath;
-
- return (%returns);
-}
-
-=item getlanguageorder
-
- @languages = &getlanguageorder();
-
-Returns the list of languages that the user will accept, and returns
-them in order of decreasing preference. This is retrieved from the
-browser's headers, if possible; otherwise, C<&getlanguageorder> uses
-the C<languageorder> setting from the C<systempreferences> table in
-the Koha database. If neither is set, it defaults to C<en> (English).
-
-=cut
-#'
-sub getlanguageorder () {
- my @languageorder;
-
- if ($ENV{'HTTP_ACCEPT_LANGUAGE'}) {
- @languageorder = split (/\s*,\s*/ ,lc($ENV{'HTTP_ACCEPT_LANGUAGE'}));
- } elsif (my $order = C4::Context->preference("languageorder")) {
- @languageorder = split (/\s*,\s*/ ,lc($order));
- } else { # here should be another elsif checking for apache's languageorder
- @languageorder = ('en');
- }
-
- return (@languageorder);
-}
-
-=item startpage
-
- $str = &startpage();
- print $str;
-
-Returns a string of HTML, the beginning of a new HTML document.
-
-=cut
-#'
-sub startpage() {
- return("<html>\n");
-}
-
-=item gotopage
-
- $str = &gotopage("//opac.koha.org/index.html");
- print $str;
-
-Generates a snippet of HTML code that will redirect to the given URL
-(which should not include the initial C<http:>), and returns it.
-
-=cut
-#'
-sub gotopage($) {
- my ($target) = shift;
- #print "<br>goto target = $target<br>";
- my $string = "<META HTTP-EQUIV=Refresh CONTENT=\"0;URL=http:$target\">";
- return $string;
-}
-
-=item startmenu
-
- @lines = &startmenu($type);
- print join("", @lines);
-
-Given a page type, or category, returns a set of lines of HTML which,
-when concatenated, generate the menu at the top of the web page.
-
-C<$type> may be one of C<issue>, C<opac>, C<member>, C<acquisitions>,
-C<report>, C<circulation>, or something else, in which case the menu
-will be for the catalog pages.
-
-=cut
-#'
-sub startmenu($) {
- # edit the paths in here
- my ($type)=shift;
- if ($type eq 'issue') {
- open (FILE,"$path/issues-top.inc") || die "could not find : $path/issues-top.inc";
- } elsif ($type eq 'opac') {
- open (FILE,"$path/opac-top.inc") || die "could not find : $path/opac-top.inc";
- } elsif ($type eq 'member') {
- open (FILE,"$path/members-top.inc") || die "could not find : $path/members-top.inc";
- } elsif ($type eq 'acquisitions'){
- open (FILE,"$path/acquisitions-top.inc") || die "could not find : $path/acquisition-top.inc";
- } elsif ($type eq 'report'){
- open (FILE,"$path/reports-top.inc") || die "could not find : $path/reports-top.inc";
- } elsif ($type eq 'circulation') {
- open (FILE,"$path/circulation-top.inc") || die "could not find : $path/circulation-top.inc";
- } else {
- open (FILE,"$path/cat-top.inc") || die "could not find : $path/cat-top.inc";
- }
- my @string=<FILE>;
- close FILE;
- # my $count=@string;
- # $string[$count]="<BLOCKQUOTE>";
- return @string;
-}
-
-=item endmenu
-
- @lines = &endmenu($type);
- print join("", @lines);
-
-Given a page type, or category, returns a set of lines of HTML which,
-when concatenated, generate the menu at the bottom of the web page.
-
-C<$type> may be one of C<issue>, C<opac>, C<member>, C<acquisitions>,
-C<report>, C<circulation>, or something else, in which case the menu
-will be for the catalog pages.
-
-=cut
-#'
-sub endmenu {
- my ($type) = @_;
- if ( ! defined $type ) { $type=''; }
- # FIXME - It's bad form to die in a CGI script. It's even worse form
- # to die without issuing an error message.
- if ($type eq 'issue') {
- open (FILE,"<$path/issues-bottom.inc") || die;
- } elsif ($type eq 'opac') {
- open (FILE,"<$path/opac-bottom.inc") || die;
- } elsif ($type eq 'member') {
- open (FILE,"<$path/members-bottom.inc") || die;
- } elsif ($type eq 'acquisitions') {
- open (FILE,"<$path/acquisitions-bottom.inc") || die;
- } elsif ($type eq 'report') {
- open (FILE,"<$path/reports-bottom.inc") || die;
- } elsif ($type eq 'circulation') {
- open (FILE,"<$path/circulation-bottom.inc") || die;
- } else {
- open (FILE,"<$path/cat-bottom.inc") || die;
- }
- my @string=<FILE>;
- close FILE;
- return @string;
-}
-
-=item mktablehdr
-
- $str = &mktablehdr();
- print $str;
-
-Returns a string of HTML, which generates the beginning of a table
-declaration.
-
-=cut
-#'
-sub mktablehdr() {
- return("<table border=0 cellspacing=0 cellpadding=5>\n");
-}
-
-=item mktablerow
-
- $str = &mktablerow($columns, $color, @column_data, $bgimage);
- print $str;
-
-Returns a string of HTML, which generates a row of data inside a table
-(see also C<&mktablehdr>, C<&mktableft>).
-
-C<$columns> specifies the number of columns in this row of data.
-
-C<$color> specifies the background color for the row, e.g., C<"white">
-or C<"#ffacac">.
-
-C<@column_data> is an array of C<$columns> elements, each one a string
-of HTML. These are the contents of the row.
-
-The optional C<$bgimage> argument specifies the pathname to an image
-to use as the background for each cell in the row. This pathname will
-used as is in the output, so it should be relative to the HTTP
-document root.
-
-=cut
-#'
-sub mktablerow {
- #the last item in data may be a backgroundimage
-
- # FIXME
- # should this be a foreach (1..$cols) loop?
-
- my ($cols,$colour,@data)=@_;
- my $i=0;
- my $string="<tr valign=top bgcolor=$colour>";
- while ($i <$cols){
- if (defined $data[$cols]) { # if there is a background image
- $string.="<td background=\"$data[$cols]\">";
- } else { # if there's no background image
- $string.="<td>";
- }
- if (! defined $data[$i]) {$data[$i]="";}
- if ($data[$i] eq "") {
- $string.=" </td>";
- } else {
- $string.="$data[$i]</td>";
- }
- $i++;
- }
- $string .= "</tr>\n";
- return($string);
-}
-
-=item mktableft
-
- $str = &mktableft();
- print $str;
-
-Returns a string of HTML, which generates the end of a table
-declaration.
-
-=cut
-#'
-sub mktableft() {
- return("</table>\n");
-}
-
-# FIXME - This is never used.
-sub mkform{
- my ($action,%inputs)=@_;
- my $string="<form action=$action method=post>\n";
- $string .= mktablehdr();
- my $key;
- my @keys=sort keys %inputs;
-
- my $count=@keys;
- my $i2=0;
- while ( $i2<$count) {
- my $value=$inputs{$keys[$i2]};
- my @data=split('\t',$value);
- #my $posn = shift(@data);
- if ($data[0] eq 'hidden'){
- $string .= "<input type=hidden name=$keys[$i2] value=\"$data[1]\">\n";
- } else {
- my $text;
- if ($data[0] eq 'radio') {
- $text="<input type=radio name=$keys[$i2] value=$data[1]>$data[1]
- <input type=radio name=$keys[$i2] value=$data[2]>$data[2]";
- }
- if ($data[0] eq 'text') {
- $text="<input type=$data[0] name=$keys[$i2] value=\"$data[1]\">";
- }
- if ($data[0] eq 'textarea') {
- $text="<textarea name=$keys[$i2] wrap=physical cols=40 rows=4>$data[1]</textarea>";
- }
- if ($data[0] eq 'select') {
- $text="<select name=$keys[$i2]>";
- my $i=1;
- while ($data[$i] ne "") {
- my $val = $data[$i+1];
- $text .= "<option value=$data[$i]>$val";
- $i += 2;
- }
- $text .= "</select>";
- }
- $string .= mktablerow(2,'white',$keys[$i2],$text);
- #@order[$posn] =mktablerow(2,'white',$keys[$i2],$text);
- }
- $i2++;
- }
- #$string=$string.join("\n",@order);
- $string .= mktablerow(2,'white','<input type=submit>','<input type=reset>');
- $string .= mktableft;
- $string .= "</form>";
-}