Guest User

Untitled

a guest
Jan 24th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. <?php
  2. /** @var array $scriptProperties
  3. * @var msOrder $msOrder
  4. */
  5. switch ($modx->event->name) {
  6. case 'msOnBeforeAddToCart':
  7. if (!empty($_SESSION['oneBooking']['price'])) {
  8. $product->set('price', $_SESSION['oneBooking']['price']);
  9. }
  10. break;
  11. case 'msOnBeforeCreateOrder':
  12. $properties = $msOrder->get('properties');
  13. $properties['booking'] = $_SESSION['oneBooking']['bid'];
  14. $_SESSION['oneBooking']['bid'] = null;
  15. $msOrder->set('properties',$properties);
  16. break;
  17.  
  18. case 'msOnChangeOrderStatus':
  19. if (empty($status) || $status != 2) {return;}
  20. $properties = $order->get('properties');
  21. if (!$booking = intval($properties['booking'])) {return;};
  22. // Изменяем статус заказа
  23. $paidStatus = $modx->getOption('onebooking.obPaidStatus', NULL, 0);
  24. if (!empty($paidStatus)) {
  25. $oneBooking = $modx->getService('onebooking','oneBooking',$modx->getOption('core_path').'components/onebooking/model/onebooking/');
  26. if ($oneBooking instanceof oneBooking) {
  27. if ($o = $modx->getObject('oneBookingReserved',$booking)) {
  28. $o->set('status',$paidStatus);
  29. $o->save();
  30. }
  31. }
  32. }
  33. break;
  34. case 'OnManagerPageBeforeRender':
  35. $tabs = '';
  36. if ($modx->getOption('onebooking.showTab_booking', null, true)) {
  37. $tabs .= '{
  38. title: _("onebooking_booking_tab"),
  39. layout: "anchor",
  40. items: [{
  41. xtype: "onebooking-grid-booking",
  42. cls: "main-wrapper"
  43. }]
  44. }';
  45. }
  46. if ($modx->getOption('onebooking.showTab_objects', null, true)) {
  47. $tabs .= !empty($tabs) ? ',' : '';
  48. $tabs .= '{
  49. title: _("onebooking_objects_tab"),
  50. layout: "anchor",
  51. items: [{
  52. xtype: "onebooking-grid-objects",
  53. cls: "main-wrapper"
  54. }]
  55. }';
  56. }
  57. if ($modx->getOption('onebooking.showTab_extras', null, true)) {
  58. $tabs .= !empty($tabs) ? ',' : '';
  59. $tabs .= '{
  60. title: _("onebooking_extras_tab"),
  61. layout: "anchor",
  62. items: [{
  63. xtype: "onebooking-grid-extras",
  64. anchor: "100%",
  65. cls: "main-wrapper"
  66. }]
  67. }';
  68. }
  69. if ($modx->getOption('onebooking.use_module_periods')) {
  70. $tabs .= !empty($tabs) ? ',' : '';
  71. $tabs .= '{
  72. title: _("onebooking_periods_tab"),
  73. id: "onebooking-periods-tab",
  74. layout: "anchor",
  75. items: [{
  76. xtype: "onebooking-grid-periods",
  77. cls: "main-wrapper"
  78. }]
  79. }';
  80. }
  81. if (!empty($tabs)) {
  82. $output = '
  83. Ext.ComponentMgr.onAvailable("onebooking-home-tabs", function() {
  84. this.on("beforerender", function() {
  85. this.add('. $tabs . ');
  86. });
  87. });
  88. ';
  89. $modx->controller->addHtml('<script>' . $output . '</script>');
  90. }
  91. break;
  92. }
Add Comment
Please, Sign In to add comment