Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
arif98741 committed Sep 30, 2024
2 parents c07e017 + f52ac47 commit 5475547
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 1 deletion.
2 changes: 1 addition & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ echo $status = $sender->send();
| OnnoRokomSMS | userName, userPassword, type, maskName, campaignName | - | Done | not tested yet in live | - |
| QuickSms | api_key, senderid, type,scheduledDateTime | - | Done | not tested yet in live | - |
| RedmoITSms | api_token, sender_id | - | Support closed | - |
| RedmoITSms | api_token, sender_id | - | Support closed | - |
| SendMySms | user, closed | - | Done | tested in live |
| SmartLabSMS | user, password, sender | - | Done | - | - |
| Sms4BD | publickey, privatekey, type,sender, delay | - | Done | - | - |
| SmsBangladesh | user, password, from | - | Done | - | - |
Expand Down
5 changes: 5 additions & 0 deletions src/Config/sms.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
use Xenon\LaravelBDSms\Provider\Onnorokom;
use Xenon\LaravelBDSms\Provider\QuickSms;
use Xenon\LaravelBDSms\Provider\RedmoItSms;
use Xenon\LaravelBDSms\Provider\SendMySms;
use Xenon\LaravelBDSms\Provider\SmartLabSms;
use Xenon\LaravelBDSms\Provider\Sms4BD;
use Xenon\LaravelBDSms\Provider\SmsBangladesh;
Expand Down Expand Up @@ -236,6 +237,10 @@
'api_token' => env('SMS_REDMOIT_API_TOKEN', ''),
'type' => env('SMS_REDMOIT_TYPE', 'string'),
],
SendMySms::class => [
'user' => env('SMS_SENDMYSMS_USER', ''),
'key' => env('SMS_SENDMYSMS_PASSWORD', ''),
],
SmartLabSms::class => [
'user' => env('SMS_SMARTLAB_USER', ''),
'password' => env('SMS_SMARTLAB_PASSWORD', ''),
Expand Down
84 changes: 84 additions & 0 deletions src/Provider/SendMySms.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
<?php
/*
* Last Modified: 10/01/24, 03:10 AM
* Copyright (c) 2024
* -created by Ariful Islam
* -All Rights Preserved By
* -If you have any query then knock me at
* [email protected]
* See my profile @ https://github.com/arif98741
*/

namespace Xenon\LaravelBDSms\Provider;

use Xenon\LaravelBDSms\Handler\ParameterException;
use Xenon\LaravelBDSms\Handler\RenderException;
use Xenon\LaravelBDSms\Request;
use Xenon\LaravelBDSms\Sender;

/**
* Sendmysms Class
*/
class SendMySms extends AbstractProvider
{
private string $apiEndpoint = 'https://sendmysms.net/api.php';

/**
* Sendmysms constructor.
* @param Sender $sender
*/
public function __construct(Sender $sender)
{
$this->senderObject = $sender;
}

/**
* Send Request To Api and Send Message
* @throws RenderException
*/
public function sendRequest()
{
$number = $this->senderObject->getMobile();
$text = $this->senderObject->getMessage();
$config = $this->senderObject->getConfig();
$queue = $this->senderObject->getQueue();
$queueName = $this->senderObject->getQueueName();
$tries = $this->senderObject->getTries();
$backoff = $this->senderObject->getBackoff();

$query = [
'user' => $config['user'],
'key' => $config['key'],
'to' => $number,
'msg' => $text,
];

$requestObject = new Request($this->apiEndpoint, $query, $queue, [], $queueName, $tries, $backoff);
$requestObject->setFormParams($query);
$response = $requestObject->post();
if ($queue) {
return true;
}

$body = $response->getBody();
$smsResult = $body->getContents();

$data['number'] = $number;
$data['message'] = $text;
return $this->generateReport($smsResult, $data)->getContent();
}

/**
* @throws ParameterException
*/
public function errorException()
{
if (!array_key_exists('user', $this->senderObject->getConfig())) {
throw new ParameterException('user key is absent in configuration');
}
if (!array_key_exists('key', $this->senderObject->getConfig())) {
throw new ParameterException('key is absent in configuration');
}

}
}

0 comments on commit 5475547

Please sign in to comment.