public function addAction()
 {
     $this->view->disable();
     function valid_form_offer()
     {
         $sub_mess = '';
         //if ($this->security->checkToken()) {}
         if (isset($_POST['text_answer']) && strlen($_POST['text_answer']) < 2) {
             $sub_mess['text_offer'] = 'Введите текст сообщения';
         }
         if (is_array($sub_mess)) {
             echo json_encode($sub_mess);
             return false;
         } else {
             return true;
         }
     }
     if (valid_form_offer()) {
         $dialog_id = $this->request->getPost('dialog');
         $text_answer = $this->request->getPost('text_answer');
         $user_id = $this->session->get('user_id');
         // Если НЕТ: создать диалог -> связь -> сообщение привязанное к диалогу
         // Если ЕСТЬ: создать сообщение привязанное к диалогу
         $dialog = Dialogs::findFirst($dialog_id);
         if (isset($dialog->id)) {
             $message = new Message();
             $message->dialogs_id = $dialog_id;
             $message->text = $text_answer;
             $message->creation_date = date("Y-m-d-H-i-s");
             $message->author_id = $user_id;
             $message->save();
             if ($message->save() == false) {
                 foreach ($message->getMessages() as $message) {
                     echo $message;
                     exit;
                 }
             }
         } else {
             $dialog = new Dialogs();
             $dialog->creation_date;
             $dialog->save();
             if ($dialog->save() == false) {
                 foreach ($dialog->getMessages() as $message) {
                     echo $message;
                     exit;
                 }
             }
             $dialogsHasUser = new DialogsHasUser();
             $dialogsHasUser->dialogs_id = $dialog->id;
             $dialogsHasUser->user_id = $user_id;
             $dialogsHasUser->save();
             if ($dialogsHasUser->save() == false) {
                 foreach ($dialogsHasUser->getMessages() as $message) {
                     echo $message;
                     exit;
                 }
             }
             $message = new Message();
             $message->dialogs_id = $dialog_id;
             $message->text = $text_answer;
             $message->creation_date = date("Y-m-d-H-i-s");
             $message->author_id = $user_id;
             $message->save();
             if ($message->save() == false) {
                 foreach ($message->getMessages() as $message) {
                     echo $message;
                     exit;
                 }
             }
         }
         echo '1';
     }
 }
 public function addofferformAction()
 {
     $this->view->disable();
     function valid_form_offer()
     {
         $sub_mess = '';
         if (!isset($_POST['model']) || strlen($_POST['model']) < 3) {
             $sub_mess['model'] = 'Не корректно заполнено поле Модель:';
         }
         if (!isset($_POST['cat_id'])) {
             $sub_mess['cat_id'] = 'Не корректно заполнено поле Класс:';
         }
         if (!isset($_POST['city']) || strlen($_POST['city']) < 3) {
             $sub_mess['city'] = 'Не корректно заполнено поле Город:';
         }
         if (!isset($_POST['price']) || strlen($_POST['price']) < 2) {
             $sub_mess['price'] = 'Не корректно заполнено поле Цена:';
         }
         if (!isset($_POST['text_offer']) || strlen($_POST['text_offer']) < 5) {
             $sub_mess['text_offer'] = 'Не корректно заполнено поле Характеристики техники: ';
         }
         if (is_array($sub_mess)) {
             echo json_encode($sub_mess);
             return false;
         } else {
             return true;
         }
     }
     if (valid_form_offer()) {
         //// Обработчик формы предложения
         $user_id = $this->session->get('user_id');
         $cat_id = $this->session->get('cat_id');
         $el = new Elements();
         $el->dir_valid($user_id);
         if ($this->request->hasPost('offer_id')) {
             $offer = Offers::findFirst($this->request->getPost('offer_id'));
         } else {
             $offer = new Offers();
         }
         $offer->name = $this->request->getPost('model');
         $md = new Model();
         $md->name = $this->request->getPost('model');
         $this->modelsCache->delete("md");
         $md->save();
         $offer->user_id = $user_id;
         if ($this->request->hasPost('sub_cat_id')) {
             $offer->category_id = $this->request->getPost('sub_cat_id');
         } else {
             if ($this->request->hasPost('cat_id')) {
                 $offer->category_id = $this->request->getPost('cat_id');
             }
         }
         $offer->creation_date = date("Y-m-d-H-i-s");
         $offer->text = $this->request->getPost('text_offer');
         if ($this->request->hasPost('public') && $this->request->getPost('public') == 'y') {
             $offer->status = 1;
         }
         $offer->save();
         if ($offer->save() == false) {
             foreach ($offer->getMessages() as $message) {
             }
         } else {
         }
         // Поля
         if ($this->request->hasPost('offer_id')) {
             foreach ($offer->dannoffers as $dann) {
                 $dann->delete();
             }
         }
         if ($this->request->hasPost('city')) {
             $dann = new DannOffers();
             $dann->dann = $this->request->getPost('city');
             $dann->field_type_id = 4;
             $dann->offers_id = $offer->id;
             $dann->active = 1;
             $dann->save();
         }
         if ($this->request->hasPost('price')) {
             $dann = new DannOffers();
             $dann->dann = $this->request->getPost('price');
             $dann->field_type_id = 5;
             $dann->offers_id = $offer->id;
             $dann->active = 1;
             $dann->save();
         }
         if ($this->request->hasPost('oper')) {
             $dann = new DannOffers();
             $dann->dann = $this->request->getPost('oper');
             $dann->field_type_id = 14;
             $dann->offers_id = $offer->id;
             $dann->active = 1;
             $dann->save();
         }
         if ($this->request->hasPost('gsm-act')) {
             $dann = new DannOffers();
             $dann->dann = $this->request->getPost('gsm-act');
             $dann->field_type_id = 7;
             $dann->offers_id = $offer->id;
             $dann->active = 1;
             $dann->save();
         }
         if ($this->request->hasPost('rad-dost')) {
             $dann = new DannOffers();
             $dann->dann = $this->request->getPost('rad-dost');
             $dann->field_type_id = 15;
             $dann->offers_id = $offer->id;
             $dann->active = 1;
             $dann->save();
         }
         if ($this->request->hasPost('dost-act')) {
             $dann = new DannOffers();
             $dann->dann = $this->request->getPost('dost-act');
             $dann->field_type_id = 6;
             $dann->offers_id = $offer->id;
             $dann->active = 1;
             $dann->save();
         }
         foreach ($_POST as $key => $fil) {
             if (stripos($key, 'fil_cat') !== false) {
                 $dann = new DannOffers();
                 $dann->dann = $this->request->getPost($key);
                 $dann->field_type_id = intval(str_replace('fil_cat-', '', $key));
                 $dann->offers_id = $offer->id;
                 $dann->active = 1;
                 $dann->save();
             }
         }
         /// Фото
         if ($this->request->hasFiles() == true) {
             $i = 0;
             // Выводим имя и размер файла
             foreach ($this->request->getUploadedFiles() as $file) {
                 $i++;
                 // Перемещаем в приложение
                 if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/public/upload/users/user-' . $user_id . '/offers/offer-' . $offer->id)) {
                 } else {
                     mkdir($_SERVER['DOCUMENT_ROOT'] . '/public/upload/users/user-' . $user_id . '/offers/offer-' . $offer->id);
                 }
                 $file->moveTo('upload/users/user-' . $user_id . '/offers/offer-' . $offer->id . '/' . $file->getName());
                 $gd = new GdAdapter('upload/users/user-' . $user_id . '/offers/offer-' . $offer->id . '/' . $file->getName());
                 $gd->resize(600, 430)->save('upload/users/user-' . $user_id . '/offers/offer-' . $offer->id . '/image-big-' . $i . '.jpg');
                 $gd->resize(280, 201)->save('upload/users/user-' . $user_id . '/offers/offer-' . $offer->id . '/image-medium-' . $i . '.jpg');
                 $gd->resize(120, 86)->save('upload/users/user-' . $user_id . '/offers/offer-' . $offer->id . '/image-small-' . $i . '.jpg');
                 unlink('upload/users/user-' . $user_id . '/offers/offer-' . $offer->id . '/' . $file->getName());
                 $image['image-big-' . $i] = 'upload/users/user-' . $user_id . '/offers/offer-' . $offer->id . '/image-big-' . $i . '.jpg';
                 $image['image-medium-' . $i] = 'upload/users/user-' . $user_id . '/offers/offer-' . $offer->id . '/image-medium-' . $i . '.jpg';
                 $image['image-small-' . $i] = 'upload/users/user-' . $user_id . '/offers/offer-' . $offer->id . '/image-small-' . $i . '.jpg';
             }
             $offer->image = serialize($image);
             $offer->save();
         }
         echo json_encode(array('success' => "Предложение " . $offer->name . " добавлено", 'offer_id' => $offer->id));
         ////Конец Обработчика формы предложения
     }
 }