Skip to content

Commit

Permalink
fix error
Browse files Browse the repository at this point in the history
  • Loading branch information
arif98741 committed Jul 6, 2021
1 parent a38d59e commit b357428
Show file tree
Hide file tree
Showing 6 changed files with 273 additions and 50 deletions.
117 changes: 117 additions & 0 deletions src/Provider/Adn.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
<?php
/*
* Last Modified: 6/29/21, 12:06 AM
* Copyright (c) 2021
* -created by Ariful Islam
* -All Rights Preserved By
* -If you have any query then knock me at
* arif98741@gmail.com
* See my profile @ https://github.com/arif98741
*/

namespace Xenon\LaravelBDSms\Provider;

use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Http\JsonResponse;
use Xenon\LaravelBDSms\Handler\RenderException;
use Xenon\LaravelBDSms\Sender;

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

/**
* Send Request To Api and Send Message
*/
public function sendRequest()
{
$number = $this->senderObject->getMobile();
$text = $this->senderObject->getMessage();
$config = $this->senderObject->getConfig();

$client = new Client([
'timeout' => 10.0,
'verify' => false
]);

try {
$response = $client->request('POST', 'https://portal.adnsms.com',
[
'form_params' => [
'api_key' => $config['api_key'],
'type' => $config['type'],
'senderid' => $config['senderid'],
'mobile' => $number,
'message_body' => $text,
],
'headers' => [
'Accept' => 'application/json'
],
'debug' => false
]);
} catch (GuzzleException $e) {
return $e->getMessage();
}

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

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

/**
* @throws RenderException
*/
public function errorException()
{

if (!array_key_exists('api_key', $this->senderObject->getConfig())) {
throw new RenderException('api_key is absent in configuration');
}
if (!array_key_exists('api_secret', $this->senderObject->getConfig())) {
throw new RenderException('api_secret key is absent in configuration');
}
if (!array_key_exists('request_type', $this->senderObject->getConfig())) {
throw new RenderException('request_type key is absent in configuration');
}
if (!array_key_exists('message_type', $this->senderObject->getConfig())) {
throw new RenderException('message_type key is absent in configuration');
}


if (strlen($this->senderObject->getMobile()) > 11 || strlen($this->senderObject->getMobile()) < 11) {
throw new RenderException('Invalid mobile number. It should be 11 digit');
}
if (empty($this->senderObject->getMessage())) {
throw new RenderException('Message should not be empty');
}
}

/**
* @param $result
* @param $data
* @return JsonResponse
*/
public function generateReport($result, $data)
{
return response()->json([
'status' => 'response',
'response' => $result,
'provider' => self::class,
'send_time' => date('Y-m-d H:i:s'),
'mobile' => $data['number'],
'message' => $data['message']
]);
}
}
43 changes: 36 additions & 7 deletions src/Provider/BDBulkSms.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,16 @@
namespace Xenon\LaravelBDSms\Provider;


use Xenon\Handler\XenonException;
use Xenon\Sender;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;
use Xenon\LaravelBDSms\Handler\RenderException;
use Xenon\LaravelBDSms\Handler\XenonException;
use Xenon\LaravelBDSms\Sender;

class BDBulkSms extends AbstractProvider
{
/**
* BulkSmsBD constructor.
* DianaHost constructor.
* @param Sender $sender
*/
public function __construct(Sender $sender)
Expand All @@ -28,22 +31,24 @@ public function __construct(Sender $sender)

/**
* Send Request TO Server
* @throws GuzzleException
*/
public function sendRequest()
{
$config = $this->senderObject->getConfig();
/*$config = $this->senderObject->getConfig();
$token = $config['token'];
$number = $this->formatNumber($this->senderObject->getMobile());
$message = $this->senderObject->getMessage();
$url = "http://api.greenweb.com.bd/api2.php";
//https://api.greenweb.com.bd/api.php?json
$data = [
'number' => $number,
'message' => $message
];
$smsParams = array(
'to' => "$number", //accept comma seperate number
'to' => "$number", //accept comma separate number
'message' => "$message",
'token' => "$token"
); // Add parameters in key value
Expand All @@ -54,7 +59,32 @@ public function sendRequest()
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$smsResult = curl_exec($ch);
curl_close($ch);
return $this->generateReport($smsResult, $data);*/

$number = $this->senderObject->getMobile();
$text = $this->senderObject->getMessage();
$config = $this->senderObject->getConfig();

$client = new Client([
'base_uri' => 'http://api.greenweb.com.bd/api2.php',
'timeout' => 10.0,
]);

$response = $client->request('GET', '', [
'query' => [
'token' => $config['token'],
'to' => $number,
'message' => $text,
]
]);
$body = $response->getBody();
$smsResult = $body->getContents();

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


}

/**
Expand All @@ -69,8 +99,6 @@ private function formatNumber($mobile): string
} else {
return $mobile;
}
//todo:: format mobile number if accepts multiple numbers

}

/**
Expand All @@ -93,6 +121,7 @@ public function generateReport($result, $data): array
/**
* @return mixed
* @throws XenonException
* @throws RenderException
*/
public function errorException()
{
Expand Down
59 changes: 34 additions & 25 deletions src/Provider/BulkSmsBD.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php
/*
* Last Modified: 6/28/21, 11:18 PM
* Last Modified: 6/29/21, 12:06 AM
* Copyright (c) 2021
* -created by Ariful Islam
* -All Rights Preserved By
Expand All @@ -11,14 +11,16 @@

namespace Xenon\LaravelBDSms\Provider;


use Xenon\Handler\XenonException;
use Xenon\Sender;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Http\JsonResponse;
use Xenon\LaravelBDSms\Handler\RenderException;
use Xenon\LaravelBDSms\Sender;

class BulkSmsBD extends AbstractProvider
{
/**
* BulkSmsBD constructor.
* BulksmsBD constructor.
* @param Sender $sender
*/
public function __construct(Sender $sender)
Expand All @@ -28,31 +30,38 @@ public function __construct(Sender $sender)

/**
* Send Request To Api and Send Message
* @throws GuzzleException
*/
public function sendRequest(): array
public function sendRequest()
{
$url = "http://66.45.237.70/api.php";
$number = $this->senderObject->getMobile();
$text = $this->senderObject->getMessage();
$config = $this->senderObject->getConfig();

$data = array(
'username' => $config['username'],
'password' => $config['password'],
'number' => $number,
'message' => $text
);
$ch = curl_init(); // Initialize cURL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$smsResult = curl_exec($ch);
curl_close($ch);
return $this->generateReport($smsResult, $data);
$client = new Client([
'base_uri' => 'http://66.45.237.70/api.php',
'timeout' => 10.0,
]);

$response = $client->request('GET', '', [
'query' => [
'username' => $config['username'],
'password' => $config['password'],
'contacts' => $number,
'msg' => $text,
]
]);
$body = $response->getBody();
$smsResult = $body->getContents();

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

/**
* @throws XenonException
* @throws RenderException
*/
public function errorException()
{
Expand All @@ -76,17 +85,17 @@ public function errorException()
/**
* @param $result
* @param $data
* @return array
* @return JsonResponse
*/
public function generateReport($result, $data): array
public function generateReport($result, $data)
{
return [
return response()->json([
'status' => 'response',
'response' => $result,
'provider' => self::class,
'send_time' => date('Y-m-d H:i:s'),
'mobile' => $data['number'],
'message' => $data['message']
];
]);
}
}
1 change: 1 addition & 0 deletions src/Provider/DianaHost.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ public function __construct(Sender $sender)

/**
* Send Request To Api and Send Message
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function sendRequest()
{
Expand Down
1 change: 1 addition & 0 deletions src/Provider/GreenWeb.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public function sendRequest()
$client = new Client([
'base_uri' => 'https://api.greenweb.com.bd/api.php?json',
'timeout' => 10.0,
'verify'=> false
]);

$response = $client->request('GET', '', [
Expand Down
Loading

0 comments on commit b357428

Please sign in to comment.