Пример #1
0
 function step4()
 {
     $dispatcher = JDispatcher::getInstance();
     $checkout = JSFactory::getModel('checkoutShipping', 'jshop');
     $checkout->checkStep(4);
     $jshopConfig = JSFactory::getConfig();
     $checkoutStep = JSFactory::getModel('checkoutStep', 'jshop');
     $dispatcher->trigger('onLoadCheckoutStep4', array());
     if ($jshopConfig->without_shipping) {
         $checkoutStep = JSFactory::getModel('checkoutStep', 'jshop');
         $next_step = $checkoutStep->getNextStep(4);
         $checkout->setMaxStep($next_step);
         $this->setRedirect($checkoutStep->getCheckoutUrl($next_step));
         return 0;
     }
     JshopHelpersMetadata::checkoutShipping();
     $cart = JSFactory::getModel('cart', 'jshop');
     $cart->load();
     $checkout->setCart($cart);
     $adv_user = JSFactory::getUser();
     $checkout_navigator = $checkout->showCheckoutNavigation(4);
     $small_cart = $checkout->loadSmallCart(4);
     $shippings = $checkout->getCheckoutListShippings($adv_user);
     if ($shippings === false) {
         JError::raiseWarning("", $checkout->getError());
         return 0;
     }
     if (count($shippings) == 0 && $jshopConfig->checkout_step4_show_error_shipping_config) {
         JError::raiseWarning("", _JSHOP_ERROR_SHIPPING);
     }
     $active_shipping = $checkout->getCheckoutActiveShipping($shippings, $adv_user);
     if ($jshopConfig->hide_shipping_step) {
         $first_shipping = $checkout->getCheckoutFirstShipping($shippings);
         if (!$first_shipping) {
             JError::raiseWarning("", _JSHOP_ERROR_SHIPPING);
             return 0;
         }
         $this->setRedirect($checkoutStep->getCheckoutUrl('step4save&sh_pr_method_id=' . $first_shipping));
         return 0;
     }
     $view = $this->getView("checkout");
     $view->setLayout("shippings");
     $view->assign('shipping_methods', $shippings);
     $view->assign('active_shipping', $active_shipping);
     $view->assign('config', $jshopConfig);
     $view->assign('checkout_navigator', $checkout_navigator);
     $view->assign('small_cart', $small_cart);
     $view->assign('action', $checkoutStep->getCheckoutUrl('step4save', 0, 0));
     $dispatcher->trigger('onBeforeDisplayCheckoutStep4View', array(&$view));
     $view->display();
 }