Bug 28290: Don't send subfields to 'as_string' if none to send
[koha-ffzg.git] / C4 / ClassSource.pm
index fc4cfbb..6ee5fc8 100644 (file)
@@ -1,7 +1,6 @@
 package C4::ClassSource;
 
-# Copyright (C) 2007 LibLime
-# 
+# Copyright 2022 Koha Development Team
 # This file is part of Koha.
 #
 # Koha is free software; you can redistribute it and/or modify it
@@ -17,15 +16,22 @@ package C4::ClassSource;
 # 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;
+use Modern::Perl;
 
-require Exporter;
 use C4::Context;
-use C4::ClassSortRoutine;
-
-use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-
+use C4::ClassSortRoutine qw( GetClassSortKey );
+
+our (@ISA, @EXPORT_OK);
+BEGIN {
+    require Exporter;
+    @ISA    = qw(Exporter);
+    @EXPORT_OK = qw(
+        GetClassSources
+        GetClassSource
+        GetClassSortRule
+        GetClassSort
+    );
+}
 
 =head1 NAME
 
@@ -44,19 +50,6 @@ sources and sorting rules.
 
 =cut
 
-
-@ISA    = qw(Exporter);
-@EXPORT = qw(
-    &GetClassSources
-    &GetClassSource
-    &GetClassSortRules
-    &GetClassSortRule
-
-    &GetSourcesForSortRule
-    &GetClassSort
-    
-);
-
 =head2 GetClassSources
 
   my $sources = GetClassSources();
@@ -95,31 +88,6 @@ sub GetClassSources {
 
 }
 
-=head2 AddClassSource
-
-  DEPRECATED
-
-  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 $exists = GetClassSource($cn_source);
-    if ($exists) {
-        return 0;
-    }
-    my $dbh = C4::Context->dbh;
-    my $sth = $dbh->prepare("INSERT INTO `class_sources`
-                                           (`cn_source`, `description`, `used`, `class_sort_rule`)
-                                           VALUES (?, ?, ?, ?)");
-    $sth->execute($cn_source, $description, $used, $class_sort_rule);
-    return 1;
-}
-
 =head2 GetClassSource
 
   my $hashref = GetClassSource($cn_source);
@@ -138,110 +106,6 @@ sub GetClassSource {
     return $row;
 }
 
-=head2 ModClassSource 
-
-  DEPRECATED
-
-  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("UPDATE `class_sources`
-                                    SET  `description` = ?,
-                                         `used` = ?,
-                                         `class_sort_rule` = ?
-                                    WHERE `cn_source` = ?");
-    $sth->execute($description, $used, $class_sort_rule, $cn_source);
-
-}
-
-=head2 DelClassSource 
-
-  DEPRECATED
-
-  DelClassSource($cn_source);
-
-  Deletes class_sources row.
-
-=cut
-
-sub DelClassSource {
-
-    my ($cn_source) = @_;
-    my $dbh = C4::Context->dbh;
-    my $sth = $dbh->prepare("DELETE FROM `class_sources` WHERE `cn_source` = ?");
-    $sth->execute($cn_source);
-
-}
-
-=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("SELECT * FROM `class_sort_rules`");
-    $sth->execute();
-    while (my $sort_rule = $sth->fetchrow_hashref) {
-        $class_sort_rules{ $sort_rule->{'class_sort_rule'} } = $sort_rule;
-    }
-
-    return \%class_sort_rules;
-
-}
-
-=head2 AddClassSortRule
-
-  DEPRECATED
-
-  AddClassSortRule($class_sort_rule, $description, $sort_routine);
-
-  Adds a class_sort_rules row.
-
-=cut
-
-sub AddClassSortRule {
-
-    my ($class_sort_rule, $description, $sort_routine) = @_;
-    my $exists = GetClassSortRule($class_sort_rule);
-    if ($exists) {
-        return 0;
-    }
-    my $dbh = C4::Context->dbh;
-    my $sth = $dbh->prepare("INSERT INTO `class_sort_rules`
-                                           (`class_sort_rule`, `description`, `sort_routine`)
-                                           VALUES (?, ?, ?)");
-    $sth->execute($class_sort_rule, $description, $sort_routine);
-    return 1;
-}
-
 =head2 GetClassSortRule
 
   my $hashref = GetClassSortRule($class_sort_rule);
@@ -260,71 +124,6 @@ sub GetClassSortRule {
     return $row;
 }
 
-=head2 ModClassSortRule 
-
-  DEPRECATED
-
-  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("UPDATE `class_sort_rules`
-                                    SET  `description` = ?,
-                                         `sort_routine` = ?
-                                    WHERE `class_sort_rule` = ?");
-    $sth->execute($description, $sort_routine, $class_sort_rule);
-
-}
-
-=head2 DelClassSortRule 
-
-  DEPRECATED
-
-  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("DELETE FROM `class_sort_rules` WHERE `class_sort_rule` = ?");
-    $sth->execute($class_sort_rule);
-
-}
-
-=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("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;
-    }
-    return @sources;
-
-}
-
 =head2 GetClassSort
 
   my $cn_sort = GetClassSort($cn_source, $cn_class, $cn_item);