Example #1
0
    protected function getShippingXml()
    {
        $template = $this->product->getTemplate();
        if ($template->shipping_type === 'C') {
            return <<<XML
            <ShippingDetails>
                <ShippingType>Calculated</ShippingType>
                <CalculatedShippingRate>
                    <PackageDepth>{$this->product->shipping_box_height}</PackageDepth>
                    <PackageLength>{$this->product->shipping_box_length}</PackageLength>
                    <PackageWidth>{$this->product->shipping_box_width}</PackageWidth>
                    <ShippingPackage>{$this->product->package_type}</ShippingPackage>
                    <WeightMajor>{$this->product->weight_major}</WeightMajor>
                    <WeightMinor>{$this->product->weight_minor}</WeightMinor>
                    <MeasurementUnit>{$template->getMeasureType()}</MeasurementUnit>
                </CalculatedShippingRate>
                <ShippingServiceOptions>
                    <ShippingService>{$template->shippings}</ShippingService>
                    <ShippingServicePriority>1</ShippingServicePriority>
                </ShippingServiceOptions>
            </ShippingDetails>
XML;
        } else {
            $shipping_cost_additional = '<ShippingServiceAdditionalCost currencyID="' . CART_PRIMARY_CURRENCY . '">' . number_format($template->shipping_cost_additional, 2, '.', '') . '</ShippingServiceAdditionalCost>';
            if ($template->free_shipping === 'N') {
                $free_shipping = "false";
                $shipping_cost = '<ShippingServiceCost currencyID="' . CART_PRIMARY_CURRENCY . '">' . number_format($template->shipping_cost, 2, '.', '') . '</ShippingServiceCost>';
            } else {
                $shipping_cost = null;
                $free_shipping = 'true';
            }
            return <<<XML
            <ShippingDetails>
                <ShippingType>Flat</ShippingType>
                <ShippingServiceOptions>
                    <FreeShipping>{$free_shipping}</FreeShipping>
                    {$shipping_cost}
                    <ShippingService>{$template->shippings}</ShippingService>
                    <ShippingServicePriority>1</ShippingServicePriority>
                    {$shipping_cost_additional}
                </ShippingServiceOptions>
            </ShippingDetails>
XML;
        }
    }
Example #2
0
 /**
  * @param $product_ids
  * @throws \Exception
  * @throws \SmartyException
  */
 protected static function endProducts(array $product_ids)
 {
     static::$count_success = 0;
     static::$count_fail = 0;
     static::$count_skip = 0;
     static::$errors = array();
     static::$error_counter = array();
     $product_ids = array_filter($product_ids);
     $templates = $groups = array();
     fn_set_progress('parts', count($product_ids));
     foreach ($product_ids as $product_id) {
         $product = new Product($product_id, array('external'));
         if (empty($product->external_id) || $product->statusIsClosed()) {
             if (empty($product->external_id)) {
                 static::setError('100_' . $product_id, __('ebay_product_not_exported', array('[product]' => $product->original_title)), true);
             } else {
                 static::setError('101_' . $product_id, __('ebay_product_already_sales_closed', array('[product]' => $product->original_title)), true);
             }
             fn_set_progress('echo', '.');
             static::$count_skip++;
             continue;
         }
         if (!isset($templates[$product->template_id])) {
             $templates[$product->template_id] = $product->getTemplate();
         }
         $groups[$product->template_id][] = $product;
         if (count($groups[$product->template_id]) >= static::MAX_COUNT_END_PRODUCTS) {
             static::endGroupProducts($templates[$product->template_id], $groups[$product->template_id]);
             unset($groups[$product->template_id]);
         }
     }
     if (!empty($groups)) {
         foreach ($groups as $template_id => $products) {
             static::endGroupProducts($templates[$template_id], $products);
         }
     }
     /** @var \Smarty $smarty */
     $smarty = Tygh::$app['view'];
     $smarty->assign('end_result', array('count_success' => static::$count_success, 'count_fail' => static::$count_fail, 'count_skip' => static::$count_skip, 'errors' => static::$errors, 'error_counter' => static::$error_counter, 'count_external_error' => static::$count_external_error));
     fn_set_notification('I', __('ebay_end_summary_title'), $smarty->fetch('addons/ebay/views/ebay/components/end_summary.tpl'));
 }