Sindbad~EG File Manager

Current Path : /home/copmadinaarea/creditunion.copeastlegondistrict.org/app/Utilities/
Upload File :
Current File : /home/copmadinaarea/creditunion.copeastlegondistrict.org/app/Utilities/SmsHelper.php

<?php

namespace App\Utilities;

use Textmagic\Services\TextmagicRestClient;
use Twilio\Rest\Client;

class SmsHelper {

	public function send($to, $message) {
		if ($to < 8) {
			return;
		}
		if (get_option('sms_gateway') == 'twilio') {
			$this->twilio($to, $message);
		} else if (get_option('sms_gateway') == 'textmagic') {
			$this->textMagic($to, $message);
		} else if (get_option('sms_gateway') == 'nexmo') {
			$this->nexmo($to, $message);
		} else if (get_option('sms_gateway') == 'infobip') {
			$this->infobip($to, $message);
		}
	}

	public function twilio($to, $message) {
		$account_sid = get_option('twilio_account_sid');
		$auth_token = get_option('twilio_auth_token');
		$twilio_number = get_option('twilio_number');

		$client = new Client($account_sid, $auth_token);
		try {
			$client->messages->create('+' . $to,
				['from' => $twilio_number, 'body' => $message]);
		} catch (\Exception $e) {}
	}

	public function textMagic($to, $message) {
		$text_magic_username = get_option('textmagic_username');
		$textmagic_api_key = get_option('textmagic_api_key');

		$client = new TextmagicRestClient($text_magic_username, $textmagic_api_key);
		try {
			$response = $client->messages->create(
				array(
					'text' => $message,
					'phones' => $to,
				)
			);
		} catch (\Exception $e) {}
	}

	public function nexmo($to, $message) {
		$nexmo_api_key = get_option('nexmo_api_key');
		$nexmo_api_secret = get_option('nexmo_api_secret');
		$fromName = get_option('company_name');

		$setup = new \Vonage\Client\Credentials\Basic($nexmo_api_key, $nexmo_api_secret);
		$client = new \Vonage\Client($setup);
		$response = $client->sms()->send(
			new \Vonage\SMS\Message\SMS($to, $fromName, $message)
		);
		$message = $response->current();
	}

	public function infobip($to, $message) {
		$infobip_api_key = get_option('infobip_api_key');
		$infobip_api_base_url = get_option('infobip_api_base_url');
		$fromName = get_option('company_name');

		$curl = curl_init();

		curl_setopt_array($curl, array(
			CURLOPT_URL => 'https://' . preg_replace("(^https?://)", "", $infobip_api_base_url) . '/sms/2/text/advanced',
			CURLOPT_RETURNTRANSFER => true,
			CURLOPT_ENCODING => '',
			CURLOPT_MAXREDIRS => 10,
			CURLOPT_TIMEOUT => 0,
			CURLOPT_FOLLOWLOCATION => true,
			CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
			CURLOPT_CUSTOMREQUEST => 'POST',
			CURLOPT_POSTFIELDS => '{"messages":[{"destinations":[{"to":"' . $to . '"}],"from":"' . $fromName . '","text":"' . $message . '"}]}',
			CURLOPT_HTTPHEADER => array(
				"Authorization: App $infobip_api_key",
				'Content-Type: application/json',
				'Accept: application/json',
			),
		));

		$response = curl_exec($curl);
		curl_close($curl);
	}

}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists