wpPersistenceManager.class.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. class wpPersistenceManager {
  3. public static function addItemToSelection($type, $id) {
  4. $items = self::getSelectedItems($type);
  5. $items[$id] = true;
  6. self::setSelectedItems($type, $items);
  7. }
  8. public static function removeItemFromSelection($type, $id) {
  9. $items = self::getSelectedItems($type);
  10. unset($items[$id]);
  11. self::setSelectedItems($type, $items);
  12. }
  13. public static function isItemSelected($type, $id) {
  14. $items = self::getSelectedItems($type);
  15. return !empty($items[$id]);
  16. }
  17. public static function getSelectedItemCount($type) {
  18. return count(self::getSelectedItems($type));
  19. }
  20. public static function cleanSelection($type) {
  21. self::setSelectedItems($type);
  22. }
  23. public static function setSelectedItems($type = 'default:selected_items', $items = array()) {
  24. sfContext::getInstance()->getUser()->setAttribute(__CLASS__ . ':' . $type, $items);
  25. }
  26. public static function getSelectedItems($type = 'default:selected_items') {
  27. return sfContext::getInstance()->getUser()->getAttribute(__CLASS__ . ':' . $type, array());
  28. }
  29. /**
  30. * wpPersistenceManager::isEmpty()
  31. *
  32. * @param mixed $type
  33. * @return true if the type is empty, false otherwise
  34. */
  35. public static function isEmpty($type) {
  36. return ! self::getSelectedItemCount($type);
  37. }
  38. }