- if ($query->param('op') eq 'modifsave') {
- ModifShelf($query->param('shelfnumber'),$query->param('shelfname'),$loggedinuser,$query->param('category'));
- last SWITCH;
- }
- if ($query->param('op') eq 'modif') {
- my ($shelfnumber,$shelfname,$owner,$category) = GetShelf($query->param('shelf'));
- $template->param(edit => 1,
- shelfnumber => $shelfnumber,
- shelfname => $shelfname,
- "category$category" => 1);
-# editshelf($query->param('shelf'));
- last SWITCH;
- }
- if ($query->param('viewshelf')) {
- viewshelf($query->param('viewshelf'));
- last SWITCH;
- }
- if ($query->param('shelves')) {
- shelves();
- last SWITCH;
- }
+ if ( $op && ( $op eq 'modifsave' ) ) {
+ ModShelf(
+ $query->param('shelfnumber'), $query->param('shelfname'),
+ $loggedinuser, $query->param('category')
+ );
+ last SWITCH;
+ }
+ if ( $op && ( $op eq 'modif' ) ) {
+ my ( $shelfnumber, $shelfname, $owner, $category ) =
+ GetShelf( $query->param('shelf') );
+ $template->param(
+ edit => 1,
+ shelfnumber => $shelfnumber,
+ shelfname => $shelfname,
+ "category$category" => 1
+ );
+
+ # editshelf($query->param('shelf'));
+ last SWITCH;
+ }
+ if ( $query->param('viewshelf') ) {
+ #check that the user can view the shelf
+ my $shelfnumber = $query->param('viewshelf');
+ if ( ShelfPossibleAction( $loggedinuser, $shelfnumber, 'view' ) ) {
+ my $items = GetShelfContents($shelfnumber);
+ $template->param(
+ shelfname => $shelflist->{$shelfnumber}->{'shelfname'},
+ shelfnumber => $shelfnumber,
+ viewshelf => $query->param('viewshelf'),
+ manageshelf => &ShelfPossibleAction( $loggedinuser, $shelfnumber, 'manage' ),
+ itemsloop => $items,
+ );
+ }
+ last SWITCH;
+ }
+ if ( $query->param('shelves') ) {
+ if ( my $newshelf = $query->param('addshelf') ) {
+ my $shelfnumber = AddShelf(
+ $newshelf,
+ $query->param('owner'),
+ $query->param('category')
+ );
+
+ if ( $shelfnumber == -1 ) { #shelf already exists.
+ $template->param(
+ {
+ shelfnumber => $shelfnumber,
+ already => 1
+ }
+ );
+ }
+ }
+ my @paramsloop;
+ foreach ( $query->param() ) {
+ my %line;
+ if (/DEL-(\d+)/) {
+ my $delshelf = $1;
+ my ( $status, $count ) = DelShelf($delshelf);
+ if ($status) {
+ $line{'status'} = $status;
+ $line{'count'} = $count;
+ }
+ }
+
+ #if the shelf is not deleted, %line points on null
+ push( @paramsloop, \%line );
+ }
+ $template->param( paramsloop => \@paramsloop );
+ my ($shelflist) = GetShelves( $loggedinuser, 2 );
+ my $color = '';
+ my @shelvesloop;
+ foreach my $element ( sort keys %$shelflist ) {
+ my %line;
+ ( $color eq 1 ) ? ( $color = 0 ) : ( $color = 1 );
+ $line{'toggle'} = $color;
+ $line{'shelf'} = $element;
+ $line{'shelfname'} = $shelflist->{$element}->{'shelfname'};
+ $line{'shelfbookcount'} = $shelflist->{$element}->{'count'};
+ push( @shelvesloop, \%line );
+ }
+ $template->param(
+ shelvesloop => \@shelvesloop,
+ shelves => 1,
+ );
+ last SWITCH;
+ }