function upsellAction() { $model = new Upsell(); // Uncomment the following line if AJAX validation is needed $this->performAjaxValidation($model); if (isset($_POST['model']) && $_POST['model'] == 'upsells' && isset($_POST['ajax'])) { $upsellID = AF::get($_POST, 'upsell_id'); $parent_upsell_id = AF::get($_POST, 'parent_upsell_id'); $answer = AF::get($_POST, 'answer'); $productID = AF::get($_POST, 'product_id'); $shippingID = AF::get($_POST, 'shipping_id'); $campaign_id = AF::get($_POST, "campaign_id"); $main_parent_product_id = AF::get($_POST, "main_parent_product_id"); $product_replace = AF::get($_POST, "product_replace") ? AF::get($_POST, "product_replace") : 0; $url = AF::get($_POST, 'url'); if (!$answer) { Message::echoJsonError(__('upsell_not_upsell_answer')); } //if(!$shippingID) //Message::echoJsonError(__('upsell_select_shipping')); if (!$parent_upsell_id) { if ($upsellID) { $model->findByPk($upsellID); if ($productID) { $model->product_id = $productID; $model->shipping_id = $shippingID; $model->product_replace = $product_replace; $model->url = $url; if ($model->save()) { Message::echoJsonSuccess(array('reload' => '1', 'message' => __('upsell_updated'))); } else { Message::echoJsonError(__('upsell_not_updated')); } } else { $campProdModel = new CampaignProduct(); $campProdModel->findByPk($answer); $campProdModel->upsell_id = null; if ($campProdModel->save()) { $model->delete(); Message::echoJsonSuccess(array('reload' => '1', 'message' => __('upsell_updated'))); } else { Message::echoJsonError(__('upsell_not_updated')); } } } else { if (!$productID) { Message::echoJsonError(__('upsell_select_product')); } $model->product_id = $productID; $model->shipping_id = $shippingID; $model->product_replace = $product_replace; $model->url = $url; if ($model->save()) { $campProdModel = new CampaignProduct(); $campProdModel->findByPk($answer); $campProdModel->upsell_id = $model->upsell_id; if ($campProdModel->save()) { Message::echoJsonSuccess(array('reload' => '1', 'message' => __('upsell_created'))); } else { Message::echoJsonError(__('upsell_not_updated')); } } else { Message::echoJsonError(__('upsell_not_updated')); } } } elseif ($upsellID) { $model->findByPk($upsellID); if (!$productID) { if ($model->delete()) { $parentUpsellModel = new Upsell(); $parentUpsellModel->findByPk($parent_upsell_id); $parentUpsellModel->setAnswer($answer, null); $parentUpsellModel->save(); Message::echoJsonSuccess(__('upsell_not_deleted')); } else { Message::echoJsonError(__('upsell_not_updated')); } } else { $model->product_id = $productID; $model->shipping_id = $shippingID; $model->product_replace = $product_replace; $model->url = $url; if ($model->save()) { Message::echoJsonSuccess(array('reload' => '1', 'message' => __('upsell_updated'))); } else { Message::echoJsonError(__('upsell_not_updated')); } } } else { // parent_upsell_id = 119, upsell_id = 0 if (!$productID) { Message::echoJsonError(__('upsell_select_product')); } $model->fillFromArray($_POST); if ($model->save()) { $upsellModel = new Upsell(); $upsellModel->findByPk($parent_upsell_id); $upsellModel->setAnswer($answer, $model->upsell_id); if ($upsellModel->save()) { Message::echoJsonSuccess(array('reload' => '1', 'message' => __('upsell_created'))); } else { Message::echoJsonError(__('upsell_not_updated')); } } else { Message::echoJsonError(__('upsell_not_updated')); } } die; } }