Normalisation du code et sécurisation (un warning ) si $options['type_sms'] n'est pas défini.

pull/2/head
thrax 9 months ago
parent e87f0151de
commit 92d813840c

@ -5,22 +5,20 @@
class SendSMSclass
{
//input parameters ---------------------
var $username; //your username
var $password; //your password
var $option = array(); // sender...
var $message; //message text
var $inputgsmnumbers = array(); //destination gsm numbers
//--------------------------------------
var $host;
var $token;
var $optional_headers;
var $fomatedGSM = array();
var $formatedMessage = array();
var $request_data;
var $response;
//input parameters ----------------
var $username; //your username
var $password; //your password
var $option = []; // sender...
var $message; //message text
var $inputgsmnumbers = []; //destination gsm numbers
// variables ne servant que dans la classe, on met leurs propriétés en privé.
private string $host;
private string $token;
private array $optional_headers;
private array $fomatedGSM = [];
private array $formatedMessage = [];
private string $request_data;
private string $response;
function SendSMS($username, $password, $options, $message, $inputgsmnumbers)
{
@ -29,13 +27,13 @@ class SendSMSclass
$this->password = $password;
$this->sender = $options['sender'];
$this->token = $options['token'] ? TRUE : FALSE;
if ($options['type_sms'] == 'simulate'){
if ($options['type_sms'] === 'simulate'){
$dir = '/send/simulate'; // l'API accueillera la demande mais le SMS ne sera pas envoyé
} else {
$dir = '/send';
}
// definir un header pour accueillir le json et, si besoin, donner le token
$headers = array('Content-Type: application/json', 'Accept: application/json');
$headers = ['Content-Type: application/json', 'Accept: application/json'];
if ($options['token']){
$headers = array_merge($headers,["Authorization: Bearer " . $options['token']]);
}
@ -53,15 +51,15 @@ class SendSMSclass
return $this->response;
}
function formatGSM()
private function formatGSM(): void
{
foreach ($this->inputgsmnumbers as $cle => $n) {
$fomatedGSM[] = array('value' => $n);
$fomatedGSM[] = ['value' => $n];
}
$this->fomatedGSM = $fomatedGSM;
}
function formatMessage()
private function formatMessage(): void
{
$formated = [
'sms' => [
@ -83,7 +81,7 @@ class SendSMSclass
$this->request_data = json_encode($this->formatedMessage);
}
function do_post_request($url, $postdata, $optional_headers = null)
private function do_post_request($url, $postdata, $optional_headers = null)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
@ -114,9 +112,9 @@ class SendSMSclass
private function texte_avec_liens_courts() {
// Masque
$regex = '@([http|ftp|https]+://[a-z0-9?=:&\./+,%#_-]+)@i';
$links = array();
$links = [];
$text = $this->message;
preg_match_all($regex,$text,$trouvaille,PREG_SET_ORDER);
preg_match_all($regex, $text, $trouvaille,PREG_SET_ORDER);
if ($trouvaille){
foreach ($trouvaille as $key => $value) {
$links[] = $value[0];

@ -27,7 +27,7 @@
include_spip('inc/config');
function inc_envoyer_sms_dist($message,$destinataire,$options=array()) {
function inc_envoyer_sms_dist($message,$destinataire,$options=[]) {
if (lire_config('sms/prestataire') == "smsfactor") {
return smsfactor($message,$destinataire,$options);
} elseif (lire_config('sms/prestataire') == "octopush") {
@ -47,11 +47,12 @@ function inc_envoyer_sms_dist($message,$destinataire,$options=array()) {
* utilise pour : $options['sender']
* @return boolean
**/
function smsfactor($message,$destinataire,$options = array()) {
function smsfactor($message,$destinataire,$options = []) {
$username = lire_config('sms/login_smsfactor');
$password = lire_config('sms/mdp_smsfactor');
$options['sender'] = $options['sender'] ?? lire_config('sms/expediteur_smsfactor');
$options['token'] = $options['token'] ?? lire_config('sms/token_smsfactor');
$options['type_sms'] = $options['type_sms'] ?? '';
include_spip('inc/filtres');
$message = textebrut($message);
@ -83,20 +84,20 @@ function smsfactor($message,$destinataire,$options = array()) {
}
foreach ($destinataire as $tel) {
$set = array(
$set = [
'telephone' => md5($tel),
'date' => date("Y-m-d H:i:s"),
'message' => $message,
'nbr_sms' => $nbr_sms,
'type_sms' => $type_sms
);
];
sql_insertq('spip_sms_logs',$set);
}
}
spip_log('Le message ' . $message . ' pour ' . implode(',', $destinataire) . ' à pour retour : ' . print_r($reponse,true), 'sms_error.' . _LOG_DEBUG);
return true;
} else {
spip_log('Le message ' . $message . ' pour ' . implode(',', $destinataire) . ' à pour retour : ' . print_r($reponse,true), 'sms_error.' . _LOG_INFO_IMPORTANTE);
spip_log('Le message ' . $message . ' pour ' . implode(',', $destinataire) . ' à pour retour : ' . print_r($reponse,true), 'sms_error.' . _LOG_DEBUG);
return false;
}
@ -151,13 +152,13 @@ function octopush($sms_text,$sms_recipients,$arg) {
$xml = simplexml_load_string($xml);
// Enregistrement pour suivi
foreach ($sms_recipients as $tel) {
$set = array(
$set = [
'telephone' => md5($tel),
'date' => date("Y-m-d H:i:s"),
'message' => $xml->error_code,
'nbr_sms' => '',
'type_sms' => $sms_type
);
];
sql_insertq('spip_sms_logs',$set);
}
return $xml;

Loading…
Cancel
Save