UserBookmarks.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. Lib::loadClass('UserProfile');
  3. /**
  4. * User Bookmark
  5. * $_SESSION['USER_PROFILE'][section][key] = val;
  6. */
  7. class UserBookmarks {
  8. private $_sesKey = 'UserBookmarksList';
  9. public function __construct() {
  10. UserProfile::load();
  11. }
  12. public static function getInstance() {
  13. $userBookmarks = new UserBookmarks();
  14. return $userBookmarks;
  15. }
  16. public function getBookmarks() {
  17. $bookmarks = array();
  18. if (!empty($_SESSION['USER_PROFILE'][$this->_sesKey])) {
  19. $bookmarks = $_SESSION['USER_PROFILE'][$this->_sesKey];
  20. }
  21. return $bookmarks;
  22. }
  23. /*
  24. * Add bookmark
  25. */
  26. public function addBookmark($zasobID) {
  27. if (!array_key_exists($zasobID, $_SESSION['USER_PROFILE'][$this->_sesKey])) {
  28. $_SESSION['USER_PROFILE'][$this->_sesKey][$zasobID] = '';
  29. }
  30. }
  31. public function changeBookmark($zasobID, $cls) {
  32. $_SESSION['USER_PROFILE'][$this->_sesKey][$zasobID] = $cls;
  33. }
  34. public function hasBookmark($zasobID) {
  35. return array_key_exists($zasobID, $_SESSION['USER_PROFILE'][$this->_sesKey]);
  36. }
  37. public function removeBookmark($zasobID) {
  38. $bookmarks = array();
  39. foreach ($_SESSION['USER_PROFILE'][$this->_sesKey] as $kZasobID => $vClass) {
  40. if ($kZasobID == $zasobID) continue;
  41. $bookmarks[$kZasobID]= $vClass;
  42. }
  43. $_SESSION['USER_PROFILE'][$this->_sesKey] = $bookmarks;
  44. }
  45. }