HEX
Server: LiteSpeed
System: Linux sv4.hami.host 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: armgroup (1008)
PHP: 8.2.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, mail, socket_create, socket_create_listen, socket_create_pair, link, dl, openlog, syslog, stream_socket_server, curl_multi_init
Upload Files
File: /home/armgroup/libs/app/FarazSms.php
<?php

namespace App;

use Http;
use Illuminate\Support\Facades\Log;

class FarazSms
{
    public function SendSMS(array $recipients, string $message)
    {
        $url = config('farazsms.base_url').'/v1/messages';

        $data = [
            'originator' => config('farazsms.originator'),
            'recipients' => $recipients,
            'message' => $message,
        ];

        $this->logRequest('SendSMS', $url, 'POST', $data);

        try {
            $response = Http::withHeaders([
                'Authorization' => 'AccessKey '.config('farazsms.api_key'),
                'Content-Type' => 'application/json',
            ])->timeout(30)->post($url, $data);

            $this->logResponse('SendSMS', $url, 'POST', $response);

        } catch (\Exception $exception) {
            Log::error("SendSMS \n POST {$url} \n", [$exception->getMessage()]);
        }
    }

    public function SendPattern(string $pattern_code, string $recipient, array $values)
    {
        $url = config('farazsms.base_url').'/v1/messages/patterns/send';

        $data = [
            'pattern_code' => $pattern_code,
            'originator' => config('farazsms.originator'),
            'recipient' => $recipient,
            'values' => $values,
        ];

        $this->logRequest('SendPattern', $url, 'POST', $data);

        try {
            $response = Http::withHeaders([
                'Authorization' => 'AccessKey '.config('farazsms.api_key'),
                'Content-Type' => 'application/json',
            ])->timeout(30)->post($url, $data);

            $this->logResponse('SendPattern', $url, 'POST', $response);

        } catch (\Exception $exception) {
            Log::error("SendPattern \n POST {$url} \n", [$exception->getMessage()]);
        }
    }

    private function logRequest($log_id, $url, $method, $data)
    {
        Log::info("Request-{$log_id} \n {$method} {$url} \n", $data);
    }

    private function logResponse($log_id, $url, $method, $response)
    {
        Log::{$response->ok() ? 'info' : 'error'}("Response-{$log_id} \n {$method} {$url} \n", is_array($response->json()) ? $response->json() : [$response->json()]);
    }
}