AuthorController.php 1.69 KB
<?php
    /**
     * Created by PhpStorm.
     * User: stes
     * Date: 11.06.18
     * Time: 16:43
     */
    
    namespace frontend\controllers;
    
    use common\models\Book;
    use frontend\helpers\Url;
    use frontend\models\ChangePassword;
    use yii\data\ActiveDataProvider;
    use yii\web\Controller;
    use yii\web\Response;
    use yii\web\UploadedFile;
    
    class AuthorController extends Controller
    {
        public function actionIndex()
        {
            if (\Yii::$app->user->isGuest) {
                return $this->redirect([ Url::home() ]);
            }
            /* @var \common\models\Author $user */
            $user = \Yii::$app->user->identity;
            $dataProvider = new ActiveDataProvider(
                [
                    'query'      => Book::find()
                                        ->where([ 'author_id' => $user->id ]),
                    'pagination' => [
                        'pageSize' => 10,
                    ],
                ]
            );
            if ($user->load(\Yii::$app->request->post()) and $user->save()) {
                $user->saveImage(UploadedFile::getInstanceByName('avatar'));
            }
            return $this->render(
                'index',
                [
                    'user'         => $user,
                    'dataProvider' => $dataProvider,
                ]
            );
        }
        
        
        public function actionChangePassword(){
            \Yii::$app->response->format = Response::FORMAT_JSON;
            $model = new ChangePassword();
            if ($model->load(\Yii::$app->request->post(), '')){
                return $model->changePassword();
            }
        }
    }