46 files to go.
--- /dev/null
+Here Ive tried to collect all the bugfixes and stable new features added
+since 1.1.1
+
+* Keyword, Title and Author searches sped up.
+* Bugfix for borrower insert script.
+* Bugfix for writing off fines.
+* Budget breakdown in acquisitions is created on the fly (as opposed to written to an include)
+* Lots of tidy ups in the search module
+* Fixed display of reserves, on members and detail screens
+* Bugfix for manual invoices
+* Bugfix for catalogue maintenance
+* Tidied up decimal places for item costs
+* Bugfix to update group script
+* New Feature - Can restrict a keyword search to a dewey number
+* New Feature - Modify a borrower who is a guarantor causes relevant changes to be made to all their guarntees
+* Bug fix for combined author and title search (wasnt picking up series title)
+* Bugfix for reserve handling and charges
+* New Feature - Class search
+* New Feature - Dewey search
+* New Feature - Deleting borrowers checks their accounts for reserves, issues and fines
+* New Feature - translation script translator/
+* New Feature - Reading record, can be sorted by title or author, or date
+* New Feature - Simple acquisitions module
--- /dev/null
+#!/bin/sh
+
+# Script to start Koha background Z39.50 search daemon
+
+# Part of the Koha Library Mgmt System - www.koha.org
+# Licensed under the GPL
+
+#----------------------------
+# Call this script during system startup, such as from rc.local
+
+# Bugs/To Do:
+# Needs SysV-type start/stop options
+
+#----------------------------
+# User ID to run the daemon as. Don't use "root"
+RunAsUser=apache
+
+KohaDir=/usr/local/www/koha/htdocs/cgi-bin/koha/acqui.simple
+export KohaDir
+
+#----------------------------
+if [ ! -d $KohaDir ]
+then
+ echo ERROR: Cannot find Koha directory $KohaDir
+ exit 1
+fi
+
+KohaZ3950Shell=$KohaDir/z3950-daemon-shell.sh
+
+if [ ! -x $KohaZ3950Shell ]
+then
+ echo ERROR: Cannot find Koha Z39.50 daemon launcher $KohaZ3950Shell
+ exit 1
+fi
+
+su -s /bin/sh -c '$KohaZ3950Shell &' - $RunAsUser &
--- /dev/null
+#!/bin/sh
+
+# Script to start Koha background Z39.50 search daemon
+
+# Part of the Koha Library Mgmt System - www.koha.org
+# Licensed under the GPL
+
+#----------------------------
+# Do NOT run this script directly from system startup-
+# Call z3950-daemon-launch.sh instead
+
+#----------------------------
+
+KohaDir=/usr/local/www/koha/htdocs/cgi-bin/koha/acqui.simple
+KohaModuleDir=/usr/local/koha/modules
+LogDir=/var/log/koha
+
+#----------------------------
+LOGFILE=$LogDir/z3950-daemon-`date +%Y%m%d-%H%M`.log
+
+touch $LOGFILE
+if [ ! -w $LOGFILE ]
+then
+ echo ERROR: Cannot write to log file $LOGFILE
+ exit 1
+fi
+
+KohaZ3950Script=$KohaDir/processz3950queue
+if [ ! -x $KohaZ3950Script ]
+then
+ echo ERROR: Cannot find Koha Z39.50 daemon script $KohaZ3950Script
+ exit 1
+fi
+
+PERL5LIB=$KohaModuleDir
+export PERL5LIB
+
+exec $KohaDir/processz3950queue >>$LOGFILE 2>&1
--- /dev/null
+# $Id$
+
+#use strict;
+
+BEGIN { $| = 1; print "1..13\n"; }
+END {print "not ok 1\n" unless $loaded;}
+use C4::Input;
+$loaded = 1;
+print "ok 1\n";
+
+my $TestCount=1;
+
+#-----------------
+# Test ISBN validation
+
+my $isbn;
+
+# Good numbers
+foreach $isbn ('0836213092','087784805X','087784805x','1878685899') {
+ PrintNextTestResult ( &checkvalidisbn($isbn), "Good ISBN: $isbn" )
+}
+
+# Bad numbers
+foreach $isbn ('0836213192','087784804X','087784806x','1878685898',
+ '', ' ', 'abc', '1234567890123') {
+ PrintNextTestResult ( ! &checkvalidisbn($isbn), "Bad ISBN: $isbn" )
+}
+
+
+
+#-----------------------
+sub PrintNextTestResult {
+ # modifies global var $TestCount
+ my ($ThisTestResult, $TestComment )=@_;
+
+ $TestCount++;
+
+ if ( $ThisTestResult ) {
+ print "ok $TestCount\n";
+ } else {
+ print STDERR "\nTest failed: $TestComment\n";
+ print "not ok $TestCount\n";
+ }
+
+} # sub PrintNextTestResult
+
+#-----------------------
+# $Log$
+# Revision 1.2 2002/06/20 18:18:06 tonnesen
+# 47 files to go, 47 files to go, take one down, pass it around...
+# 46 files to go.
+#
+# Revision 1.1.2.1 2002/06/20 15:19:34 amillar
+# Test valid ISBN numbers in Input.pm
+#
--- /dev/null
+BEGIN { $| = 1; print "1..5\n"; }
+END {print "not ok 1\n" unless $loaded;}
+use C4::Format;
+$loaded = 1;
+print "ok 1\n";
+
+#
+# ensure &startint returns a reasonable value
+#
+
+# try right formatting
+if (" foo" eq fmtstr('','foo','R5')) {
+ print "ok 2\n";
+} else {
+ print "not ok 2\n";
+}
+
+# try left formatting
+if ("foo " eq fmtstr('','foo','L5')) {
+ print "ok 3\n";
+} else {
+ print "not ok 3\n";
+}
+
+# try centering with even spacing
+if (" foo " eq fmtstr('','foo','C5')) {
+ print "ok 4\n";
+} else {
+ print "not ok 4\n";
+}
+
+# try centering with uneven spacing
+if ("foo " eq fmtstr('','foo','C4')) {
+ print "ok 5\n";
+} else {
+ print "not ok 5\n";
+}
-BEGIN { $| = 1; print "1..2\n"; }
+BEGIN { $| = 1; print "1..6\n"; }
END {print "not ok 1\n" unless $loaded;}
use C4::Koha;
$loaded = 1;
print "ok 1\n";
+#
+# test that &slashifyDate returns correct (non-US) date
+#
$date = "01/01/2002";
$newdate = &slashifyDate("2002-01-01");
} else {
print "not ok 2\n";
}
+
+#
+# Check that &fixEthnicity returns correct values
+#
+if ('Maori' eq fixEthnicity('maori')) {
+ print "ok 3\n";
+} else {
+ print "not ok 3\n";
+}
+if ('European/Pakeha' eq fixEthnicity('european')) {
+ print "ok 4\n";
+} else {
+ print "not ok 4\n";
+}
+if ('Pacific Islander' eq fixEthnicity('pi')) {
+ print "ok 5\n";
+} else {
+ print "not ok 5\n";
+}
+if ('Asian' eq fixEthnicity('asian')) {
+ print "ok 6\n";
+} else {
+ print "not ok 6\n";
+}
--- /dev/null
+BEGIN { $| = 1; print "1..25\n"; }
+END {print "not ok 1\n" unless $loaded;}
+use C4::Output;
+$loaded = 1;
+print "ok 1\n";
+
+#
+# ensure &startpage returns correct value
+#
+if ("<html>\n" eq startpage()) {
+ print "ok 2\n";
+} else {
+ print "not ok 2\n";
+}
+
+#
+# Check that &gotopage returns proper value
+#
+if ("<META HTTP-EQUIV=Refresh CONTENT=\"0;URL=http:foo\">" eq gotopage('foo')) {
+ print "ok 3\n";
+} else {
+ print "not ok 3\n";
+}
+
+#
+# skipping &startmenu for now
+#
+
+#
+# skipping &endmenu for now
+
+#
+# ensure &mktablehdr returns a proper value
+#
+
+if ("<table border=0 cellspacing=0 cellpadding=5>\n" eq mktablehdr()) {
+ print "ok 4\n";
+} else {
+ print "not ok 4\n";
+}
+
+#
+# ensure &mktablerow returns a proper value
+#
+# 1 row, no background image
+if ("<tr valign=top bgcolor=red><td>text</td></tr>\n" eq
+ mktablerow(1,'red','text')) {
+ print "ok 5\n";
+} else {
+ print "not ok 5\n";
+}
+# 1 row, background image
+if ("<tr valign=top bgcolor=red><td background=\"foo.jpg\">text</td></tr>\n" eq
+ mktablerow(1,'red','text','foo.jpg')) {
+ print "ok 6\n";
+} else {
+ print "not ok 6\n";
+}
+#2 rows, no background image
+if ("<tr valign=top bgcolor=red><td>text</td><td>text</td></tr>\n" eq
+ mktablerow(2,'red','text','text')) {
+ print "ok 7\n";
+} else {
+ print "not ok 7\n";
+}
+
+# 2 rows, background image
+if ("<tr valign=top bgcolor=red><td background=\"foo.jpg\">text</td><td background=\"foo.jpg\">text</td></tr>\n" eq
+ mktablerow(2,'red','text','text', 'foo.jpg')) {
+ print "ok 8\n";
+} else {
+ print "not ok 8\n";
+}
+
+#
+# ensure mktableft returns the proper value
+#
+
+if ("</table>\n" eq mktableft()) {
+ print "ok 9\n";
+} else {
+ print "not ok 9\n";
+}
+
+
+#
+# skipping mkform for now
+#
+
+#
+# skipping mkform3 for now
+#
+
+#
+# skipping mkform2 for now
+#
+
+#
+# ensure endpage returns the proper value
+#
+
+if ("</body></html>\n" eq endpage()) {
+ print "ok 10\n";
+} else {
+ print "not ok 10\n";
+}
+
+
+#
+# ensure mklink returns the right value
+#
+
+if ("<a href=\"foo.html\">foo</a>" eq mklink('foo.html', 'foo')) {
+ print "ok 11\n";
+} else {
+ print "not ok 11\n";
+}
+
+#
+# ensure mkheadr returns the proper value
+#
+
+if ("<FONT SIZE=6><em>foo</em></FONT><br>" eq mkheadr(1,'foo')) {
+ print "ok 12\n";
+} else {
+ print "not ok 12\n";
+}
+
+if ("<FONT SIZE=6><em>foo</em></FONT>" eq mkheadr(2,'foo')) {
+ print "ok 13\n";
+} else {
+ print "not ok 13\n";
+}
+
+if ("<FONT SIZE=6><em>foo</em></FONT><p>" eq mkheadr(3,'foo')) {
+ print "ok 14\n";
+} else {
+ print "not ok 14\n";
+}
+
+#
+# test ¢er and &endcenter
+#
+
+if ("<CENTER>\n" eq center()) {
+ print "ok 15\n";
+} else {
+ print "not ok15\n";
+}
+
+if ("</CENTER>\n" eq endcenter()) {
+ print "ok 16\n";
+} else {
+ print "not ok 16\n";
+}
+
+#
+# ensure bold returns proper value
+#
+
+if ("<b>foo</b>" eq bold('foo')) {
+ print "ok 17\n";
+} else {
+ print "not ok\n";
+}
+
+#
+# ensure &mkformnotable returns a valid value
+#
+
+@inputHidden = qw(hidden hiddenname hiddenvalue);
+@inputRadio = qw(radio radioname radiovalue);
+@inputText = qw(text textname textvalue);
+@inputTextarea = qw(textarea textareaname textareavalue);
+@inputSubmit = qw(submit submitname submitvalue);
+@inputReset = qw(reset resetname resetvalue);
+
+# 1 input; hidden
+@inputs = (\@inputHidden);
+$return ="<form action=actionurl method=post>\n";
+$return .= "<input type=hidden name=hiddenname value=\"hiddenvalue\">\n";
+$return .= "</form>";
+
+if ($return eq mkformnotable('actionurl', @inputs)) {
+ print "ok 18\n";
+} else {
+ print "not ok 18\n";
+}
+
+# 1 input; radio
+@inputs = (\@inputRadio);
+$return ="<form action=actionurl method=post>\n";
+$return .= "<input type=radio name=radioname value=\"radiovalue\">radiovalue\n";
+$return .= "</form>";
+
+if ($return eq mkformnotable('actionurl', @inputs)) {
+ print "ok 19\n";
+} else {
+ print "not ok 19\n";
+}
+
+# 1 input; text
+@inputs = (\@inputText);
+$return = "<form action=actionurl method=post>\n";
+$return .= "<input type=text name=textname value=\"textvalue\">\n";
+$return .= "</form>";
+
+if ($return eq mkformnotable('actionurl', @inputs)) {
+ print "ok 20\n";
+} else {
+ print "not ok 20\n";
+}
+
+
+# 1 input; textarea
+@inputs = (\@inputTextarea);
+$return = "<form action=actionurl method=post>\n";
+$return .= "<textarea name=textareaname wrap=physical cols=40 rows=4>textareavalue</textarea>\n";
+$return .= "</form>";
+
+if ($return eq mkformnotable('actionurl', @inputs)) {
+ print "ok 21\n";
+} else {
+ print "not ok 21\n";
+}
+
+# 1 input; submit
+@inputs = (\@inputSubmit);
+$return = "<form action=actionurl method=post>\n";
+$return .= "<input type=submit name=submitname value=\"submitvalue\">\n";
+$return .= "</form>";
+
+if ($return eq mkformnotable('actionurl', @inputs)) {
+ print "ok 22\n";
+} else {
+ print "not ok 22\n";
+}
+
+# 1 input; reset
+@inputs = (\@inputReset);
+$return = "<form action=actionurl method=post>\n";
+$return .= "<input type=reset name=resetname value=\"resetvalue\">\n";
+$return .= "</form>";
+
+if ($return eq mkformnotable('actionurl', @inputs)) {
+ print "ok 23\n";
+} else {
+ print "not ok 23\n";
+}
+
+# 2 inputs; hidden and submit
+@inputs = (\@inputHidden, \@inputSubmit);
+$return = "<form action=actionurl method=post>\n";
+$return .= "<input type=hidden name=hiddenname value=\"hiddenvalue\">\n";
+$return .= "<input type=submit name=submitname value=\"submitvalue\">\n";
+$return .= "</form>";
+
+if ($return eq mkformnotable('actionurl', @inputs)) {
+ print "ok 24\n";
+} else {
+ print "not ok 24\n";
+}
+
+
+# 3 inputs; text, submit, and reset
+@inputs = (\@inputText, \@inputSubmit, \@inputReset);
+$return = "<form action=actionurl method=post>\n";
+$return .= "<input type=text name=textname value=\"textvalue\">\n";
+$return .= "<input type=submit name=submitname value=\"submitvalue\">\n";
+$return .= "<input type=reset name=resetname value=\"resetvalue\">\n";
+$return .= "</form>";
+
+if ($return eq mkformnotable('actionurl', @inputs)) {
+ print "ok 25\n";
+} else {
+ print "not ok 25\n";
+}
+
+
+
+
+
--- /dev/null
+BEGIN { $| = 1; print "1..4\n"; }
+
+my $i = 1;
+eval { require Date::Manip; } || print "not "; print "ok ",$i++,"\n";
+eval { require DBI; } || print "not "; print "ok ",$i++,"\n";
+eval { require Set::Scalar; } || print "not "; print "ok ",$i++,"\n";
+eval { require DBD::mysql; } || print "not "; print "ok ",$i++,"\n";