BxPaymentMenuSbsActions.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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 Payment Payment
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. class BxPaymentMenuSbsActions extends BxTemplMenu
  12. {
  13. protected $_sModule;
  14. protected $_oModule;
  15. public function __construct($aObject, $oTemplate = false)
  16. {
  17. $this->_sModule = 'bx_payment';
  18. $this->_oModule = BxDolModule::getInstance($this->_sModule);
  19. parent::__construct($aObject, $oTemplate);
  20. $iPendingId = bx_process_input(bx_get('id'), BX_DATA_INT);
  21. if(empty($iPendingId))
  22. return;
  23. $aPending = $this->_oModule->_oDb->getOrderPending(array('type' => 'id', 'id' => $iPendingId));
  24. if(empty($aPending) || !is_array($aPending))
  25. return;
  26. $sMethod = 'getMenuItemsActionsRecurring';
  27. $oProvider = $this->_oModule->getObjectProvider($aPending['provider'], $aPending['seller_id']);
  28. if($oProvider === false || !$oProvider->isActive() || !method_exists($oProvider, $sMethod))
  29. return;
  30. $this->_aObject['menu_items'] = array_merge($oProvider->$sMethod($aPending['client_id'], $aPending['seller_id'], array(
  31. 'id' => $aPending['id'],
  32. 'order' => $aPending['order']
  33. )), $this->getMenuItemsRaw());
  34. $aMarkers = array(
  35. 'js_object' => $this->_oModule->_oConfig->getJsObject('subscription'),
  36. 'id' => $iPendingId
  37. );
  38. if(bx_get('grid') !== false)
  39. $aMarkers['grid'] = bx_process_input(bx_get('grid'));
  40. $this->addMarkers($aMarkers);
  41. }
  42. public function getCode()
  43. {
  44. if(empty($this->_aObject['menu_items']) || !is_array($this->_aObject['menu_items']))
  45. return MsgBox(_t('_Empty'));
  46. return parent::getCode();
  47. }
  48. }
  49. /** @} */