public function actionPhoto()
 {
     $id = Yii::$app->request->get('id');
     $photos = Photo::findAll(['section' => $id]);
     if (Yii::$app->request->isAjax) {
         return json_encode(['title' => Yii::t('app', 'Photo') . " - " . Yii::t('app', 'Video operator for a wedding Kiev') . " ZEFIRMA " . Yii::t('app', 'Wedding videography and wedding video'), 'html' => $this->renderPartial('photo', ['title' => Yii::t('app', 'Photo') . " - " . Yii::t('app', 'Video operator for a wedding Kiev') . " ZEFIRMA " . Yii::t('app', 'Wedding videography and wedding video'), 'photos' => $photos])]);
     }
     return $this->render('photo', ['title' => Yii::t('app', 'Photo') . " - " . Yii::t('app', 'Video operator for a wedding Kiev') . " ZEFIRMA " . Yii::t('app', 'Wedding videography and wedding video'), 'photos' => $photos]);
 }
 public function actionConfirm()
 {
     if (!Yii::$app->request->post() or !Yii::$app->request->isAjax) {
         throw new BadRequestHttpException('Only POST Ajax requests');
     }
     $checkedPhotosId = Yii::$app->request->post('checkedPhotos');
     if (!$checkedPhotosId or $checkedPhotosId == []) {
         throw new \HttpInvalidParamException('No photos');
     }
     /** @var Users $user */
     $user = Yii::$app->session->get('user');
     if (!$user) {
         throw new UnauthorizedHttpException('Need login');
     }
     $checkedPhotosNames = [];
     // Mark selected photos
     foreach ($checkedPhotosId as $checkedPhotoId) {
         /** @var Photo $photoModel */
         $photoModel = Photo::findOne($checkedPhotoId);
         if (!$photoModel) {
             throw new NotFoundHttpException('Photo ' . $checkedPhotoId . ' not found');
         }
         if ($photoModel->project_id !== $user->project_id) {
             throw new HttpException(403);
         }
         if ($photoModel->selected === true) {
             continue;
         }
         $photoModel->selected = true;
         $photoModel->save();
         $checkedPhotosNames[] = '#' . $photoModel->id . ' - ' . $photoModel->filename;
     }
     // Deselect not checked photos
     $checkedPhotos = Photo::findAll(['user_id' => $user->id, 'selected' => true]);
     foreach ($checkedPhotos as $checkedPhoto) {
         if (!in_array($checkedPhoto->id, $checkedPhotosId)) {
             $checkedPhoto->selected = false;
             $checkedPhoto->save();
         }
     }
     // Notify by email
     try {
         Yii::$app->mailer->compose('checked', ['checkedPhotosNames' => $checkedPhotosNames, 'user' => $user])->setFrom([Yii::$app->params['siteEmail'] => 'Fotoboom.net'])->setTo(Yii::$app->params['adminEmail'])->setSubject('Пользователь ' . $user->name . ' выбрал фото')->send();
     } catch (\Exception $e) {
     }
     return json_encode(['success' => true, 'message' => 'Выбранные фото успешно отправлены фотографу. Теперь вы можете просто закрыть страницу.']);
 }