Esempio n. 1
0
 public function viewPrice($price)
 {
     if (Pi::service('module')->isActive('order')) {
         // Load language
         Pi::service('i18n')->load(array('module/order', 'default'));
         // Set price
         $viewPrice = Pi::api('api', 'order')->viewPrice($price);
     } else {
         $viewPrice = _currency($price);
     }
     return $viewPrice;
 }
Esempio n. 2
0
 public function canonizeOrder($order, $event = true)
 {
     // Check
     if (empty($order)) {
         return '';
     }
     // Order to array
     $order = $order->toArray();
     // Set time
     $order['time_order_view'] = _date($order['time_order']);
     $order['time_start_view'] = _date($order['time_start']);
     $order['time_end_view'] = _date($order['time_end']);
     // Set number view
     $order['number_view'] = $order['number'];
     // Set price
     if (Pi::service('module')->isActive('order')) {
         $order['price_view'] = Pi::api('api', 'order')->viewPrice($order['price']);
         $order['vat_view'] = Pi::api('api', 'order')->viewPrice($order['vat']);
         $order['total_view'] = Pi::api('api', 'order')->viewPrice($order['total']);
     } else {
         $order['price_view'] = _currency($order['price']);
         $order['vat_view'] = _currency($order['vat']);
         $order['total_view'] = _currency($order['total']);
     }
     // Set order url
     /* $order['orderUrl'] = Pi::url(Pi::service('url')->assemble('event', array(
            'module' => $this->getModule(),
            'controller' => 'register',
            'action' => 'detail',
            'id' => $order['id'],
        ))); */
     // Set event
     if ($event) {
         $order['eventInfo'] = Pi::api('event', 'event')->getEventSingle($order['event']);
     }
     // return
     return $order;
 }
Esempio n. 3
0
 public function canonizeOrder($order)
 {
     // Check
     if (empty($order)) {
         return '';
     }
     // Order to array
     $order = $order->toArray();
     // Set time
     $order['time_order_view'] = _date($order['time_order']);
     $order['time_start_view'] = _date($order['time_start']);
     $order['time_end_view'] = _date($order['time_end']);
     // Set price
     if (Pi::service('module')->isActive('order')) {
         $order['price_view'] = Pi::api('api', 'order')->viewPrice($order['price']);
         $order['vat_view'] = Pi::api('api', 'order')->viewPrice($order['vat']);
         $order['total_view'] = Pi::api('api', 'order')->viewPrice($order['total']);
     } else {
         $order['price_view'] = _currency($order['price']);
         $order['vat_view'] = _currency($order['vat']);
         $order['total_view'] = _currency($order['total']);
     }
     // return
     return $order;
 }
Esempio n. 4
0
 public function canonizeEvent($extra, $event = array())
 {
     // Check
     if (empty($extra)) {
         return '';
     }
     // object to array
     if (is_object($extra)) {
         $extra = $extra->toArray();
     }
     // Make register_discount
     $extra['register_discount'] = json::decode($extra['register_discount'], true);
     // Set register_details
     $extra['register_details'] = Pi::service('markup')->render($extra['register_details'], 'html', 'html');
     // Set time
     $extra['time_start_view'] = empty($extra['time_start']) ? '' : _date($extra['time_start'], array('pattern' => 'yyyy-MM-dd'));
     $extra['time_end_view'] = empty($extra['time_end']) ? '' : _date($extra['time_end'], array('pattern' => 'yyyy-MM-dd'));
     // Set register_price
     if (is_numeric($extra['register_price']) && $extra['register_price'] > 0) {
         $uid = Pi::user()->getId();
         $roles = Pi::user()->getRole($uid);
         if (!empty($extra['register_discount'])) {
             $price = $extra['register_price'];
             foreach ($extra['register_discount'] as $role => $percent) {
                 if (isset($percent) && $percent > 0 && in_array($role, $roles)) {
                     $price = $extra['register_price'] - $extra['register_price'] * ($percent / 100);
                 }
             }
             $extra['register_price'] = $price;
         }
         if (Pi::service('module')->isActive('order')) {
             $priceView = Pi::api('api', 'order')->viewPrice($extra['register_price']);
         } else {
             $priceView = _currency($extra['register_price']);
         }
     } else {
         $priceView = _currency($extra['register_price']);
     }
     // Set order
     $config = Pi::service('registry')->config->read($this->getModule());
     if ($config['order_active']) {
         if ($extra['register_price'] > 0 && $extra['register_stock'] > 0) {
             $extra['register_price_view'] = $priceView;
         } elseif ($extra['register_price'] > 0 && $extra['register_stock'] == 0) {
             $extra['register_price_view'] = sprintf(__('Out of stock ( %s )'), $priceView);
         } else {
             $extra['register_price_view'] = __('free!');
         }
     } else {
         if (is_numeric($extra['register_price']) && $extra['register_price'] > 0) {
             $extra['register_price_view'] = _currency($extra['register_price']);
         } else {
             $extra['register_price_view'] = __('free!');
         }
     }
     // Set currency
     $configSystem = Pi::service('registry')->config->read('system');
     $extra['price_currency'] = empty($configSystem['number_currency']) ? 'USD' : $configSystem['number_currency'];
     // canonize guide module details
     $extra['guide_category'] = Json::decode($extra['guide_category'], true);
     $extra['guide_location'] = Json::decode($extra['guide_location'], true);
     $extra['guide_item'] = Json::decode($extra['guide_item'], true);
     // Set event url
     $extra['eventUrl'] = Pi::url(Pi::service('url')->assemble('event', array('module' => $this->getModule(), 'controller' => 'index', 'slug' => $extra['slug'])));
     // Set register url
     $extra['eventOrder'] = Pi::url(Pi::service('url')->assemble('event', array('module' => $this->getModule(), 'controller' => 'register', 'action' => 'add')));
     // Set category
     if (isset($event['topics']) && !empty($event['topics'])) {
         $topicList = array();
         foreach ($event['topics'] as $topic) {
             $topicList[] = array('title' => $topic['title'], 'url' => Pi::url(Pi::service('url')->assemble('event', array('module' => $this->getModule(), 'controller' => 'category', 'slug' => $topic['slug']))));
         }
         $extra['topics'] = $topicList;
     }
     // Check guide module
     if (Pi::service('module')->isActive('guide') && !empty($extra['guide_location'])) {
         $locationList = Pi::registry('locationList', 'guide')->read();
         $extra['locationInfo'] = $locationList[$extra['guide_location'][0]];
     }
     return $extra;
 }