8000 * LightSmsTransport.php - build signature and use http_build_query, t… · symfony/symfony@1ff97e4 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1ff97e4

Browse files
author
Vasilij Dusko | CREATION
committed
* LightSmsTransport.php - build signature and use http_build_query, timestamp int
1 parent 1c993b7 commit 1ff97e4

File tree

1 file changed

+12
-21
lines changed

1 file changed

+12
-21
lines changed

src/Symfony/Component/Notifier/Bridge/LightSms/LightSmsTransport.php

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -101,19 +101,15 @@ protected function doSend(MessageInterface $message): SentMessage
101101
}
102102

103103
$timestamp = time();
104-
105-
$signature = $this->generateSignature($message, $timestamp);
106-
107-
$endpoint = sprintf(
108-
'https://%s/external/get/send.php?login=%s&signature=%s&phone=%s&text=%s&sender=%s&timestamp=%s',
109-
$this->getEndpoint(),
110-
$this->login,
111-
$signature,
112-
$this->escapePhoneNumber($message->getPhone()),
113-
$this->escapeSubject($message->getSubject()),
114-
$this->from,
115-
$timestamp
116-
);
104+
$data = [
105+
'login' => $this->login,
106+
'phone' => $this->escapePhoneNumber($message->getPhone()),
107+
'text' => $message->getSubject(),
108+
'sender' => $this->from,
109+
'timestamp' => $timestamp
110+
];
111+
$data['signature'] = $this->generateSignature($data, $timestamp);
112+
$endpoint = 'https://'.$this->getEndpoint().'/external/get/send.php?'.http_build_query($data);
117113

118114
$response = $this->client->request('GET', $endpoint);
119115

@@ -145,14 +141,14 @@ protected function doSend(MessageInterface $message): SentMessage
145141
return $sentMessage;
146142
}
147143

148-
private function generateSignature(SmsMessage $message, string $timestamp): string
144+
private function generateSignature(array $data, int $timestamp): string
149145
{
150146
$params = [
151147
'timestamp' => $timestamp,
152148
'login' => $this->login,
153-
'phone' => $this->escapePhoneNumber($message->getPhone()),
149+
'phone' => $data['phone'],
154150
'sender' => $this->from,
155-
'text' => $this->escapeSubject($message->getSubject()),
151+
'text' => $data['text'],
156152
];
157153

158154
ksort($params);
@@ -161,11 +157,6 @@ private function generateSignature(SmsMessage $message, string $timestamp): stri
161157
return md5(implode('', $params).$this->password);
162158
}
163159

164-
private function escapeSubject(string $subject): string
165-
{
166-
return strip_tags($subject);
167-
}
168-
169160
private function escapePhoneNumber(string $phoneNumber): string
170161
{
171162
return str_replace('+', '00', $phoneNumber);

0 commit comments

Comments
 (0)
0