daily pastebin goal
23%
SHARE
TWEET

Untitled

a guest Jan 24th, 2019 69 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top