Source for file sms-relay.php

Documentation is available at sms-relay.php

  1. <?php
  2. /**
  3. * File di esempio per il relay tramite PHP
  4. *
  5. * Accetta i seguenti parametri POST/GET:
  6. * - <b>prefisso</b>: prefisso del destinatario nel formato 3xx
  7. * - <b>numero</b>: numero telefonico del destinatario
  8. * - <b>data</b>: testo del messaggio (max 160 char)
  9. *
  10. * Lo script utilizza l'autenticazione basato su IP più password in chiaro e la qualità automatica.
  11. *
  12. * <b>N.B.</b><br>
  13. * Affinché lo script funzioni correttamente, impostare le {@link $from variabili di configurazione}.
  14. *
  15. * @package SMSMarket-ModuleHTTP
  16. * @author Claudio Demarinis - claudio.demarinis@smsmarket.it
  17. * @copyright (C) 2003-2006 Netfaber di Claudio Demarinis & sas
  18. * @filesource
  19. * @version 1.3.1
  20. */
  21.  
  22.  
  23. //******************************************************************
  24. //* INIZIO CONFIGURAZIONE *
  25. //******************************************************************
  26.  
  27.  
  28. /**
  29. * Username di accesso (Login)
  30. * @global string $login
  31. */
  32. $login = 'username';
  33. /**
  34. * Password di accesso
  35. * @global string $password
  36. */
  37. $password = 'password';
  38. /**
  39. * Intestazione mittente (max 11 caratteri alfanumerici)
  40. * @global string $from
  41. */
  42. $from = 'smsmarketSms';
  43. /**
  44. * Dominio sul quale dovranno loggarsi i clienti
  45. * @global string $url
  46. */
  47. $url = 'http://www.miodominio.it';
  48. /**
  49. * Utilizza redirezione anziché stampare la risposta del gateway
  50. * @global boolean $redirect
  51. * @see $sms_ok
  52. * @see $sms_ko
  53. */
  54. $redirect = false;
  55. /**
  56. * URL di destinazione se l'invio è andato a buon fine
  57. * @global string $sms_ok
  58. * @see $redirect
  59. */
  60. $sms_ok = 'http://www.sito.tld/ok.php';
  61. /**
  62. * URL di destinazione se l'invio <b>non</b> è andato a buon fine
  63. * @global string $sms_ko
  64. * @see $redirect
  65. */
  66. $sms_ko = 'http://www.sito.tld/ko.php';
  67.  
  68. //******************************************************************
  69. //* FINE CONFIGURAZIONE *
  70. //******************************************************************
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80. /**
  81. * Inclusione definizione classe smsmarketSms
  82. */
  83. require('lib-smsmarket.inc.php');
  84.  
  85.  
  86. // Preleva variabili GET/POST in maniera compatibile con PHP4 e PHP5
  87. if (!function_exists('version_compare'))
  88. $request = array('HTTP_', '_VARS');
  89. else
  90. $request = array('_', '');
  91.  
  92. $request = $request[0].$HTTP_SERVER_VARS['REQUEST_METHOD'].$request[1];
  93.  
  94. if (!isset($$request))
  95. die('Errore imprevisto');
  96.  
  97. $request =& $$request;
  98.  
  99. $prefisso = isset($request['prefisso']) ? $request['prefisso'] : '';
  100. $numero = isset($request['numero']) ? $request['numero'] : '';
  101. $data = isset($request['data']) ? $request['data'] : '';
  102.  
  103. // Controllo dati in input
  104. if (!preg_match('/^3\d\d+$/', $prefisso))
  105. die('Prefisso non valido');
  106. if (!preg_match('/^\d+$/', $numero))
  107. die('Numero non valido');
  108. if (strlen($data) > 160)
  109. die('Testo troppo lungo');
  110.  
  111. // Creazione numero con prefisso internazionale
  112. $rcpt = '+39'.$prefisso.$numero;
  113.  
  114. // Creazione oggetto e impostazione mittente
  115. $sms = new smsmarketSms($login, $password);
  116. $sms->setFrom($from);
  117.  
  118. //Setta il dominio sul quale dovranno loggarsi i clienti
  119. $sms->setUrl($url);
  120.  
  121. // Utilizza qualità automatica
  122. $sms->setQualityAuto();
  123.  
  124. // Utilizza autenticazione IP e password in chiaro
  125. $sms->setAuthPlain();
  126.  
  127. // Invio SMS
  128. $result = $sms->sendSms($rcpt, $data);
  129.  
  130.  
  131. if ($redirect)
  132. {
  133. // Redirezione
  134. header('Location: '.(substr($result, 0, 2) == 'OK' ? $sms_ok : $sms_ko));
  135. exit;
  136. }
  137.  
  138. ?>
  139. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  140. "http://www.w3.org/TR/html4/loose.dtd">
  141. <html>
  142. <head>
  143. <title>sms-relay.php</title>
  144. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  145. </head>
  146. <b>Risposta ricevuta dal gateway SMS:</b> <?php echo $result; ?>
  147. <body>
  148. </body>
  149. </html>

Documentation generated on Thu, 21 Sep 2006 16:43:39 +0200 by phpDocumentor 1.3.0RC3