* LightSmsTransport.php - quick fix for private constant.

This commit is contained in:
Vasilij Dusko 2021-03-28 16:08:08 +03:00 committed by Vasilij Dusko | CREATION
parent 3cbbc85e43
commit 5e54dfe475

View File

@ -30,12 +30,8 @@ final class LightSmsTransport extends AbstractTransport
private $login; private $login;
private $password; private $password;
private $phone; private $phone;
/**
* @var MessageInterface
*/
private $message;
private $errorCodes = [ private const ERROR_CODES = [
'000' => 'Service unavailable', '000' => 'Service unavailable',
'1' => 'Signature not specified', '1' => 'Signature not specified',
'2' => 'Login not specified', '2' => 'Login not specified',
@ -103,9 +99,7 @@ final class LightSmsTransport extends AbstractTransport
throw new UnsupportedMessageTypeException(__CLASS__, SmsMessage::class, $message); throw new UnsupportedMessageTypeException(__CLASS__, SmsMessage::class, $message);
} }
$this->message = $message; $signature = $this->generateSignature($message);
$signature = $this->generateSignature();
$endpoint = sprintf( $endpoint = sprintf(
'https://%s/external/get/send.php?login=%s&signature=%s&phone=%s&text=%s&sender=%s&timestamp=%s', 'https://%s/external/get/send.php?login=%s&signature=%s&phone=%s&text=%s&sender=%s&timestamp=%s',
@ -123,12 +117,12 @@ final class LightSmsTransport extends AbstractTransport
$content = $response->toArray(false); $content = $response->toArray(false);
if (isset($content['error'])) { if (isset($content['error'])) {
throw new TransportException('Unable to send the SMS: '.$this->errorCodes[$content['error']], $response); throw new TransportException('Unable to send the SMS: '.self::ERROR_CODES[$content['error']], $response);
} }
$phone = preg_replace("/[^\d]/", '', $message->getPhone()); $phone = preg_replace("/[^\d]/", '', $message->getPhone());
if (32 == $content[$phone]['error']) { if (32 == $content[$phone]['error']) {
throw new TransportException('Unable to send the SMS: '.$this->errorCodes[$content['error']], $response); throw new TransportException('Unable to send the SMS: '.self::ERROR_CODES[$content['error']], $response);
} }
if (0 == $content[$phone]['error']) { if (0 == $content[$phone]['error']) {
@ -139,14 +133,14 @@ final class LightSmsTransport extends AbstractTransport
return $sentMessage; return $sentMessage;
} }
private function generateSignature(): string private function generateSignature(SmsMessage $message): string
{ {
$params = [ $params = [
'timestamp' => time(), 'timestamp' => time(),
'login' => $this->login, 'login' => $this->login,
'phone' => str_replace('+', '', $this->message->getPhone()), 'phone' => str_replace('+', '', $message->getPhone()),
'sender' => $this->phone, 'sender' => $this->phone,
'text' => $this->message->getSubject(), 'text' => $message->getSubject(),
]; ];
ksort($params); ksort($params);