public function hr() { $email = trim(Request::input('email')); $text = trim(Request::input('text')); $name = trim(Request::input('name')); $vacancyId = intval(Request::input('vacancyId')); $traineeship = intval(Request::input('traineeship')) ? true : false; $text = nl2br(htmlspecialchars($text, ENT_COMPAT, 'UTF-8')); $fileUrl = null; if ($traineeship) { $title = $name . ' прислал(а) резюме на стажировку'; } else { $vacancy = Vacancy::findOrFail($vacancyId); $group = $vacancy->vacancyGroup; $title = "{$name} прислал(а) резюме на вакансию «{$vacancy}» раздела «{$group}»"; } $text = "<p>{$title}</p><p>Email: <a href=mailto:{$email}>{$email}</a></p>" . $text; $to = $traineeship ? '*****@*****.**' : '*****@*****.**'; //$to = '*****@*****.**'; if (empty($name) || mb_strlen($name, 'UTF-8') < 2) { return Response::json(['status' => 'SHORT_NAME']); } elseif (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) { return Response::json(['status' => 'FAIL']); } elseif (empty($text) || mb_strlen($text, 'UTF-8') < 7) { return Response::json(['status' => 'SHORT']); } $hr = new Hr(); $hr->to = $to; $hr->from = $email; $hr->text = $text; $hr->name = $name; $hr->title = $title; $hr->traineeship = $traineeship; if ($vacancyId) { $hr->vacancy_id = $vacancyId; } $fileName = ""; if ($file = Request::file('resume')) { $file = Request::file('resume'); $fileName = sha1(uniqid() . md5(time() . rand(111, 999))) . "." . $file->getClientOriginalExtension(); if ($file->move(storage_path("resume"), $fileName) == false) { return Response::json(['status' => 'FILE']); } } if ($fileName != "") { $result = Mailer::send($to, ['emails.feedback', ['text' => $text]], $title, $email, storage_path("resume/" . $fileName), $fileName); $result = Mailer::send($email, ['emails.feedback_thanks', ['text' => $text]], "[TWIGA] Autoreply", "*****@*****.**"); unlink(storage_path("resume/" . $fileName)); return $result ? Response::json(['status' => 'OK']) : Response::json(['status' => 'FAIL']); } else { return Response::json(['status' => 'FILE']); } }