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(); }