@@ -101,19 +101,15 @@ protected function doSend(MessageInterface $message): SentMessage
101
101
}
102
102
103
103
$ 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×tamp=%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 );
117
113
118
114
$ response = $ this ->client ->request ('GET ' , $ endpoint );
119
115
@@ -145,14 +141,14 @@ protected function doSend(MessageInterface $message): SentMessage
145
141
return $ sentMessage ;
146
142
}
147
143
148
- private function generateSignature (SmsMessage $ message , string $ timestamp ): string
144
+ private function generateSignature (array $ data , int $ timestamp ): string
149
145
{
150
146
$ params = [
151
147
'timestamp ' => $ timestamp ,
152
148
'login ' => $ this ->login ,
153
- 'phone ' => $ this -> escapePhoneNumber ( $ message -> getPhone ()) ,
149
+ 'phone ' => $ data [ ' phone ' ] ,
154
150
'sender ' => $ this ->from ,
155
- 'text ' => $ this -> escapeSubject ( $ message -> getSubject ()) ,
151
+ 'text ' => $ data [ ' text ' ] ,
156
152
];
157
153
158
154
ksort ($ params );
@@ -161,11 +157,6 @@ private function generateSignature(SmsMessage $message, string $timestamp): stri
161
157
return md5 (implode ('' , $ params ).$ this ->password );
162
158
}
163
159
164
- private function escapeSubject (string $ subject ): string
165
- {
166
- return strip_tags ($ subject );
167
- }
168
-
169
160
private function escapePhoneNumber (string $ phoneNumber ): string
170
161
{
171
162
return str_replace ('+ ' , '00 ' , $ phoneNumber );
0 commit comments