BxDolQueuePush.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup UnaCore UNA Core
  7. * @{
  8. */
  9. class BxDolQueuePush extends BxDolQueue implements iBxDolSingleton
  10. {
  11. protected function __construct()
  12. {
  13. parent::__construct();
  14. $this->_oQuery = new BxDolQueuePushQuery();
  15. }
  16. /**
  17. * Get singleton instance of the class
  18. */
  19. static function getInstance()
  20. {
  21. if(!isset($GLOBALS['bxDolClasses'][__CLASS__]))
  22. $GLOBALS['bxDolClasses'][__CLASS__] = new BxDolQueuePush();
  23. return $GLOBALS['bxDolClasses'][__CLASS__];
  24. }
  25. /**
  26. * Add message to push queue
  27. *
  28. * @param integer $iProfileId - recipient profile ID
  29. * @param array $aMessage - array with Push message
  30. * @return true on success, false on error
  31. */
  32. public function add($iProfileId, $aMessage)
  33. {
  34. return (int)$this->_oQuery->insertItem(array(
  35. 'profile_id' => $iProfileId,
  36. 'message' => serialize($aMessage)
  37. )) > 0;
  38. }
  39. /**
  40. * Internal method which performs sending using predefined list of params.
  41. */
  42. protected function _send($iProfileId, $sMessage)
  43. {
  44. return BxDolPush::getInstance()->send($iProfileId, unserialize($sMessage));
  45. }
  46. }
  47. /** @} */