コード例 #1
0
    /**
     * @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;
    }