Пример #1
0
 function listShippingMethods()
 {
     global $toC_Json, $osC_Language, $osC_Currencies, $osC_Tax, $osC_Weight, $osC_ShoppingCart, $osC_Shipping;
     $osC_Language->loadIniFile($_SESSION['module'] . '.php');
     $osC_Currencies = new osC_Currencies_Admin();
     $osC_Tax = new osC_Tax_Admin();
     $osC_Weight = new osC_Weight();
     $osC_ShoppingCart = new toC_ShoppingCart_Adapter($_REQUEST['orders_id']);
     $osC_ShoppingCart->_calculate();
     unset($_SESSION['osC_ShoppingCart_data']['shipping_quotes']);
     $osC_Shipping = new osC_Shipping();
     if ($osC_ShoppingCart->hasShippingMethod() === false) {
         $osC_ShoppingCart->setShippingMethod($osC_Shipping->getCheapestQuote());
     }
     $records = array();
     foreach ($osC_Shipping->getQuotes() as $quotes) {
         $module = $quotes['module'];
         if (isset($quotes['icon']) && !empty($quotes['icon'])) {
             $module .= ' ' . $quotes['icon'];
         }
         $records[] = array('title' => '<b>' . $module . '</b>', 'code' => $quotes['id'], 'price' => '', 'action' => array());
         if (isset($quotes['error'])) {
             $records[] = array('title' => '&nbsp;&nbsp;--&nbsp;<i>' . $quotes['error'] . '</i>', 'code' => $quotes['id'] . '_error', 'price' => '', 'action' => array());
         } else {
             foreach ($quotes['methods'] as $methods) {
                 $records[] = array('title' => '&nbsp;&nbsp;--&nbsp;<i>' . $methods['title'] . '</i>', 'code' => $quotes['id'] . '_' . $methods['id'], 'price' => $osC_Currencies->displayPrice($methods['cost'], $quotes['tax_class_id'], 1, $osC_ShoppingCart->getCurrency()), 'action' => array('class' => 'icon-add-record', 'qtip' => ''));
             }
         }
     }
     $response = array(EXT_JSON_READER_ROOT => $records);
     echo $toC_Json->encode($response);
 }