WishlistSession.php in Commerce Wishlist 8.3
File
src/WishlistSession.php
View source
<?php
namespace Drupal\commerce_wishlist;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
class WishlistSession implements WishlistSessionInterface {
protected $session;
public function __construct(SessionInterface $session) {
$this->session = $session;
}
public function getWishlistIds() {
return $this->session
->get('commerce_wishlists', []);
}
public function addWishlistId($wishlist_id) {
$ids = $this->session
->get('commerce_wishlists', []);
$ids[] = $wishlist_id;
$this->session
->set('commerce_wishlists', array_unique($ids));
}
public function hasWishlistId($wishlist_id) {
$ids = $this->session
->get('commerce_wishlists', []);
return in_array($wishlist_id, $ids);
}
public function deleteWishlistId($wishlist) {
$ids = $this->session
->get('commerce_wishlists', []);
$ids = array_diff($ids, [
$wishlist,
]);
if (!empty($ids)) {
$this->session
->set('commerce_wishlists', $ids);
}
else {
$this->session
->remove('commerce_wishlists');
}
}
}