-if ($shelfnumber && ($shelfnumber != -1)) {
- for my $bib (@biblionumber){
- &AddToShelfFromBiblio($bib,$shelfnumber);
- }
- print $query->header;
- print "<html><body onload=\"window.close();\"><div>Please close this window to continue.</div></body></html>";
- exit;
+
+sub HandleNewVirtualShelf {
+ if($authorized= ShelfPossibleAction($loggedinuser, undef, $category==1? 'new_private': 'new_public')) {
+ $shelfnumber = AddShelf( {
+ shelfname => $newvirtualshelf,
+ category => $category }, $loggedinuser);
+ if($shelfnumber == -1) {
+ $authorized=0;
+ $errcode=1;
+ return;
+ }
+ AddBibliosToShelf($shelfnumber, @biblionumber);
+ #Reload the page where you came from
+ print $query->header;
+ print "<html><meta http-equiv=\"refresh\" content=\"0\" /><body onload=\"window.opener.location.reload(true);self.close();\"></body></html>";
+ }
+}
+
+sub HandleShelfNumber {
+ if($authorized= ShelfPossibleAction($loggedinuser, $shelfnumber, 'add')) {
+ AddBibliosToShelf($shelfnumber,@biblionumber);
+ #Close this page and return
+ print $query->header;
+ print "<html><meta http-equiv=\"refresh\" content=\"0\" /><body onload=\"self.close();\"></body></html>";
+ }