public function addNew(Request $request)
 {
     $validator = Validator::make($request->all(), ['editorArticle' => 'required|string|max:100000', 'InputImage' => 'required|image|max:100000', 'categoryId' => 'required|numeric', 'publishTime' => 'required', 'publish' => 'required|numeric', 'title' => 'required|string|max:400', 'SeeAlso' => 'required']);
     if ($validator->fails()) {
         $error = $validator->errors()->all();
         return response()->json(['error' => true, 'reason' => $error]);
     }
     if (count(json_decode($request->get('SeeAlso'))) != 3) {
         return response()->json(['error' => true, 'reason' => 'Выбрано не 3 релевантных новости']);
     }
     $title = $request->get('title');
     // изображение статьи
     $img = $request->file('InputImage');
     // транслит для урла
     $url = Translit::translit($title);
     // получение mime типа
     $mimeType = $img->getMimeType();
     $mimeTypeAvailable = ['image/png', 'image/jpeg', 'image/gif'];
     // фича для получения расширения по mime types
     foreach ($mimeTypeAvailable as $v) {
         if ($mimeType == $v) {
             $imgName = $url . '.' . preg_replace("/.*\\/(.*)/ui", "\${1}", $v);
             break;
         }
     }
     // путь сохранения изображения
     $imgPath = '../resources/images/news/new/' . $imgName;
     // сохраняем изображение
     Image::make($img)->resize(270, 190)->save($imgPath);
     // количество просмотров
     $views = mt_rand(100, 900);
     // пост-публикация
     $publishTime = $request->get('publishTime');
     // разбиваем массив
     $publishTimeArray = explode('-', $publishTime);
     // если не задан, то публикуем сейчас, иначе по заданному времени
     if ($publishTime == 'false') {
         $publishTime = Carbon::now();
     } else {
         $publishTime = Carbon::create($publishTimeArray[0], $publishTimeArray[1], $publishTimeArray[2]);
     }
     // попытка добавить данные
     try {
         $query = _New::create(['text' => $request->get('editorArticle'), 'title' => $request->get('title'), 'category_id' => $request->get('categoryId'), 'pic_preview' => $imgName, 'views' => $views, 'url' => $url, 'see_also' => $request->get('SeeAlso'), 'published_at' => $publishTime, 'publish' => $request->get('publish')]);
         return \Response::json($query);
         // если ошибка, ловим ее и возвращаем error
     } catch (\Exception $e) {
         return response()->json(['error' => true, 'reason' => $e->getMessage() . ' строка ' . $e->getLine()]);
     }
 }