/** * Добавления предложения к проекту * * @param array $aParams массив входящих данных * @return array $aResult ответ */ protected function x____projects_response_add($aParams = array()) { $this->_validDevice($aParams); $sId = __paramValue('int', $aParams['project_id'], null, true); if (!empty($sId)) { require_once ABS_PATH . "/classes/projects.php"; $nUid = get_uid(false); $oPrj = new new_projects(); $aProject = $oPrj->GetPrjCust($sId); if (!empty($aProject)) { require_once ABS_PATH . '/classes/projects_offers.php'; if (projects_offers::offerSpecIsAllowed($sId)) { require_once ABS_PATH . '/classes/projects_offers_dialogue.php'; if ($aParams['term'] > 9999) { $this->error(EXTERNAL_ERR_SERVER_ERROR); } else { // TODO: все что с ps_ - по умолчанию $obj_offer = new projects_offers(); $error_offer = $obj_offer->AddOffer($nUid, $sId, $aParams['budget'], $aParams['ps_cost_to'], $aParams['currency'], $aParams['term'], $aParams['ps_time_to'], $aParams['term_dimension'], antispam(stripslashes(iconv('utf-8', 'cp1251', $aParams['comment']))), $aParams['ps_work_1_id'], $aParams['ps_work_2_id'], $aParams['ps_work_3_id'], $aParams['ps_work_1_link'], $aParams['ps_work_2_link'], $aParams['ps_work_3_link'], $aParams['ps_work_1_name'], $aParams['ps_work_2_name'], $aParams['ps_work_3_name'], $aParams['ps_work_1_pict'], $aParams['ps_work_2_pict'], $aParams['ps_work_3_pict'], $aParams['ps_work_1_prev_pict'], $aParams['ps_work_2_prev_pict'], $aParams['ps_work_3_prev_pict'], !empty($aParams['only_customer']), 0, 0, false, false, serialize(array()), '0'); } if ($error_offer) { $this->error(EXTERNAL_ERR_SERVER_ERROR); } $aOffer = $obj_offer->GetPrjOffer($sId, $nUid); $aResult = array('project_response' => $this->_getProjectOfferData($aOffer)); } else { $this->error(EXTERNAL_ERR_OFFER_SPEC); } } else { $this->error(EXTERNAL_ERR_PROJECT_NOT_FOUND); } } else { $this->error(EXTERNAL_ERR_EMPTY_PROJECT_ID); } return $aResult; }