Most of these merges are just removing unused parts of the perl modules.
[koha.git] / C4 / Maintainance.pm
1 package C4::Maintainance; #assumes C4/Maintainance
2
3 #package to deal with marking up output
4
5 use strict;
6 use C4::Database;
7
8 require Exporter;
9
10 use vars qw($VERSION @ISA @EXPORT);
11
12 # set the version for version checking
13 $VERSION = 0.01;
14
15 @ISA = qw(Exporter);
16 @EXPORT = qw(&listsubjects &updatesub &shiftgroup &deletedbib &undeletebib
17 &updatetype);
18  
19 sub listsubjects {
20   my ($sub,$num,$offset)=@_;
21   my $dbh=C4Connect;
22   my $query="Select * from bibliosubject where subject like '$sub%' group by subject";
23   if ($num != 0){
24     $query.=" limit $offset,$num";
25   }
26   my $sth=$dbh->prepare($query);
27 #  print $query;
28   $sth->execute;
29   my @results;
30   my $i=0;
31   while (my $data=$sth->fetchrow_hashref){
32     $results[$i]=$data;
33     $i++;
34   }
35   $sth->finish;
36   $dbh->disconnect;
37   return($i,\@results);
38 }
39
40 sub updatesub{
41   my ($sub,$oldsub)=@_;
42   my $dbh=C4Connect;
43   $sub=$dbh->quote($sub);
44   $oldsub=$dbh->quote($oldsub);
45   my $query="update bibliosubject set subject=$sub where subject=$oldsub";
46   my $sth=$dbh->prepare($query);
47   $sth->execute;
48   $sth->finish;
49   $dbh->disconnect;
50 }
51
52 sub shiftgroup{
53   my ($bib,$bi)=@_;
54   my $dbh=C4Connect;
55   my $query="update biblioitems set biblionumber=$bib where biblioitemnumber=$bi";
56   my $sth=$dbh->prepare($query);
57   $sth->execute;
58   $sth->finish;
59   $query="update items set biblionumber=$bib where biblioitemnumber=$bi";
60   $sth=$dbh->prepare($query);
61   $sth->execute;
62   $sth->finish;
63   $dbh->disconnect;
64 }
65
66 sub deletedbib{
67   my ($title)=@_;
68   my $dbh=C4Connect;
69   my $query="Select * from deletedbiblio where title like '$title%' order by title";
70   my $sth=$dbh->prepare($query);
71   $sth->execute;
72   my @results;
73   my $i=0;
74   while (my $data=$sth->fetchrow_hashref){
75     $results[$i]=$data;
76     $i++;
77   }
78   $sth->finish;
79   $dbh->disconnect;
80   return($i,\@results);
81 }
82
83 sub undeletebib{
84   my ($bib)=@_;
85   my $dbh=C4Connect;
86   my $query="select * from deletedbiblio where biblionumber=$bib";
87   my $sth=$dbh->prepare($query);                         
88   $sth->execute;             
89   if (my @data=$sth->fetchrow_array){  
90     $sth->finish;                      
91     $query="Insert into biblio values (";    
92     foreach my $temp (@data){                
93       $temp=~ s/\'/\\\'/g;                      
94       $query=$query."'$temp',";      
95     }                
96     $query=~ s/\,$/\)/;    
97     #   print $query;                    
98     $sth=$dbh->prepare($query);    
99     $sth->execute;          
100     $sth->finish;          
101   }
102   $query="Delete from deletedbiblio where biblionumber=$bib";
103   $sth=$dbh->prepare($query);
104   $sth->execute;
105   $sth->finish;
106   $dbh->disconnect;
107 }
108
109 sub updatetype{
110   my ($bi,$type)=@_;
111   my $dbh=C4Connect;
112   my $sth=$dbh->prepare("Update biblioitems set itemtype='$type' where biblioitemnumber=$bi");
113   $sth->execute;
114   $sth->finish;
115   $dbh->disconnect;
116 }
117 END { }       # module clean-up code here (global destructor)
118