|
|
@@ -9,6 +9,17 @@ Lib::loadClass('UserProfile');
|
|
|
class UserBookmarks {
|
|
|
|
|
|
private $_sesKey = 'UserBookmarksList';
|
|
|
+ static function loadStorage() {
|
|
|
+ return (!empty($_SESSION['USER_PROFILE']['UserBookmarksList']))
|
|
|
+ ? $_SESSION['USER_PROFILE']['UserBookmarksList']
|
|
|
+ : array();
|
|
|
+ }
|
|
|
+ static function _saveStorageValue($key, $value) {
|
|
|
+ $_SESSION['USER_PROFILE']['UserBookmarksList'][$key] = $value;
|
|
|
+ }
|
|
|
+ static function _saveNewStorage($values) {
|
|
|
+ $_SESSION['USER_PROFILE']['UserBookmarksList'] = $values;
|
|
|
+ }
|
|
|
|
|
|
public function __construct() {
|
|
|
UserProfile::load();
|
|
|
@@ -20,24 +31,20 @@ class UserBookmarks {
|
|
|
}
|
|
|
|
|
|
public function getBookmarks() {
|
|
|
- $bookmarks = array();
|
|
|
- if (!empty($_SESSION['USER_PROFILE'][$this->_sesKey])) {
|
|
|
- $bookmarks = $_SESSION['USER_PROFILE'][$this->_sesKey];
|
|
|
- }
|
|
|
- return $bookmarks;
|
|
|
+ return self::loadStorage();
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
* Add bookmark
|
|
|
*/
|
|
|
public function addBookmark($zasobID) {
|
|
|
- if (!array_key_exists($zasobID, $_SESSION['USER_PROFILE'][$this->_sesKey])) {
|
|
|
- $_SESSION['USER_PROFILE'][$this->_sesKey][$zasobID] = '';
|
|
|
+ if (!array_key_exists($zasobID, $this->getBookmarks())) {
|
|
|
+ self::_saveStorageValue($zasobID, '');
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public function changeBookmark($zasobID, $cls) {
|
|
|
- $_SESSION['USER_PROFILE'][$this->_sesKey][$zasobID] = $cls;
|
|
|
+ self::_saveStorageValue($zasobID, $cls);
|
|
|
}
|
|
|
|
|
|
public function sortBookmarks($idsOrder) {
|
|
|
@@ -50,20 +57,20 @@ class UserBookmarks {
|
|
|
$sortedBookmarks[$id] = $bookmarks[$id];
|
|
|
}
|
|
|
}
|
|
|
- $_SESSION['USER_PROFILE'][$this->_sesKey] = $sortedBookmarks;
|
|
|
+ self::_saveNewStorage($sortedBookmarks);
|
|
|
}
|
|
|
|
|
|
public function hasBookmark($zasobID) {
|
|
|
- return array_key_exists($zasobID, $_SESSION['USER_PROFILE'][$this->_sesKey]);
|
|
|
+ return array_key_exists($zasobID, $this->getBookmarks());
|
|
|
}
|
|
|
|
|
|
public function removeBookmark($zasobID) {
|
|
|
$bookmarks = array();
|
|
|
- foreach ($_SESSION['USER_PROFILE'][$this->_sesKey] as $kZasobID => $vClass) {
|
|
|
+ foreach ($this->getBookmarks() as $kZasobID => $vClass) {
|
|
|
if ($kZasobID == $zasobID) continue;
|
|
|
$bookmarks[$kZasobID]= $vClass;
|
|
|
}
|
|
|
- $_SESSION['USER_PROFILE'][$this->_sesKey] = $bookmarks;
|
|
|
+ self::_saveNewStorage($bookmarks);
|
|
|
}
|
|
|
|
|
|
}
|