uawdijnntqw1x1x1
IP : 216.73.216.93
Hostname : panel.codeskitter.com
Kernel : Linux panel.codeskitter.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
Disable Function : apache_child_terminate, apache_note, apache_setenv, define_syslog_variables, dl, link, opcache_get_status, openlog, pcntl_exec, pcntl_fork, pcntl_setpriority, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid
OS : Linux
PATH:
/
home
/
users
/
unlimited
/
www
/
sigmaerp.codeskitter.site
/
app
/
Notifications
/
SmsNotification.php
/
/
<?php namespace App\Notifications; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Notification; use App\Models\AppSettings; use App\Models\Twilio; use App\Models\Vonage; use App\Enums\App; use Twilio\Rest\Client; use Illuminate\Support\Facades\Log; class SmsNotification extends Notification { use Queueable; protected $mobile_numbers; protected $message; protected $appSettingsRecordId; /** * Create a new notification instance. */ public function __construct(array $validatedData) { $this->appSettingsRecordId = App::APP_SETTINGS_RECORD_ID->value; $this->mobile_numbers = $validatedData['mobile_numbers']; $this->message = $validatedData['message']; } /** * Get the notification's delivery channels. * * @return array<int, string> */ public function via(object $notifiable): array { return []; } /** * Vonage * * SMS Gateway * * Application link https://dashboard.nexmo.com/ * * */ public function toVonage() { try{ $smsCredentials = Vonage::find($this->appSettingsRecordId); $api_key = $smsCredentials->api_key; $api_secret = $smsCredentials->api_secret; $basic = new \Vonage\Client\Credentials\Basic($api_key, $api_secret); $client = new \Vonage\Client($basic); $messages = []; $successCount = 0; $errorCount = 0; $mobile_numbers = explode(',', $this->mobile_numbers); foreach ($mobile_numbers as $mobileNumber){ $response = $client->sms()->send( new \Vonage\SMS\Message\SMS($mobileNumber, 'BRAND_NAME', $this->message) ); $message = $response->current(); if($message->getStatus() === 0){ $successCount++; }else{ $errorCount++; } } if ($errorCount === 0) { return [ 'status' => true, 'message' => __('message.message_sent_successfully'), ]; } else { return [ 'status' => false, 'message' => __('message.failed_to_send_message').'<br>* Successfully sent : '.$successCount.'<br>* Failed Messages : '.$errorCount, ]; } } catch (\Exception $e) { Log::channel('custom')->critical($e->getMessage()); return [ 'status' => false, 'message' => $e->getMessage(), ]; } } /** * Twilio * Get the sms representation of the notification. */ public function toTwilio() { try{ $smsCredentials = Twilio::find($this->appSettingsRecordId); $sid = $smsCredentials->sid; $token = $smsCredentials->auth_token; $twilio = new Client($sid, $token); $messages = []; $mobile_numbers = explode(',', $this->mobile_numbers); foreach ($mobile_numbers as $mobileNumber){ $message = $twilio->messages ->create($mobileNumber, // to array( "from" => $smsCredentials->twilio_number, "body" => $this->message, ) ); $messages[] = $message; } $successCount = 0; $errorCount = 0; foreach ($messages as $message) { if (in_array($message->status, ['sent', 'queued'])) { $successCount++; } else { $errorCount++; } } if ($errorCount === 0) { return [ 'status' => true, 'message' => __('message.message_sent_successfully'), ]; } else { return [ 'status' => false, 'message' => __('message.failed_to_send_message').'<br>* Successfully sent : '.$successCount.'<br>* Failed Messages : '.$errorCount, ]; } } catch (\Exception $e) { Log::channel('custom')->critical($e->getMessage()); return [ 'status' => false, 'message' => $e->getMessage(), ]; } } /** * Get the array representation of the notification. * * @return array<string, mixed> */ public function toArray(object $notifiable): array { return [ // ]; } }
/home/users/unlimited/www/sigmaerp.codeskitter.site/app/Notifications/SmsNotification.php