Пример #1
0
 public function actionServices()
 {
     if (!\Yii::$app->user->isGuest) {
         $services = [];
         $user = User::findOne(\Yii::$app->user->id);
         $model = false;
         if (empty($user->address)) {
             $show = "address";
             $model = new PersonalAccountAddress();
             $model->user_id = $user->id;
             if ($model->load(\Yii::$app->request->post()) && $model->save()) {
                 $show = "personalAccAdd";
                 $services = Services::find()->all();
                 $model = new PersonalAccount();
             }
         } elseif (empty($user->accs)) {
             $show = "personalAccAdd";
             $services = Services::find()->all();
             $model = new PersonalAccount();
             if (!empty($_POST['acc'])) {
                 $accs = $_POST['acc'];
                 $validate = true;
                 $accounts = [];
                 foreach ($accs as $index => $acc) {
                     if ($acc) {
                         $account[$index] = new PersonalAccount();
                         $account[$index]->value = $acc;
                         $account[$index]->service_id = $index;
                         $account[$index]->user_id = $user->id;
                         $validate = $validate && $account[$index]->validate();
                     }
                 }
                 if ($validate) {
                     foreach ($account as $_account) {
                         $_account->save();
                     }
                     $show = "personalAccShow";
                     $model = PersonalAccount::find()->where('user_id = :user_id', [':user_id' => $user->id])->all();
                 }
             }
         } else {
             $show = "personalAccShow";
             $services = PersonalAccount::find()->where('user_id = :user_id', [':user_id' => $user->id])->all();
         }
         return $this->render('services', ['model' => $model, 'services' => $services, 'show' => $show]);
     } else {
         return $this->redirect('/');
     }
 }