diff --git a/C4/VirtualShelves/Page.pm b/C4/VirtualShelves/Page.pm
index cfa4f60c00..7cab246242 100644
--- a/C4/VirtualShelves/Page.pm
+++ b/C4/VirtualShelves/Page.pm
@@ -68,6 +68,14 @@ sub shelfpage ($$$$$) {
my ( $shelflimit, $shelfoffset, $shelveslimit, $shelvesoffset );
my $marcflavour = C4::Context->preference("marcflavour");
+ # get biblionumbers stored in the cart
+ my @cart_list;
+ my $cart_cookie = ( $type eq 'opac' ? "bib_list" : "intranet_bib_list" );
+ if($query->cookie($cart_cookie)){
+ my $cart_list = $query->cookie($cart_cookie);
+ @cart_list = split(/\//, $cart_list);
+ }
+
$shelflimit = ( $type eq 'opac' ? C4::Context->preference('OPACnumSearchResults') : C4::Context->preference('numSearchResults') );
$shelflimit = $shelflimit || 20;
$shelfoffset = ( $itemoff - 1 ) * $shelflimit; # Sets the offset to begin retrieving items at
@@ -227,6 +235,9 @@ sub shelfpage ($$$$$) {
my @items_infos = &GetItemsLocationInfo( $this_item->{'biblionumber'});
$this_item->{'itemsissued'} = CountItemsIssued( $this_item->{'biblionumber'} );
$this_item->{'ITEM_RESULTS'} = \@items_infos;
+ if ( grep {$_ eq $biblionumber} @cart_list) {
+ $this_item->{'incart'} = 1;
+ }
if (C4::Context->preference('TagsEnabled') and $tag_quantity = C4::Context->preference('TagsShowOnList')) {
$this_item->{'TagLoop'} = get_tags({
diff --git a/koha-tmpl/opac-tmpl/prog/en/css/opac.css b/koha-tmpl/opac-tmpl/prog/en/css/opac.css
index f904af2442..f2b146781e 100644
--- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css
+++ b/koha-tmpl/opac-tmpl/prog/en/css/opac.css
@@ -453,6 +453,18 @@ a .term {
background-image:url(../../images/cart2.gif);
}
+#action a.cartRemove, .actions a.cartRemove {
+ color: #cc3333;
+ font-size : 90%;
+ margin : 0;
+ padding: 0;
+}
+
+#action a.incart {
+ background-image:url(../../images/cart2.gif);
+ color : #666;
+}
+
/* toolbar buttons */
#toolbar {
@@ -1296,6 +1308,9 @@ padding-left : .4em;
color: #707070;
padding : 0 0 .5em 0;
}
+.results_summary .results_summary {
+ font-size : 100%;
+}
.m880 {
display:block;
@@ -1498,6 +1513,7 @@ div.lang{
box-shadow: 1px 1px 3px #666;
-moz-box-shadow: 1px 1px 3px #666;
-webkit-box-shadow: 1px 1px 3px #666;
+ z-index: 2;
}
diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc b/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc
index 18e591728e..3907f3466c 100644
--- a/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc
+++ b/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc
@@ -48,12 +48,15 @@
[% IF ( opacbookbag ) %]var MSG_BASKET_EMPTY = _("Your cart is currently empty");
var MSG_RECORD_IN_BASKET = _("This item is already in your cart");
var MSG_RECORD_ADDED = _("This item has been added to your cart");
+ var MSG_RECORD_REMOVED = _("This item has been removed from your cart");
var MSG_NRECORDS_ADDED = _(" item(s) added to your cart");
var MSG_NRECORDS_IN_BASKET = _("already in your cart");
var MSG_NO_RECORD_SELECTED = _("No item was selected");
var MSG_NO_RECORD_ADDED = _("No item was added to your cart");
var MSG_CONFIRM_DEL_BASKET = _("Are you sure you want to empty your cart?");
var MSG_CONFIRM_DEL_RECORDS = _("Are you sure you want to remove the selected items?");
+ var MSG_ITEM_IN_CART = _("In your cart");
+ var MSG_ITEM_NOT_IN_CART = _("Add to your cart");
$("#cartDetails").ready(function(){ $("#cmspan").html("<\/i><\/i><\/span> "+_("Cart")+"<\/span><\/span><\/a>"); }); [% ELSE %][% IF ( virtualshelves ) %]
var MSG_NO_RECORD_SELECTED = _("No item was selected");[% END %][% END %]
[% IF ( opacuserlogin ) %][% IF ( TagsEnabled ) %]var MSG_TAGS_DISABLED = _("Sorry, tags are not enabled on this system.");
diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/opac-detail-sidebar.inc b/koha-tmpl/opac-tmpl/prog/en/includes/opac-detail-sidebar.inc
index 71cb1a016e..d615be6992 100644
--- a/koha-tmpl/opac-tmpl/prog/en/includes/opac-detail-sidebar.inc
+++ b/koha-tmpl/opac-tmpl/prog/en/includes/opac-detail-sidebar.inc
@@ -21,7 +21,11 @@
[% END %][% END %]
[% END %]
[% IF ( opacbookbag ) %]
-