frontend\modules\user\controllers\SettingController::actionDonate PHP Method

actionDonate() public method

打赏设置
public actionDonate ( ) : mixed
return mixed
    public function actionDonate()
    {
        /** @var Donate $model */
        $model = Donate::findOne(['user_id' => Yii::$app->user->id]) ?: new Donate(['scenario' => 'create']);
        $oldQrCode = $model->qr_code;
        $model->description ?: ($model->description = '如果这篇文章对您有帮助,不妨微信小额赞助我一下,让我有动力继续写出高质量的教程。');
        if ($model->load(Yii::$app->request->post())) {
            if ($image = $model->uploadImage()) {
                \yii\helpers\FileHelper::createDirectory(\Yii::$app->basePath . \Yii::$app->params['qrCodePath']);
                $model->deleteImage();
                $image->saveAs(\Yii::$app->basePath . \Yii::$app->params['qrCodePath'] . $model->qr_code);
            }
            if ($image === false && !empty($oldQrCode)) {
                $model->qr_code = $oldQrCode;
            }
            $model->user_id = Yii::$app->user->id;
            if ($model->save()) {
                Yii::$app->session->setFlash('success', '您的打赏信息修改成功');
            } else {
                Yii::$app->session->setFlash('error', '您的打赏信息更新失败');
            }
            return $this->refresh();
        }
        return $this->render('donate', ['model' => $model]);
    }