Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
WIKIPEDIA
/
imaliapi
/
app
/
Http
/
Controllers
:
PushNotificationController.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace App\Http\Controllers; use App\Classes\SendSMSSislog; use App\Classes\SmsManager; use App\Imali\ImaliAccount; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; class PushNotificationController extends Controller { protected SmsManager $smsManager; public function __construct() { $this->smsManager = new SmsManager(); } public function sendMessage(Request $request) { if ($request->messageFormat === 'SMS') { if($request->forWhichAccountType === "CHOOSE"){ $numbers = []; foreach ($request->accounts as $account) { $user = ImaliAccount::query() ->join('users', 'users.id', '=', 'imali_accounts.user_id') ->where('account_number', $account) ->first(); array_push($numbers,$user->country_code . $user->phone); } $response = Http::post('http://localhost:3004/api/send/sms',['phoneNumbers'=>$numbers,'message'=>$request->message]); return response()->json('SMS enviada com sucesso.',200); }else{ return response()->json(['SMS ainda não suporta enviar para todos.'],400); } //fim choose } if ($request->messageFormat === 'PUSH') { if($request->forWhichAccountType === "CHOOSE"){ $tokens=[]; foreach ($request->accounts as $account) { $user = ImaliAccount::query() ->join('users', 'users.id', '=', 'imali_accounts.user_id') ->where('account_number', $account) ->first(); array_push($tokens,$user->firebase_token); } $response = Http::post('http://localhost:3004/api/send/push',['to'=>$tokens,'subject'=>$request->title,'message'=>$request->message]); return response()->json('Push enviada com sucesso.',200); }else{ $users = ImaliAccount::query() ->join('users', 'users.id', '=', 'imali_accounts.user_id') ->select("users.firebase_token") ->get(); $newTokens=[]; foreach ($users as $u) { if($u->firebase_token) array_push($newTokens,$u->firebase_token); } $response = Http::post('http://localhost:3004/api/send/push',['to'=>$newTokens,'subject'=>$request->title,'message'=>$request->message]); return response()->json('Push enviada com sucesso.',200); } //fim choose } if ($request->messageFormat === 'EMAIL') { if($request->forWhichAccountType === "CHOOSE"){ $emails=[]; foreach ($request->accounts as $account) { $user = ImaliAccount::query() ->join('users', 'users.id', '=', 'imali_accounts.user_id') ->where('account_number', $account) ->first(); array_push($emails,$user->email); } $response = Http::post('http://localhost:3004/api/send/email',['messageType'=>'html','from'=>'imali-noreplay@paytek-africa.com','to'=>$emails,'subject'=>$request->title,'html'=>base64_encode($request->message)]); return response()->json('Email enviado com sucesso.',200); }else{ $users = ImaliAccount::query() ->join('users', 'users.id', '=', 'imali_accounts.user_id') ->select("users.email") ->get(); $newU=[]; foreach ($users as $u) { array_push($newU,$u->email); } $response = Http::post('http://localhost:3004/api/send/email',['messageType'=>'html','from'=>'imali-noreplay@paytek-africa.com','to'=>$newU,'subject'=>$request->title,'html'=>base64_encode($request->message)]); return response()->json('Email enviado com sucesso.',200); } //fim choose } } }