[Koha-cvs] CVS: koha/C4 Catalogue.pm,1.14,1.15
Steve Tonnesen
tonnesen at users.sourceforge.net
Thu May 30 00:47:22 CEST 2002
- Previous message: [Koha-cvs] CVS: koha/marc/benchmarks benchmarkschema,1.2,1.3
- Next message: [Koha-cvs] CVS: koha-html/intranet-html/images button-issues.gif,NONE,1.1 button-next-borrower.gif,NONE,1.1 button-returns.gif,NONE,1.1 button-transfers.gif,NONE,1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/koha/koha/C4
In directory usw-pr-cvs1:/tmp/cvs-serv25811
Modified Files:
Catalogue.pm
Log Message:
Started modifications to match new marc schema
Index: Catalogue.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Catalogue.pm,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** Catalogue.pm 18 May 2002 07:01:27 -0000 1.14
--- Catalogue.pm 29 May 2002 22:47:20 -0000 1.15
***************
*** 110,117 ****
my ( $subfieldid, $subfieldvalue )=@_;
- my $firstdigit="?";
-
my $dbh=&c4connect;
! my $sth=$dbh->prepare("update marc_$firstdigit\XX_subfield_table set subfieldvalue=? where subfieldid=?");
$sth->execute($subfieldvalue, $subfieldid);
--- 110,115 ----
my ( $subfieldid, $subfieldvalue )=@_;
my $dbh=&c4connect;
! my $sth=$dbh->prepare("update marc_subfield_table set subfieldvalue=? where subfieldid=?");
$sth->execute($subfieldvalue, $subfieldid);
***************
*** 120,123 ****
--- 118,144 ----
}
+ sub findSubfield {
+ # find a subfieldid given bibid, tag, subfieldcode, subfieldvalue this is
+ # inherently dangerous. There could be multiple subfields that match the given
+ # parameters. What then? What if no subfields match? That one's easy, just
+ # return 0
+ my ($bibid,$tag,$subfieldcode,$subfieldvalue) = @_;
+ my $resultcounter=0;
+ my $subfieldid=0;
+ my $dbh=&c4connect;
+ my $sth=$dbh->prepare("select tagid from marc_$firstdigit\XX_tag_table where bibid=$bibid");
+ $sth->execute;
+ my $sti=$dbh->prepare("select subfieldid from marc_subfield_table where tag=? and subfieldcode=? and subfieldvalue=?");
+ $sti->execute($tag, $subfieldcode,$subfieldvalue);
+ while (($subfieldid) = $sti->fetchrow) {
+ $resultcounter++;
+ }
+ if ($resultcounter>1) {
+ # Error condition. Values given did not resolve into a unique record. Don't know what to edit
+ return -1;
+ } else {
+ return $subfieldid;
+ }
+ }
sub addSubfield {
***************
*** 128,136 ****
my $subfieldvalue=shift;
my $subfieldorder=shift;
- my $firstdigit="?";
my $dbh=&c4connect;
unless ($subfieldorder) {
! my $sth=$dbh->prepare("select max(subfieldorder) from marc_$firstdigit\XX_subfield_table where tagid=$tagid");
$sth->execute;
if ($sth->rows) {
--- 149,156 ----
my $subfieldvalue=shift;
my $subfieldorder=shift;
my $dbh=&c4connect;
unless ($subfieldorder) {
! my $sth=$dbh->prepare("select max(subfieldorder) from marc_subfield_table where tagid=$tagid");
$sth->execute;
if ($sth->rows) {
***************
*** 141,145 ****
}
}
! my $sth=$dbh->prepare("insert into marc_$firstdigit\XX_subfield_table (tagid,bibid,subfieldorder,subfieldcode,subfieldvalue) values (?,?,?,?,?)");
$sth->execute($tagid,$bibid,$subfieldorder,$subfieldcode,$subfieldvalue);
}
--- 161,165 ----
}
}
! my $sth=$dbh->prepare("insert into marc_subfield_table (tagid,bibid,subfieldorder,subfieldcode,subfieldvalue) values (?,?,?,?,?)");
$sth->execute($tagid,$bibid,$subfieldorder,$subfieldcode,$subfieldvalue);
}
***************
*** 184,188 ****
# Obtain a list of MARC Record_ID's that are tied to this biblio
! $sth=$dbh->prepare("select T.bibid from marc_0XX_tag_table T, marc_0XX_subfield_table S where T.tagid=S.tagid and T.tagnumber='090' and S.subfieldvalue=$biblionumber and S.subfieldcode='c'");
$sth->execute;
my @marcrecords;
--- 204,208 ----
# Obtain a list of MARC Record_ID's that are tied to this biblio
! $sth=$dbh->prepare("select bibid from marc_subfield_table where tag='090' and subfieldvalue=$biblionumber and subfieldcode='c'");
$sth->execute;
my @marcrecords;
***************
*** 344,347 ****
--- 364,369 ----
sub logchange {
# Subroutine to log changes to databases
+ # Eventually, this subroutine will be used to create a log of all changes made,
+ # with the possibility of "undo"ing some changes
my $database=shift;
if ($database eq 'kohadb') {
- Previous message: [Koha-cvs] CVS: koha/marc/benchmarks benchmarkschema,1.2,1.3
- Next message: [Koha-cvs] CVS: koha-html/intranet-html/images button-issues.gif,NONE,1.1 button-next-borrower.gif,NONE,1.1 button-returns.gif,NONE,1.1 button-transfers.gif,NONE,1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Koha-cvs
mailing list