Skip to content

Commit

Permalink
Version 2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mrmuminov committed Jun 25, 2023
1 parent 93a390c commit b9a5700
Show file tree
Hide file tree
Showing 17 changed files with 320 additions and 429 deletions.
63 changes: 40 additions & 23 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,26 +1,43 @@
{
"name": "mrmuminov/yii2-playmobile-uz",
"description": "Yii2 PlaymobileUz SMS-shlyuz ",
"type": "yii2-extension",
"keywords": ["yii2","extension","sms","shlyuz","send","play","mobile","uz","playmobile","playmobileuz","mrmuminov"],
"license": "Apache-2.0",
"authors": [
{
"name": "Bahriddin Mo'minov",
"email": "[email protected]"
}
],
"require": {
"yiisoft/yii2": "~2.0.0",
"yiisoft/yii2-httpclient": "~2.0.0",
"php": "7.*",
"ext-curl": "*",
"ext-json": "*"
},
"minimum-stability": "dev",
"autoload": {
"psr-4": {
"mrmuminov\\yii2playmobileuz\\": "src/"
}
"name": "mrmuminov/yii2-playmobile-uz",
"description": "Yii2 PlaymobileUz SMS-shlyuz ",
"type": "yii2-extension",
"keywords": [
"yii2",
"extension",
"sms",
"shlyuz",
"send",
"play",
"mobile",
"uz",
"playmobile",
"playmobileuz",
"mrmuminov"
],
"license": "Apache-2.0",
"authors": [
{
"name": "Bahriddin Mo'minov",
"email": "[email protected]"
}
],
"minimum-stability": "dev",
"require": {
"php": "^8.2",
"ext-curl": "*",
"ext-json": "*",
"yiisoft/yii2": "^2.0.0",
"guzzlehttp/guzzle": "7.7.x-dev"
},
"autoload": {
"psr-4": {
"mrmuminov\\yii2playmobileuz\\": "src/"
}
},
"config": {
"allow-plugins": {
"yiisoft/yii2-composer": true
}
}
}
16 changes: 16 additions & 0 deletions example/__autocomplete.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

declare(strict_types=1);

use mrmuminov\yii2playmobileuz\Playmobile;
use yii\console\Application;

class Yii
{
public static Application|__Application|\yii\web\Application $app;
}

class __Application
{
public Playmobile $playmobile;
}
73 changes: 73 additions & 0 deletions example/yii2-component.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<?php

declare(strict_types=1);

/** import classes */

use mrmuminov\yii2playmobileuz\Playmobile;
use mrmuminov\yii2playmobileuz\types\Messages;
use mrmuminov\yii2playmobileuz\types\Send;
use mrmuminov\yii2playmobileuz\types\Sms;
use mrmuminov\yii2playmobileuz\types\SmsContent;

/** include autoload files */
require_once __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';

/** define constant */
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

/** init Yii2 Framework application */
(new yii\web\Application([
'id' => 'app-playmobile',
'basePath' => dirname(__DIR__),
'components' => [
'playmobile' => [
'class' => Playmobile::class,
'username' => "",
'password' => "",

]
],
]));


try {

/** Create Send class and set attributes */
$data = new Send();
$data->sms = new Sms();
$data->sms->originator = "3700"; // change, if you need
$data->sms->content = new SmsContent();
$data->sms->content->text = "Test Message";
$message = new Messages();
$message->recipient = '998XXAAABBCC'; // Phone number
$message->messageId = 'unique-id'; // Your application Unique ID
$data->messages = [
$message
];

/** Set attributes with another way */
// $data = new Send([
// "sms" => new Sms([
// "originator" => "3700",
// "content" => new SmsContent([
// "text" => "Test Message",
// ]),
// ]),
// "messages" => [
// new Messages([
// "messageId" => 'unique-id',
// "recipient" => '998XXAAABBCC',
// ]),
// ]
// ]);

$responseContent = Yii::$app->playmobile->send($data);
// Success

} catch (Exception $e) {
var_dump($e->getCode());
var_dump($e->getMessage());
}
4 changes: 2 additions & 2 deletions src/ErrorException.php
Original file line number Diff line number Diff line change
Expand Up @@ -185,15 +185,15 @@ public function __construct($code, $previous = null)
/**
* @param int $code
*/
public function setCode(int $code)
public function setCode(int $code): void
{
$this->code = $code;
}

/**
* @param string $message
*/
public function setMessage(string $message)
public function setMessage(string $message): void
{
$this->message = $message;
}
Expand Down
22 changes: 2 additions & 20 deletions src/ErrorResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,44 +16,26 @@
*/
class ErrorResponse extends Component
{
/**
* @var string
*/
public string $error_code;

/**
* @var string
*/
public string $error_message;

/**
* @return string
*/
public function getErrorCode(): string
{
return $this->error_code;
}

/**
* @param string $error_code
*/
public function setErrorCode(string $error_code)
public function setErrorCode(string $error_code): void
{
$this->error_code = $error_code;
}

/**
* @return string
*/
public function getErrorMessage(): string
{
return $this->error_message;
}

/**
* @param string $error_message
*/
public function setErrorMessage(string $error_message)
public function setErrorMessage(string $error_message): void
{
$this->error_message = $error_message;
}
Expand Down
19 changes: 17 additions & 2 deletions src/Playmobile.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,31 @@

namespace mrmuminov\yii2playmobileuz;

use mrmuminov\yii2playmobileuz\requests\SendRequest;
use mrmuminov\yii2playmobileuz\types\Send;
use yii\base\Component;

/**
* This is just an example.
* Playmobile sms gateway component for Yii2 Framework.
*
* @package mrmuminov\yii2playmobileuz
* @author MrMuminov <
* @author MrMuminov
* @since 2.0.0
*/
class Playmobile extends Component
{
public string $baseUrl = 'http://91.204.239.44/';
public string $username = '';
public string $password = '';

public function send(Send $data): string
{
$broker = new SendRequest([
'baseUrl' => $this->baseUrl,
'username' => $this->username,
'password' => $this->password,
]);
$broker->setContent($data->serialize()->serialized);
return $broker->send();
}
}
Loading

0 comments on commit b9a5700

Please sign in to comment.