Got undeleting biblios going (catalogue maintenance should probably be in a

password protected super librarian area or the like)
This commit is contained in:
rangi 2001-03-13 22:04:04 +00:00
parent 96ca30a8ad
commit 4d35327d19
2 changed files with 89 additions and 1 deletions

View File

@ -13,7 +13,7 @@ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
$VERSION = 0.01;
@ISA = qw(Exporter);
@EXPORT = qw(&listsubjects &updatesub);
@EXPORT = qw(&listsubjects &updatesub &shiftgroup &deletedbib &undeletebib);
%EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ],
# your exported package globals go here,
@ -80,5 +80,64 @@ sub updatesub{
$sth->finish;
$dbh->disconnect;
}
sub shiftgroup{
my ($bib,$bi)=@_;
my $dbh=C4Connect;
my $query="update biblioitems set biblionumber=$bib where biblioitemnumber=$bi";
my $sth=$dbh->prepare($query);
$sth->execute;
$sth->finish;
$query="update items set biblionumber=$bib where biblioitemnumber=$bi";
$sth=$dbh->prepare($query);
$sth->execute;
$sth->finish;
$dbh->disconnect;
}
sub deletedbib{
my ($title)=@_;
my $dbh=C4Connect;
my $query="Select * from deletedbiblio where title like '$title%' order by title";
my $sth=$dbh->prepare($query);
$sth->execute;
my @results;
my $i=0;
while (my $data=$sth->fetchrow_hashref){
$results[$i]=$data;
$i++;
}
$sth->finish;
$dbh->disconnect;
return($i,\@results);
}
sub undeletebib{
my ($bib)=@_;
my $dbh=C4Connect;
my $query="select * from deletedbiblio where biblionumber=$bib";
my $sth=$dbh->prepare($query);
$sth->execute;
if (my @data=$sth->fetchrow_array){
$sth->finish;
$query="Insert into biblio values (";
foreach my $temp (@data){
$temp=~ s/\'/\\\'/g;
$query=$query."'$temp',";
}
$query=~ s/\,$/\)/;
# print $query;
$sth=$dbh->prepare($query);
$sth->execute;
$sth->finish;
}
$query="Delete from deletedbiblio where biblionumber=$bib";
$sth=$dbh->prepare($query);
$sth->execute;
$sth->finish;
$dbh->disconnect;
}
END { } # module clean-up code here (global destructor)

View File

@ -43,12 +43,41 @@ if ($type eq 'allsub'){
print "Successfully modified $oldsub is now $sub";
print "<p><a href=/cgi-bin/koha/catmaintain.pl target=window0 onclick=\"window0.focus()\">Back to catalogue maintenance</a><br>";
print "<a href=nowhere onclick=\"self.close()\">Close this window</a>";
} elsif ($type eq 'undel'){
my $title=$input->param('title');
my ($count,$results)=deletedbib($title);
print "<table border=0>";
print "<tr><td><b>Title</b></td><td><b>Author</b></td><td><b>Undelete</b></td></tr>";
for (my $i=0;$i<$count;$i++){
print "<tr><td>$results->[$i]->{'title'}</td><td>$results->[$i]->{'author'}</td><td><a href=/cgi-bin/koha/catmaintain.pl?type=finun&bib=$results->[$i]->{'biblionumber'}>Undelete</a></td>\n";
}
print "</table>";
} elsif ($type eq 'finun'){
my $bib=$input->param('bib');
undeletebib($bib);
print "Succesfully undeleted";
print "<p><a href=/cgi-bin/koha/catmaintain.pl>Back to Catalogue Maintenance</a>";
} else {
print "<B>Subject Maintenance</b><br>";
print "<form action=/cgi-bin/koha/catmaintain.pl method=post>";
print "<input type=hidden name=type value=allsub>";
print "Show all subjects beginning with <input type=text name=sub><br>";
print "<input type=submit value=Show>";
print "</form>";
print "<p>";
print "<B>Group Maintenance</b></br>";
print "<form action=/cgi-bin/koha/search.pl method=post>";
print "<input type=hidden name=type value=catmain>";
print "Show all Titles beginning with <input type=text name=title><br>";
print "<input type=submit value=Show>";
print "</form>";
print "<p>";
print "<B>Undelete Biblio</b></br>";
print "<form action=/cgi-bin/koha/catmaintain.pl method=post>";
print "<input type=hidden name=type value=undel>";
print "Show all Titles beginning with <input type=text name=title><br>";
print "<input type=submit value=Show>";
print "</form>";
}
print endmenu('catalog');
print endpage();