/** * Add a related product * * @param string $passkey * @param int $intProductId * @param int $intRelatedId * @param int $intAutoadd * @param float $fltQty * @return string */ public function add_related_product($passkey, $intProductId, $intRelatedId, $intAutoadd, $fltQty) { if (!$this->check_passkey($passkey)) { return self::FAIL_AUTH; } Yii::app()->db->createCommand('SET FOREIGN_KEY_CHECKS=0;')->execute(); $related = ProductRelated::LoadByProductIdRelatedId($intProductId, $intRelatedId); $objProduct = Product::model()->findByPk($intProductId); $new = false; if (!$related instanceof ProductRelated) { $related = new ProductRelated(); } //You can't auto add a master product if ($objProduct->master_model == 1) { $intAutoadd = 0; } $related->product_id = $intProductId; $related->related_id = $intRelatedId; $related->autoadd = $intAutoadd; $related->qty = $fltQty; if (!$related->save()) { Yii::log("SOAP ERROR : Error saving related {$intProductId} " . print_r($related->getErrors()), 'error', 'application.' . __CLASS__ . "." . __FUNCTION__); return self::UNKNOWN_ERROR . " Error saving category {$intProductId} " . print_r($related->getErrors(), true); } Yii::app()->db->createCommand('SET FOREIGN_KEY_CHECKS=1;')->execute(); return self::OK; }
/** * Add a related product * * @param string $passkey * @param int $intProductId * @param int $intRelatedId * @param int $intAutoadd * @param float $fltQty * @return string * @throws SoapFault * * @soap */ public function add_related_product($passkey, $intProductId, $intRelatedId, $intAutoadd, $fltQty) { self::check_passkey($passkey); Yii::app()->db->createCommand('SET FOREIGN_KEY_CHECKS=0;')->execute(); $related = ProductRelated::LoadByProductIdRelatedId($intProductId, $intRelatedId); $objProduct = Product::model()->findByPk($intProductId); $new = false; if (!$related instanceof ProductRelated) { $related = new ProductRelated(); } //You can't auto add a master product if ($objProduct->master_model == 1) { $intAutoadd = 0; } $related->product_id = $intProductId; $related->related_id = $intRelatedId; $related->autoadd = $intAutoadd; $related->qty = $fltQty; if (!$related->save()) { $strMsg = "Error saving related {$intProductId}"; Yii::log("SOAP ERROR : {$strMsg} " . print_r($related->getErrors()), CLogger::LEVEL_ERROR, 'application.' . __CLASS__ . "." . __FUNCTION__); throw new SoapFault($strMsg, WsSoapException::ERROR_UNKNOWN); } Yii::app()->db->createCommand('SET FOREIGN_KEY_CHECKS=1;')->execute(); return self::OK; }