turkmentv/app/Http/Controllers/ContactController.php

129 lines
3.9 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Mail;
use App\Mail\SendMail;
use App\User;
use App\Rules\ReCaptchaRule;
use ReCaptcha\ReCaptcha;
use Intervention\Image\Facades\Image;
class ContactController extends Controller
{
public function habarlashyk(){
return view('web.habarlashyk')->with([
'title' => 'Turkmen Tv | Habarlashyk',
'keywords' => '',
'meta_description' => '',
]);
}
public function send(Request $request){
$recapresponse = $request['g-recaptcha-response'];
$recaptcha = new ReCaptcha('6LelUOQZAAAAAHBAEnflw1XLOvCgaAeKQb4TilEb');
$resp = $recaptcha->verify($recapresponse, $_SERVER['REMOTE_ADDR']);
if($resp->isSuccess()) {
if($request->file('file')){
$image = $request->file('file');
$path = $request->file('file')->store(
'uploads/mails/'.time().'.'.$image->getClientOriginalExtension()
);
}
$data = array(
'name' => $request->name,
'email' => $request->email,
'subject' => $request->subject,
'message' => $request->message,
'image' => $path ?? ''
);
// Mail::send('email_temp', [
// 'data' => $data
// ], function ($message) use ($request) {
// $message->to('admin@turkmentv.gov.tm');
// $message->subject($request->subject);
// });
Mail::send('email_temp', [
'data' => $data
], function ($message) use ($request) {
$message->to('ilmedovamahri@gmail.com');
$message->subject($request->subject);
});
return back()->with('success', 'Hat ustunlikli ugradyldy!');
}
else {
return back()->with('success', 'Hat iberilmedi! Recaptcha ýalňyşlygy ýüze çykdy');
}
}
public function sendMail(Request $request){
$user = User::find($request->id);
$id = $request->id;
return view('mail.compose',[
'id' => $id,
'user' => $user
]);
}
public function postMail(Request $request){
try{
$data = array(
'name' => 'Turkmen TV',
'email' => 'admin@turkmentv.gov.tm',
'subject' => $request->subject,
'message' => $request->message
);
Mail::send('email_temp', [
'data' => $data
], function ($message) use ($request) {
$message->to($request->email);
$message->subject($request->subject);
});
return redirect('/panel/user');
}catch(\Swift_TransportException $e){
$response = $e->getMessage();
return $response;
}
}
public function email(){
return view('mail.service');
}
public function emailPost(Request $request){
try{
$data = array(
'name' => 'Turkmen TV',
'email' => 'admin@turkmentv.gov.tm',
'subject' => $request->subject,
'message' => $request->message
);
$users = User::whereNotNull('email')->pluck('email')->toArray();
foreach ($users as $user){
Mail::send('email_temp', [
'data' => $data
], function ($message) use ($request, $user) {
$message->to($user);
$message->subject($request->subject);
});
}
return redirect('/panel/user');
}
catch (\Exception $e){
$response = $e->getMessage();
return $response;
}
}
}