<?php
/*     Esempio di script in PHP per l'invio di SMS
    
    Ver. 1.0 del 21 Settembre 2005
    Autore: Linkas Srl
    Gateway: www.SubitoSMS.it

    Premessa
    Questa pagina viene copiata sul suo server e permetterà ai visitatori del suo sito di inviare SMS

    Cosa fà
    Invia un SMS con mittente personalizzato ed eventualmente uno sponsor alla fine del messaggio
    
    Change Log
    29 Gennaio 2008:     Espressione riconoscimento "id:" modificata da "substr" a "strpos"
                Aggiunta variabile per attivare la modalita di test
*/

// Configuri queste variabili qui sotto

// Qual è la username con la quale è registrato sul sito www.SubitoSMS.it ?
$username="topolino";

// E la password ?
$password="minnie";

// Quale mittente vorrebbe che apparisse a chi riceve l'SMS ?
// Può scegliere tra un numero o 11 lettere (no caratteri strani)
$mittente="Pippo SRL"; // Oppure $mittente="+3493351234567";

// Desidera scrivere qualcosa alla fine del messaggio come sponsor ?
$sponsor="- by Pippo Srl";

// Che pagina devo mostrare se l'SMS parte bene ?
$pagina_ok="http://www.miosito.com/invio_sms_ok.html";

// E se succede un errore, che pagina devo mostrare ?
$pagina_ko="http://www.miosito.com/invio_sms_ko.html";

// A quanti SMS vuoi essere avvisato ?
$credito_terminato=10;

// A che indirizzo vuoi essere avvisato ?
$email="errori@topolinia.it";

// Ogni SMS invia al massimo 160 caratteri. Può aumentare il numero di caratteri a disposizione ma spenderà di più
// Quanti caratteri vuole inviare per ogni SMS ?
$lunghezza=160;

// Attiva modalita di test
$test=1;

/////////////////////////////////////////////////////////////////////////////////////////////////
// Non ha più nulla da configurare di questa pagina, ma legga le note fino in fondo /////////////
/////////////////////////////////////////////////////////////////////////////////////////////////

// prepara il comando per verificare il credito residuo
$server_credito_residuo="http://www.subitosms.it/gateway.php?username=".urlencode($username)."&password=".urlencode($password);

// Chiama il gateway SMS e verifica gli SMS residui
$credito=trim(file_get_contents($server_credito_residuo));

// Se  il credito è finito, avvisa via email e poi manda il visitatore nella pagina di KO
if ($credito=='non autorizzato') {
    
mail($email,
    
'Script di invio SMS',
    
"Lo script per l'invio degli SMS non funziona, forse hai sbagliato la password.",
    
"From: sms@".$_SERVER['SERVER_NAME']);
        echo
"<meta http-equiv=\"Refresh\" content=\"0;URL=$pagina_ko\" />";
}

$credito=str_replace("credito:","",$credito);

// Verifica il credito e avvisa in caso di credito in fase finale
if ($credito<=$credito_terminato) {
    
mail($email,
        
'Script di invio SMS - credito residuo',
        
"Lo script per l'invio ha un residuo di $credito SMS.",
        
"From: sms@".$_SERVER['SERVER_NAME']);

}

// Controlla che testo e destinatario siano stati impostati
if (!isset($_REQUEST['testo']) OR !isset($_REQUEST['destinatario'])) exit("Manca il testo o il destinatario dell'SMS da inviare.");

// Aggiunge il testo sponsor alla fine del messaggio, tagliandolo.
$testo=substr($_REQUEST['testo'],0,$lunghezza-strlen($sponsor)).$sponsor; // Togli gli ultimi N caratteri per mettere lo sponsor

// Prepara il comando per il gateway SMS
$server_invio=$server_credito_residuo.=    "&testo=".urlencode($testo).
                    
"&mitt=".urlencode($mittente).
                    
"&dest=".urlencode($_REQUEST['destinatario']).
                    
"&test=".$test;
                    ;

// Chiama il gateway SMS e leggi cosa ha risposto
$invio=trim(file_get_contents($server_invio));

// Se l'invio restituisce un ID, la connessione ha avuto successo
if (strpos("id:",$invio)==0) {
    
// Manda l'utente alla pagina OK
    
echo "<meta http-equiv=\"Refresh\" content=\"0;URL=$pagina_ok\" />";
} else {
    
// Manda l'utente alla pagina KO
    
echo "<meta http-equiv=\"Refresh\" content=\"0;URL=$pagina_ko\" />";
}

/* Note aggiuntive
    1)
    Per far andare questo script, creare un modulo di invio in una pagina del sito, tipo:
    <form action="questo_script.php" METHOD="POST" >
    Destinatario: <input type="text" name="destinatario" /> <br />
    Testo da inviare: <textarea name="testo"></textarea>
    <input type="submit" value="Invia SMS" />
    </form>

    2)
    Questo script non verifica che l'SMS sia arrivato e non verifica che il destinatario sia un numero di telefono vero

    3)
    Questo script è solo un esempio dimostrativo da non usare in produzione prima che il vostro tecnico di fiducia abbia apportato le dovute modifiche
*/

Questo è un errore fatto di proposito - cancelli questa riga per usare lo script
?>