public function actionShipping() { $this->step = 2; $cart = cart::model()->findByPk(Yii::app()->user->getState('cart_ID')); if ($_POST['carrier'] && !empty($_POST['carrier'])) { if ($model = carrier_entity::model()->findByPk($_POST['carrier'])) { $cart->cart_carrier_ID = intval($_POST['carrier']); $cart->save(); $this->redirect(array('payment')); exit; } } if (!isset($cart->cart_address_ID) or empty($cart->cart_address_ID)) { $this->redirect(array('index')); } $address = address_entity::model()->findByPk($cart->cart_address_ID); $zoneID = $address->getZoneId(); $carrier = carrier_entity::getByZone($zoneID); foreach ($carrier as $key => $row) { if (!($weightID = weight_range::validateCarrier($cart->getWeightTotal(), $row['carrier_ID']))) { unset($carrier[$key]); continue; } $carrier[$key]['price'] = $cart->getOrderShippingCost($row['carrier_ID']); $carrier[$key]['selected'] = false; if ($cart->cart_carrier_ID == $row['carrier_ID']) { $carrier[$key]['selected'] = true; } } $this->render('shipping', array('carrier' => $carrier)); }