koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] CVS: koha/C4 Search.pm,1.67,1.68


From: Steve Tonnesen
Subject: [Koha-cvs] CVS: koha/C4 Search.pm,1.67,1.68
Date: Wed, 11 Jun 2003 11:48:10 -0700

Update of /cvsroot/koha/koha/C4
In directory sc8-pr-cvs1:/tmp/cvs-serv20129

Modified Files:
        Search.pm 
Log Message:
Added two new routines for getting a list of available themes/languages (used
by new systempreferences.pl script to present a list of available themes or
languages).


Index: Search.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Search.pm,v
retrieving revision 1.67
retrieving revision 1.68
diff -C2 -r1.67 -r1.68
*** Search.pm   5 Jun 2003 17:03:32 -0000       1.67
--- Search.pm   11 Jun 2003 18:48:07 -0000      1.68
***************
*** 63,67 ****
  &addauthor &bibitems &barcodes &findguarantees &allissues
  &findguarantor &getwebsites &getwebbiblioitems &catalogsearch &itemcount2
! &isbnsearch &breedingsearch);
  # make all your functions, whether exported or not;
  
--- 63,67 ----
  &addauthor &bibitems &barcodes &findguarantees &allissues
  &findguarantor &getwebsites &getwebbiblioitems &catalogsearch &itemcount2
! &isbnsearch &breedingsearch &getallthemes &getalllanguages);
  # make all your functions, whether exported or not;
  
***************
*** 2425,2428 ****
--- 2425,2542 ----
        return($count, @results);
  } # sub breedingsearch
+ 
+ 
+ =item getalllanguages 
+ 
+   (@languages) = &getalllanguages();
+   (@languages) = &getalllanguages($theme);
+ 
+ Returns an array of all available languages.
+ 
+ =cut
+ 
+ sub getalllanguages {
+     my $type=shift;
+     my $theme=shift;
+     my $htdocs;
+     my @languages;
+     if ($type eq 'opac') {
+       $htdocs=C4::Context->config('opachtdocs');
+       if ($theme and -d "$htdocs/$theme") {
+           opendir D, "$htdocs/$theme";
+           foreach my $language (readdir D) {
+               next if $language=~/^\./;
+               next if $language eq 'all';
+               push @languages, $language;
+           }
+           return sort @languages;
+       } else {
+           my $lang;
+           foreach my $theme (getallthemes('opac')) {
+               opendir D, "$htdocs/$theme";
+               foreach my $language (readdir D) {
+                   next if $language=~/^\./;
+                   next if $language eq 'all';
+                   $lang->{$language}=1;
+               }
+           }
+           @languages=keys %$lang;
+           return sort @languages;
+       }
+     } elsif ($type eq 'intranet') {
+       $htdocs=C4::Context->config('intrahtdocs');
+       if ($theme and -d "$htdocs/$theme") {
+           opendir D, "$htdocs/$theme";
+           foreach my $language (readdir D) {
+               next if $language=~/^\./;
+               next if $language eq 'all';
+               push @languages, $language;
+           }
+           return sort @languages;
+       } else {
+           my $lang;
+           foreach my $theme (getallthemes('opac')) {
+               opendir D, "$htdocs/$theme";
+               foreach my $language (readdir D) {
+                   next if $language=~/^\./;
+                   next if $language eq 'all';
+                   $lang->{$language}=1;
+               }
+           }
+           @languages=keys %$lang;
+           return sort @languages;
+       }
+     } else {
+       my $lang;
+       my $htdocs=C4::Context->config('intrahtdocs');
+       foreach my $theme (getallthemes('intranet')) {
+           opendir D, "$htdocs/$theme";
+           foreach my $language (readdir D) {
+               next if $language=~/^\./;
+               next if $language eq 'all';
+               $lang->{$language}=1;
+           }
+       }
+       my $htdocs=C4::Context->config('opachtdocs');
+       foreach my $theme (getallthemes('opac')) {
+           opendir D, "$htdocs/$theme";
+           foreach my $language (readdir D) {
+               next if $language=~/^\./;
+               next if $language eq 'all';
+               $lang->{$language}=1;
+           }
+       }
+       @languages=keys %$lang;
+       return sort @languages;
+     }
+ }
+ 
+ =item getallthemes 
+ 
+   (@themes) = &getallthemes('opac');
+   (@themes) = &getallthemes('intranet');
+ 
+ Returns an array of all available themes.
+ 
+ =cut
+ 
+ sub getallthemes {
+     my $type=shift;
+     my $htdocs;
+     my @themes;
+     if ($type eq 'intranet') {
+       $htdocs=C4::Context->config('intrahtdocs');
+     } else {
+       $htdocs=C4::Context->config('opachtdocs');
+     }
+     opendir D, "$htdocs";
+     my @dirlist=readdir D;
+     foreach my $directory (@dirlist) {
+       -d "$htdocs/$directory/en" and push @themes, $directory;
+     }
+     return @themes;
+ }
+ 
+ 
  
  =item isbnsearch




reply via email to

[Prev in Thread] Current Thread [Next in Thread]