Sms_lib.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. namespace KarmaFW\Lib\Sms;
  3. class Sms_lib
  4. {
  5. public static function sendSmsFreeMobile($message)
  6. {
  7. if (! defined('FREEMOBILE_API_KEY') || empty(FREEMOBILE_API_KEY)) {
  8. return false;
  9. }
  10. if (! defined('FREEMOBILE_API_SECRET') || empty(FREEMOBILE_API_SECRET)) {
  11. return false;
  12. }
  13. $API_KEY = FREEMOBILE_API_KEY;
  14. $API_SECRET = FREEMOBILE_API_SECRET;
  15. $url = "https://smsapi.free-mobile.fr/sendmsg?user=" . $API_KEY . "&pass=" . $API_SECRET . "&msg=" . urlencode($message);
  16. $result = @file_get_contents($url);
  17. if ($result === false) {
  18. return false;
  19. }
  20. if ($result === '') {
  21. return true;
  22. }
  23. return false;
  24. }
  25. public static function sendSmsSmsEnvoi($numero, $message, $sender=null)
  26. {
  27. // https://www.smsenvoi.com/api-sms/
  28. // https://www.smsenvoi.com/api-sms/librairie-php/tutoriel-comment-envoyer-des-sms-en-php/ (7 à 10 centime par sms selon forfait)
  29. // https://www.smsenvoi.com/site/webroot/API/API_SMSENVOI_HTTP_V2.pdf
  30. if (! defined('SMSENVOI_API_KEY') || empty(SMSENVOI_API_KEY)) {
  31. return false;
  32. }
  33. if (! defined('SMSENVOI_SECRET_KEY') || empty(SMSENVOI_SECRET_KEY)) {
  34. return false;
  35. }
  36. $url = "https://www.smsenvoi.com/httpapi/sendsms/";
  37. $params = array(
  38. "email" => SMSENVOI_API_KEY,
  39. 'apikey' => SMSENVOI_SECRET_KEY,
  40. "message[type]" => 'sms',
  41. "message[subtype]" => 'STANDARD',
  42. //"message[senderlabel]" => 'PHP App',
  43. "message[content]" => $message,
  44. "message[recipients]" => $numero,
  45. );
  46. if (! empty($sender)) {
  47. $params['message[senderlabel]'] = $sender;
  48. }
  49. $postdata = http_build_query($params);
  50. $opts = array(
  51. 'http' => array(
  52. 'method' => 'POST',
  53. 'header' => "Content-type: application/x-www-form-urlencoded",
  54. 'content' => $postdata
  55. )
  56. , 'ssl' => array(
  57. "verify_peer" => false,
  58. "verify_peer_name" => false,
  59. )
  60. );
  61. $context = stream_context_create($opts);
  62. //echo $url; exit;
  63. $result_json = file_get_contents($url, false, $context);
  64. $result = json_decode($result_json);
  65. return ! empty($result->success);
  66. }
  67. }
  68. //Sms_lib::sendSmsFreeMobile('test ' . date('Y-m-d H:i:s'));
  69. if (realpath($argv[0]) == realpath(__FILE__) && ! empty($argv[1]) ) {
  70. Sms_lib::sendSmsFreeMobile($argv[1]);
  71. echo "SMS sent !" . PHP_EOL;
  72. }
  73. // php Sms_lib.php "mon message envoyé par l'api Free"