[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] CVS: koha/C4 Database.pm,1.2.2.7,1.2.2.8 Koha.pm,1.4.2.5,1.4.
From: |
Pat Eyler |
Subject: |
[Koha-cvs] CVS: koha/C4 Database.pm,1.2.2.7,1.2.2.8 Koha.pm,1.4.2.5,1.4.2.6 Output.pm,1.6.2.19,1.6.2.20 Search.pm,1.18.2.10,1.18.2.11 |
Date: |
Fri, 20 Sep 2002 05:51:53 -0700 |
Update of /cvsroot/koha/koha/C4
In directory usw-pr-cvs1:/tmp/cvs-serv21185
Modified Files:
Tag: rel-1-2
Database.pm Koha.pm Output.pm Search.pm
Log Message:
commiting POD patches from Andrew Arenburger
Index: Database.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Database.pm,v
retrieving revision 1.2.2.7
retrieving revision 1.2.2.8
diff -C2 -r1.2.2.7 -r1.2.2.8
*** Database.pm 14 Aug 2002 18:30:50 -0000 1.2.2.7
--- Database.pm 20 Sep 2002 12:51:51 -0000 1.2.2.8
***************
*** 1,3 ****
! package C4::Database; #asummes C4/Database
#requires DBI.pm to be installed
--- 1,3 ----
! package C4::Database; #assumes C4/Database
#requires DBI.pm to be installed
***************
*** 69,72 ****
--- 69,84 ----
} # sub C4Connect
+ =item requireDBI
+
+ &requireDBI($dbh, $functionnname);
+
+ Verifies that C<$dbh> is a valid DBI::db database handle (presumably
+ to the Koha database). If it isn't, the function dies.
+
+ C<$functionname> is the name of the calling function, which will be
+ used in error messages.
+
+ =cut
+ #'
#------------------
# Helper subroutine to make sure database handle was passed properly
***************
*** 75,78 ****
--- 87,94 ----
$dbh,
$subrname, # name of calling subroutine
+ # FIXME - Ought to get this with 'caller',
+ # instead of requiring developers to always
+ # get it right. Plus, it'd give the line
+ # number.
)address@hidden;
***************
*** 86,87 ****
--- 102,113 ----
END { }
+
+ 1;
+ __END__
+ =back
+
+ =head1 SEE ALSO
+
+ L<DBI(3)|DBI>
+
+ =cut
Index: Koha.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Koha.pm,v
retrieving revision 1.4.2.5
retrieving revision 1.4.2.6
diff -C2 -r1.4.2.5 -r1.4.2.6
*** Koha.pm 14 Aug 2002 18:30:50 -0000 1.4.2.5
--- Koha.pm 20 Sep 2002 12:51:51 -0000 1.4.2.6
***************
*** 27,30 ****
--- 27,54 ----
$VERSION = 0.01;
+ =head1 NAME
+
+ C4::Koha - Perl Module containing convenience functions for Koha scripts
+
+ =head1 SYNOPSIS
+
+ use C4::Koha;
+
+
+ $date = slashifyDate("01-01-2002")
+ $ethnicity = fixEthnicity('asian');
+ ($categories, $labels) = borrowercategories();
+ ($categories, $labels) = ethnicitycategories();
+
+ =head1 DESCRIPTION
+
+ Koha.pm provides many functions for Koha scripts.
+
+ =head1 FUNCTIONS
+
+ =over 2
+
+ =cut
+
@ISA = qw(Exporter);
@EXPORT = qw(&slashifyDate
***************
*** 38,41 ****
--- 62,74 ----
my $DEBUG = 0;
+ =item slashifyDate
+
+ $slash_date = &slashifyDate($dash_date);
+
+ Takes a string of the form "DD-MM-YYYY" (or anything separated by
+ dashes), converts it to the form "YYYY/MM/DD", and returns the result.
+
+ =cut
+
sub slashifyDate {
# accepts a date of the form xx-xx-xx[xx] and returns it in the
***************
*** 45,48 ****
--- 78,92 ----
}
+ =item fixEthnicity
+
+ $ethn_name = &fixEthnicity($ethn_code);
+
+ Takes an ethnicity code (e.g., "european" or "pi") and returns the
+ corresponding descriptive name from the C<ethnicity> table in the
+ Koha database ("European" or "Pacific Islander").
+
+ =cut
+ #'
+
sub fixEthnicity($) {
***************
*** 57,60 ****
--- 101,116 ----
}
+ =item borrowercategories
+
+ ($codes_arrayref, $labels_hashref) = &borrowercategories();
+
+ Looks up the different types of borrowers in the database. Returns two
+ elements: a reference-to-array, which lists the borrower category
+ codes, and a reference-to-hash, which maps the borrower category codes
+ to category descriptions.
+
+ =cut
+ #'
+
sub borrowercategories {
my $dbh=C4Connect();
***************
*** 72,75 ****
--- 128,143 ----
}
+ =item ethnicitycategories
+
+ ($codes_arrayref, $labels_hashref) = ðnicitycategories();
+
+ Looks up the different ethnic types in the database. Returns two
+ elements: a reference-to-array, which lists the ethnicity codes, and a
+ reference-to-hash, which maps the ethnicity codes to ethnicity
+ descriptions.
+
+ =cut
+ #'
+
sub ethnicitycategories {
my $dbh=C4Connect();
***************
*** 90,112 ****
__END__
! =head1 NAME
!
! Koha - Perl Module containing convenience functions for Koha scripts
!
! =head1 SYNOPSIS
!
! use Koha;
!
!
! $date = slashifyDate("01-01-2002")
! $ethnicity=fixEthnicity('asian');
! ($categories,$labels)=borrowercategories();
!
! =head1 DESCRIPTION
!
! Koha.pm provides many functions for Koha scripts.
!
! slashifyDate() takes a dash separated date string and returns a slash
! separated date string
=head1 AUTHOR
--- 158,162 ----
__END__
! =back
=head1 AUTHOR
***************
*** 119,125 ****
=cut
-
-
-
-
-
--- 169,170 ----
Index: Output.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Output.pm,v
retrieving revision 1.6.2.19
retrieving revision 1.6.2.20
diff -C2 -r1.6.2.19 -r1.6.2.20
*** Output.pm 16 Sep 2002 05:58:26 -0000 1.6.2.19
--- Output.pm 20 Sep 2002 12:51:51 -0000 1.6.2.20
***************
*** 37,40 ****
--- 37,62 ----
$VERSION = 0.01;
+ =head1 NAME
+
+ C4::Output - Functions for generating HTML for the Koha web interface
+
+ =head1 SYNOPSIS
+
+ use C4::Output;
+
+ $str = &mklink("http://www.koha.org/", "Koha web page");
+ print $str;
+
+ =head1 DESCRIPTION
+
+ The functions in this module generate HTML, and return the result as a
+ printable string.
+
+ =head1 FUNCTIONS
+
+ =over 2
+
+ =cut
+
@ISA = qw(Exporter);
@EXPORT = qw(&startpage &endpage
***************
*** 52,63 ****
# as well as any optionally exported functions
! @EXPORT_OK = qw($Var1 %Hashit);
# non-exported package globals go here
! use vars qw(@more $stuff);
# initalize package globals, first exported ones
my $Var1 = '';
my %Hashit = ();
--- 74,86 ----
# as well as any optionally exported functions
! @EXPORT_OK = qw($Var1 %Hashit); # FIXME - These are never used
# non-exported package globals go here
! use vars qw(@more $stuff); # FIXME - These are never used
# initalize package globals, first exported ones
+ # FIXME - These are never used
my $Var1 = '';
my %Hashit = ();
***************
*** 65,68 ****
--- 88,92 ----
# then the others (which are still accessible as $Some::Module::stuff)
+ # FIXME - These are never used
my $stuff = '';
my @more = ();
***************
*** 102,109 ****
--- 126,154 ----
}
+ =item picktemplate
+
+ $template = &picktemplate($includes, $base);
+
+ Returns the preferred template for a given page. C<$base> is the
+ basename of the script that will generate the page (with the C<.pl>
+ extension stripped off), and C<$includes> is the directory in which
+ HTML include files are located.
+
+ The preferred template is given by the C<template> entry in the
+ C<systempreferences> table in the Koha database. If
+ C<$includes>F</templates/preferred-template/>C<$base.tmpl> exists,
+ C<&picktemplate> returns the preferred template; otherwise, it returns
+ the string C<default>.
+
+ =cut
+ #'
sub picktemplate {
my ($includes, $base) = @_;
my $dbh=C4Connect;
my $templates;
+ # FIXME - Instead of generating the list of possible templates, and
+ # then querying the database to see if, by chance, one of them has
+ # been selected, wouldn't it be better to query the database first,
+ # and then see whether the selected template file exists?
opendir (D, "$includes/templates");
my @dirlist=readdir D;
***************
*** 180,187 ****
--- 225,247 ----
}
+ =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;
+ # 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-top.inc") || die;
***************
*** 229,237 ****
--- 289,329 ----
}
+ =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
***************
*** 260,267 ****
--- 352,370 ----
}
+ =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");
}
+ # XXX - POD
sub mkform{
my ($action,%inputs)address@hidden;
***************
*** 312,315 ****
--- 415,485 ----
}
+ =item mkform3
+
+ $str = &mkform3($action,
+ $fieldname => "$fieldtype\t$fieldvalue\t$fieldpos",
+ ...
+ );
+ print $str;
+
+ Takes a set of arguments that define an input form, generates an HTML
+ string for the form, and returns the string.
+
+ C<$action> is the action for the form, usually the URL of the script
+ that will process it.
+
+ The remaining arguments define the fields in the form. C<$fieldname>
+ is the field's name. This is for the script's benefit, and will not be
+ shown to the user.
+
+ C<$fieldpos> is an integer; fields will be output in order of
+ increasing C<$fieldpos>. This number must be unique: if two fields
+ have the same C<$fieldpos>, one will be picked at random, and the
+ other will be ignored. See below for special considerations, however.
+
+ C<$fieldtype> specifies the type of the input field. It may be one of
+ the following:
+
+ =over 4
+
+ =item C<hidden>
+
+ Generates a hidden field, used to pass data to the script without
+ showing it to the user. C<$fieldvalue> is the value.
+
+ =item C<radio>
+
+ Generates a pair of radio buttons, with values C<$fieldvalue> and
+ C<$fieldpos>. In both cases, C<$fieldvalue> and C<$fieldpos> will be
+ shown to the user.
+
+ =item C<text>
+
+ Generates a one-line text input field. It initially contains
+ C<$fieldvalue>.
+
+ =item C<textarea>
+
+ Generates a four-line text input area. The initial text (which, of
+ course, may not contain any tabs) is C<$fieldvalue>.
+
+ =item C<select>
+
+ Generates a list of items, from which the user may choose one. This is
+ somewhat different from other input field types, and should be
+ specified as:
+ "myselectfield" => "select\t<label0>\t<text0>\t<label1>\t<text1>...",
+ where the C<text>N strings are the choices that will be presented to
+ the user, and C<label>N are the labels that will be passed to the
+ script.
+
+ However, C<text0> should be an integer, since it will be used to
+ determine the order in which this field appears in the form. If any of
+ the C<label>Ns are empty, the rest of the list will be ignored.
+
+ =back
+
+ =cut
+ #'
sub mkform3 {
my ($action, %inputs) = @_;
***************
*** 317,327 ****
$string .= mktablehdr();
my $key;
! my @keys = sort(keys(%inputs));
my @order;
my $count = @keys;
my $i2 = 0;
while ($i2 < $count) {
my $value=$inputs{$keys[$i2]};
my @data=split('\t',$value);
my $posn = $data[2];
if ($data[0] eq 'hidden'){
--- 487,515 ----
$string .= mktablehdr();
my $key;
! my @keys = sort(keys(%inputs)); # FIXME - Why do these need to be
! # sorted?
my @order;
+ # FIXME - Use
+ # while (my ($key, $value) = each %inputs)
+ # Then $count and $i2 can go away.
my $count = @keys;
my $i2 = 0;
while ($i2 < $count) {
my $value=$inputs{$keys[$i2]};
+ # FIXME - Why use a tab-separated string? Why not just use an
+ # anonymous array?
my @data=split('\t',$value);
+ # FIXME - $data[2] is used in two contradictory ways: first,
+ # it is always used as the order in which this field should be
+ # output. Secondly, for radio and select fields, it contains
+ # data used to define the input field. Thus, for instance, you
+ # can't have
+ # fuzzy => "radio\ttrue\tfalse",
+ # color => "radio\tblue\tred",
+ # because both "false" and "red" have numeric value 0, and will
+ # wind up as the first element of the output.
+ # The obvious way to fix this is to change %inputs into an
+ # array; then just read (name, definition) pairs, and output
+ # them in the order in which they were specified.
my $posn = $data[2];
if ($data[0] eq 'hidden'){
***************
*** 332,339 ****
$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]\"
size=40>";
}
if ($data[0] eq 'textarea') {
$text="<textarea name=$keys[$i2] cols=40 rows=4>$data[1]</textarea>";
--- 520,529 ----
$text="<input type=radio name=$keys[$i2] value=$data[1]>$data[1]
<input type=radio name=$keys[$i2] value=$data[2]>$data[2]";
! }
! # FIXME - Is 40 the right size in all cases?
if ($data[0] eq 'text') {
$text="<input type=$data[0] name=$keys[$i2] value=\"$data[1]\"
size=40>";
}
+ # FIXME - Is 40x4 the right size in all cases?
if ($data[0] eq 'textarea') {
$text="<textarea name=$keys[$i2] cols=40 rows=4>$data[1]</textarea>";
***************
*** 345,349 ****
my $val = $data[$i+1];
$text = $text."<option value=$data[$i]>$val";
! $i = $i+2;
}
$text=$text."</select>";
--- 535,539 ----
my $val = $data[$i+1];
$text = $text."<option value=$data[$i]>$val";
! $i = $i+2; # FIXME - Use $i += 2.
}
$text=$text."</select>";
***************
*** 355,364 ****
--- 545,557 ----
}
my $temp=join("\n",@order);
+ # FIXME - Use ".=". That's what it's for.
$string=$string.$temp;
$string=$string.mktablerow(1,'white','<input type=submit>');
$string=$string.mktableft;
$string=$string."</form>";
+ # FIXME - A return statement, while not strictly necessary, would be nice.
}
+ # XXX - POD
sub mkformnotable{
my ($action,@inputs)address@hidden;
***************
*** 383,386 ****
--- 576,652 ----
}
+ =item mkform2
+
+ $str = &mkform2($action,
+ $fieldname =>
"$fieldpos\t$required\t$label\t$fieldtype\t$value0\t$value1\t...",
+ ...
+ );
+ print $str;
+
+ Takes a set of arguments that define an input form, generates an HTML
+ string for the form, and returns the string.
+
+ C<$action> is the action for the form, usually the URL of the script
+ that will process it.
+
+ The remaining arguments define the fields in the form. C<$fieldname>
+ is the field's name. This is for the script's benefit, and will not be
+ shown to the user.
+
+ C<$fieldpos> is an integer; fields will be output in order of
+ increasing C<$fieldpos>. This number must be unique: if two fields
+ have the same C<$fieldpos>, one will be picked at random, and the
+ other will be ignored. See below for special considerations, however.
+
+ If C<$required> is the string C<R>, then the field is required, and
+ the label will have C< (Req.)> appended.
+
+ C<$label> is a string that will appear next to the input field.
+
+ C<$fieldtype> specifies the type of the input field. It may be one of
+ the following:
+
+ =over 4
+
+ =item C<hidden>
+
+ Generates a hidden field, used to pass data to the script without
+ showing it to the user. C<$value0> is its value.
+
+ =item C<radio>
+
+ Generates a pair of radio buttons, with values C<$value0> and
+ C<$value1>. In both cases, C<$value0> and C<$value1> will be shown to
+ the user, next to the radio button.
+
+ =item C<text>
+
+ Generates a one-line text input field. Its size may be specified by
+ C<$value0>. The default is 40. The initial text of the field may be
+ specified by C<$value1>.
+
+ =item C<textarea>
+
+ Generates a text input area. C<$value0> may be a string of the form
+ "WWWxHHH", in which case the text input area will be WWW columns wide
+ and HHH rows tall. The size defaults to 40x4.
+
+ The initial text (which, of course, may not contain any tabs) may be
+ specified by C<$value1>.
+
+ =item C<select>
+
+ Generates a list of items, from which the user may choose one. Here,
+ C<$value1>, C<$value2>, etc. are a list of key-value pairs. In each
+ pair, the key specifies an internal label for a choice, and the value
+ specifies the description of the choice that will be shown the user.
+
+ If C<$value0> is the same as one of the keys that follows, then the
+ corresponding choice will initially be selected.
+
+ =back
+
+ =cut
+ #'
sub mkform2{
# FIXME
***************
*** 448,475 ****
}
! =pod
! =head2 &endpage
! &endpage does not expect any arguments, it returns the string:
! </body></html>\n
=cut
!
sub endpage() {
return("</body></html>\n");
}
! =pod
! =head2 &mklink
! &mklink expects two arguments, the url to link to and the text of the link.
! It returns this string:
! <a href="$url">$text</a>
! where $url is the first argument and $text is the second.
=cut
!
sub mklink($$) {
my ($url,$text)address@hidden;
--- 714,739 ----
}
! =item endpage
! $str = &endpage();
! print $str;
! Returns a string of HTML, the end of an HTML document.
=cut
! #'
sub endpage() {
return("</body></html>\n");
}
! =item mklink
! $str = &mklink($url, $text);
! print $str;
! Returns an HTML string, where C<$text> is a link to C<$url>.
=cut
! #'
sub mklink($$) {
my ($url,$text)address@hidden;
***************
*** 478,505 ****
}
! =pod
!
! =head2 &mkheadr
!
! &mkeadr expects two strings, a type and the text to use in the header.
! types are:
! =over
! =item 1 ends with <br>
!
! =item 2 no special ending tag
!
! =item 3 ends with <p>
!
! =back
!
! Other than this, the return value is the same:
! <FONT SIZE=6><em>$text</em></FONT>$string
! Where $test is the text passed in and $string is the tag generated from
! the type value.
=cut
!
sub mkheadr {
# FIXME
--- 742,760 ----
}
! =item mkheadr
! $str = &mkheadr($type, $text);
! print $str;
! Takes a header type and header text, and returns a string of HTML,
! where C<$text> is rendered with emphasis in a large font size (not an
! actual HTML header).
!
! C<$type> may be 1, 2, or 3. A type 1 "header" ends with a line break;
! Type 2 has no special tag at the end; Type 3 ends with a paragraph
! break.
=cut
! #'
sub mkheadr {
# FIXME
***************
*** 513,517 ****
}
if ($type eq '2'){
! $string="<FONT SIZE=6><em>$text</em></FONT><br>";
}
if ($type eq '3'){
--- 768,772 ----
}
if ($type eq '2'){
! $string="<FONT SIZE=6><em>$text</em></FONT>";
}
if ($type eq '3'){
***************
*** 521,533 ****
}
! =pod
! =head2 ¢er and &endcenter
! ¢er and &endcenter take no arguments and return html tags <CENTER> and
! </CENTER> respectivley.
=cut
!
sub center() {
return ("<CENTER>\n");
--- 776,788 ----
}
! =item center and endcenter
! print ¢er(), "This is a line of centered text.", &endcenter();
! C<¢er> and C<&endcenter> take no arguments and return HTML tags
! <CENTER> and </CENTER> respectivley.
=cut
! #'
sub center() {
return ("<CENTER>\n");
***************
*** 538,550 ****
}
! =pod
! =head2 &bold
! &bold requires that a single string be passed in by the caller. &bold
! will return "<b>$text</b>" where $text is the string passed in.
=cut
!
sub bold($) {
my ($text)=shift;
--- 793,805 ----
}
! =item bold
! $str = &bold($text);
! print $str;
! Returns a string of HTML that renders C<$text> in bold.
=cut
! #'
sub bold($) {
my ($text)=shift;
***************
*** 552,558 ****
--- 807,843 ----
}
+ =item getkeytableselectoptions
+
+ $str = &getkeytableselectoptions($dbh, $tablename,
+ $keyfieldname, $descfieldname,
+ $showkey, $default);
+ print $str;
+
+ Builds an HTML selection box from a database table. Returns a string
+ of HTML that implements this.
+
+ C<$dbh> is a DBI::db database handle.
+
+ C<$tablename> is the database table in which to look up the possible
+ values for the selection box.
+
+ C<$keyfieldname> is field in C<$tablename>. It will be used as the
+ internal label for the selection.
+
+ C<$descfieldname> is a field in C<$tablename>. It will be used as the
+ option shown to the user.
+
+ If C<$showkey> is true, then both the key and value will be shown to
+ the user.
+
+ If the C<$default> argument is given, then if a value (from
+ C<$keyfieldname>) matches C<$default>, it will be selected by default.
+
+ =cut
+ #'
#---------------------------------------------
# Create an HTML option list for a <SELECT> form tag by using
# values from a DB file
+ # XXX - POD
sub getkeytableselectoptions {
use strict;
Index: Search.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Search.pm,v
retrieving revision 1.18.2.10
retrieving revision 1.18.2.11
diff -C2 -r1.18.2.10 -r1.18.2.11
*** Search.pm 12 Sep 2002 04:37:27 -0000 1.18.2.10
--- Search.pm 20 Sep 2002 12:51:51 -0000 1.18.2.11
***************
*** 56,59 ****
--- 56,76 ----
return($i,address@hidden);
}
+
+ =item findguarantor
+
+ $guarantor = &findguarantor($borrower_no);
+ $guarantor_cardno = $guarantor->{"cardnumber"};
+ $guarantor_surname = $guarantor->{"surname"};
+ ...
[...1237 lines suppressed...]
! Here I should go through and document each function thats exported and what
it does. But I havent yet.
!
! my ($count,@results)=catalogsearch($env,$type,$search,$num,$offset);
! This is a front end to all the other searches, depending on what is passed
! to it, it calls the appropriate search
!
! =head2 EXPORT
! catalogsearch
=head1 AUTHOR
--- 2392,2399 ----
END { } # module clean-up code here (global destructor)
! 1;
! __END__
! =back
=head1 AUTHOR
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Koha-cvs] CVS: koha/C4 Database.pm,1.2.2.7,1.2.2.8 Koha.pm,1.4.2.5,1.4.2.6 Output.pm,1.6.2.19,1.6.2.20 Search.pm,1.18.2.10,1.18.2.11,
Pat Eyler <=
- Prev by Date:
[Koha-cvs] CVS: koha/C4 Database.pm,1.6,1.7 Koha.pm,1.6,1.7 Output.pm,1.16,1.17 Search.pm,1.36,1.37
- Next by Date:
[Koha-cvs] CVS: koha/C4 Biblio.pm,1.8,1.9
- Previous by thread:
[Koha-cvs] CVS: koha/C4 Database.pm,1.6,1.7 Koha.pm,1.6,1.7 Output.pm,1.16,1.17 Search.pm,1.36,1.37
- Next by thread:
[Koha-cvs] CVS: koha/C4 Biblio.pm,1.8,1.9
- Index(es):