#
# 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 <http://www.gnu.org/licenses>.
use strict;
use warnings;
require Exporter;
use C4::Context;
-use C4::Koha;
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
@ISA = qw(Exporter);
@EXPORT = qw(
&GetClassSources
- &AddClassSource
&GetClassSource
- &ModClassSource
- &DelClassSource
- &GetClassSortRules
- &AddClassSortRule
&GetClassSortRule
- &ModClassSortRule
- &DelClassSortRule
-
- &GetSourcesForSortRule
+
&GetClassSort
-
+
);
=head2 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);
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);
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);
=head1 AUTHOR
-Koha Development Team <info@koha.org>
+Koha Development Team <http://koha-community.org/>
=cut