/** * @anonym * @service affiliate read * @param Gpf_Rpc_Params $params */ public function loadPayoutFields(Gpf_Rpc_Params $params) { $form = new Gpf_Rpc_Form($params); if (!Gpf_Session::getAuthUser()->isLogged()) { return $form; } $this->user = $this->createDbRowObject(); $this->user->setPrimaryKeyValue($this->getId($form)); try { $this->user->load(); } catch (Gpf_DbEngine_NoRow $e) { throw new Exception($this->getDbRowObjectName().$this->_(" does not exist")); } $this->attribute->loadAttributes($this->user->getAccountUserId()); $payoutOptionId = $form->getFieldValue("payoutOptionId"); if ($payoutOptionId == null) { return $form; } $formFields = Gpf_Db_Table_FormFields::getInstance(); $formName = "payout_option_" . $payoutOptionId; $payoutOptionFields = $formFields->getFieldsNoRpc($formName); $payoutOptionValues = Pap_Db_Table_UserPayoutOptions::getInstance()->getValues($formName, $this->user->getId()); foreach ($payoutOptionFields as $field) { $code = $field->get("code"); if (array_key_exists($code, $payoutOptionValues)) { $value = $payoutOptionValues[$code]->getValue(); } else { $value = ''; } $form->setField($code, $value); } return $form; }