X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=C4%2FClassSource.pm;h=8c133bce704dccde3ec144884bb75462cb6de754;hb=3f7b2fa41898f59ce39d1725f8dfe6001095f796;hp=5d76497cf26871f7e8ca29c6d18ff9157afafc33;hpb=c0234dd9b9649063acf2617fecf5c6efda38a532;p=koha.git diff --git a/C4/ClassSource.pm b/C4/ClassSource.pm index 5d76497cf2..8c133bce70 100644 --- a/C4/ClassSource.pm +++ b/C4/ClassSource.pm @@ -4,18 +4,18 @@ package C4::ClassSource; # # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along -# with Koha; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . use strict; use warnings; @@ -24,10 +24,8 @@ require Exporter; use C4::Context; use C4::ClassSortRoutine; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); +use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); -# set the version for version checking -$VERSION = 3.00; =head1 NAME @@ -50,19 +48,11 @@ sources and sorting rules. @ISA = qw(Exporter); @EXPORT = qw( &GetClassSources - &AddClassSource &GetClassSource - &ModClassSource - &DelClassSource - &GetClassSortRules - &AddClassSortRule &GetClassSortRule - &ModClassSortRule - &DelClassSortRule - - &GetSourcesForSortRule + &GetClassSort - + ); =head2 GetClassSources @@ -93,37 +83,16 @@ sub GetClassSources { my %class_sources = (); my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare_cached("SELECT * FROM `class_sources`"); + my $sth = $dbh->prepare("SELECT * FROM `class_sources`"); $sth->execute(); while (my $source = $sth->fetchrow_hashref) { $class_sources{ $source->{'cn_source'} } = $source; } - $sth->finish(); return \%class_sources; } -=head2 AddClassSource - - AddClassSource($cn_source, $description, $used, $class_sort_rule); - - Adds a class_sources row. - -=cut - -sub AddClassSource { - - my ($cn_source, $description, $used, $class_sort_rule) = @_; - my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare_cached("INSERT INTO `class_sources` - (`cn_source`, `description`, `used`, `class_sort_rule`) - VALUES (?, ?, ?, ?)"); - $sth->execute($cn_source, $description, $used, $class_sort_rule); - $sth->finish(); - -} - =head2 GetClassSource my $hashref = GetClassSource($cn_source); @@ -136,111 +105,12 @@ sub GetClassSource { my ($cn_source) = (@_); my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare_cached("SELECT * FROM `class_sources` WHERE cn_source = ?"); + my $sth = $dbh->prepare("SELECT * FROM `class_sources` WHERE cn_source = ?"); $sth->execute($cn_source); my $row = $sth->fetchrow_hashref(); - $sth->finish(); return $row; } -=head2 ModClassSource - - ModClassSource($cn_source, $description, $used, $class_sort_rule); - - Updates a class_sources row. - -=cut - -sub ModClassSource { - - my ($cn_source, $description, $used, $class_sort_rule) = @_; - my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare_cached("UPDATE `class_sources` - SET `description` = ?, - `used` = ?, - `class_sort_rule` = ? - WHERE `cn_source` = ?"); - $sth->execute($description, $used, $class_sort_rule, $cn_source); - $sth->finish(); - -} - -=head2 DelClassSource - - DelClassSource($cn_source); - - Deletes class_sources row. - -=cut - -sub DelClassSource { - - my ($cn_source) = @_; - my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare_cached("DELETE FROM `class_sources` WHERE `cn_source` = ?"); - $sth->execute($cn_source); - $sth->finish(); - -} - -=head2 GetClassSortRules - - my $sort_rules = GetClassSortRules(); - -Returns reference to hash of references to -the class sorting rules, keyed on class_sort_rule - -=head3 Example - - my $sort_rules = GetClassSortRules(); - my @sort_rules = (); - foreach my $sort_rule (sort keys %$sort_rules) { - my $sort_rule = $sort_rules->{$sort_rule}; - push @sort_rules, - { - rule => $sort_rule->{'class_sort_rule'}, - description => $sort_rule->{'description'}, - sort_routine => $sort_rule->{'sort_routine'} - } - } - -=cut - -sub GetClassSortRules { - - my %class_sort_rules = (); - my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare_cached("SELECT * FROM `class_sort_rules`"); - $sth->execute(); - while (my $sort_rule = $sth->fetchrow_hashref) { - $class_sort_rules{ $sort_rule->{'class_sort_rule'} } = $sort_rule; - } - $sth->finish(); - - return \%class_sort_rules; - -} - -=head2 AddClassSortRule - - AddClassSortRule($class_sort_rule, $description, $sort_routine); - - Adds a class_sort_rules row. - -=cut - -sub AddClassSortRule { - - my ($class_sort_rule, $description, $sort_routine) = @_; - my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare_cached("INSERT INTO `class_sort_rules` - (`class_sort_rule`, `description`, `sort_routine`) - VALUES (?, ?, ?)"); - $sth->execute($class_sort_rule, $description, $sort_routine); - $sth->finish(); - -} - =head2 GetClassSortRule my $hashref = GetClassSortRule($class_sort_rule); @@ -253,77 +123,12 @@ sub GetClassSortRule { my ($class_sort_rule) = (@_); my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare_cached("SELECT * FROM `class_sort_rules` WHERE `class_sort_rule` = ?"); + my $sth = $dbh->prepare("SELECT * FROM `class_sort_rules` WHERE `class_sort_rule` = ?"); $sth->execute($class_sort_rule); my $row = $sth->fetchrow_hashref(); - $sth->finish(); return $row; } -=head2 ModClassSortRule - - ModClassSortRule($class_sort_rule, $description, $sort_routine); - - Updates a class_sort_rules row. - -=cut - -sub ModClassSortRule { - - my ($class_sort_rule, $description, $sort_routine) = @_; - my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare_cached("UPDATE `class_sort_rules` - SET `description` = ?, - `sort_routine` = ? - WHERE `class_sort_rule` = ?"); - $sth->execute($description, $sort_routine, $class_sort_rule); - $sth->finish(); - -} - -=head2 DelClassSortRule - - DelClassSortRule($class_sort_rule); - - Deletes class_sort_rules row. - -=cut - -sub DelClassSortRule { - - my ($class_sort_rule) = @_; - my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare_cached("DELETE FROM `class_sort_rules` WHERE `class_sort_rule` = ?"); - $sth->execute($class_sort_rule); - $sth->finish(); - -} - -=head2 GetSourcesForSortRule - - my @source = GetSourcesForSortRule($class_sort_rule); - - Retrieves an array class_source.cn_rule for each source - that uses the supplied $class_sort_rule. - -=cut - -sub GetSourcesForSortRule { - - my ($class_sort_rule) = @_; - - my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare_cached("SELECT cn_source FROM class_sources WHERE class_sort_rule = ?"); - $sth->execute($class_sort_rule); - my @sources = (); - while (my ($source) = $sth->fetchrow_array()) { - push @sources, $source; - } - $sth->finish(); - return @sources; - -} - =head2 GetClassSort my $cn_sort = GetClassSort($cn_source, $cn_class, $cn_item);