Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 20th, 2010 | Syntax: PHP | Size: 4.10 KB | Hits: 149 | Expires: Never
Copy text to clipboard
  1. <?php
  2. /**
  3.  * Classe para enviar sms pela API da Ericsson Labs.
  4.  * @package ericsson_sms
  5.  * @Adicionado Ciumator Namorator (inciume os namorados de suas miguxas) por Victor Sued
  6.  * @author Marcelo Octane [F/X] http://www.orkut.com.br/Main#Profile?uid=695686904613663829
  7.  * @version 1.1
  8.  * @license http://www.octanefx.com/
  9.  * cadastro da api https://labs.ericsson.com/apis/sms-send-and-receive/
  10.  */
  11. require("class.XMLHttpRequest.php");
  12. class ericsson_sms {
  13.     public $status_code;
  14.     private $_api_key;
  15.     private $_url = 'http://sms.labs.ericsson.net/';
  16.  
  17.     /**
  18.      * Seta a variavel $api_key.
  19.      *
  20.      * @parametroetro string $api_key (sua key).
  21.      * @return null.
  22.      */
  23.     function __construct($api_key) {
  24.         $this->_api_key = $api_key;
  25.     }
  26.  
  27.     /**
  28.      * Envia mensagem de texto.
  29.      *
  30.      * @parametro string $receiver quem vai receber o sms +55000000000.
  31.      * @parametro string $message Mensagem a ser enviada, limite de 160 caracteres.
  32.      * @parametro string $type Opcional, [ regular ou flash ].
  33.      * @return bool.
  34.      */
  35.     function send($receiver, $message, $type = 'regular') {
  36.                 if(empty($message)) return FALSE; // esqueceu da mensagem emo?
  37.         // limpa a mensagem retirando tags, espaços em branco em excesso, quebras de linha e outras impurezas.
  38.                 $message = (strip_tags($message));
  39.                 $message = str_replace("<br>","",$message); $message = str_replace("<br>","",$message);
  40.  
  41.                 // verifica se a mensagem tem mais de 160 caracteres.
  42.         if (strlen($message) > 160) {
  43.                         // retira o excesso de texto
  44.                         $message = substr( $message,0,160 );
  45.                         # remove alguma palavra incompleta do final
  46.                         $message = substr( $message,0,-(strlen(strrchr($message,' '))) );
  47.         }
  48.                
  49.                 // seta a url da API
  50.         $url = $this->_url . 'send';
  51.                 //monta o post_data
  52.         $post_data = http_build_query(
  53.             array(
  54.                 'key' => $this->_api_key,
  55.                 'to' => $receiver,
  56.                 'message' => $message,
  57.                 'type' => $type
  58.             )
  59.         );
  60.                 $xml = new XMLHttpRequest(); // cria o objeto
  61.                 $xml->open("POST",$url,true); // prepara o objeto
  62.                 $xml->send($post_data); // faz a requisição
  63.                 $this->status_code = $xml->status; // seta o http status code
  64.                 return ($xml->status==200) ? TRUE : FALSE; // se a requisição foi bem sucedida, retorna true, ou ...
  65.         }
  66.        
  67.     /**
  68.      * Destroi todas as variaveis para liberar memoria.
  69.      * @return null.
  70.      */
  71.     function __destruct() {
  72.         $this->status_code = NULL;
  73.         $this->_api_key = NULL;
  74.         $this->_url = NULL;
  75.     }
  76. }
  77.  
  78. //Frases rondomicas
  79. $frase = Array(
  80.  
  81. 0 => 'Vivo no mundo da lua, la eh mais facil pensar em voce.',
  82. 1 => 'Pelas ruas que passei, e pessoas que encontrei,vc foi uma delas que jamais esquecerei',
  83. 2 => 'Uma linda viagem eh ir do nariz ao queixo bem devagarinho e parar no meio do caminho',
  84. 3 => 'Preciso esquecer que te adoro... para lembrar que te amo',
  85. 4 => 'Muitos sao os que amam, pouquissimos sao os que sabem amar.',
  86. 5 => 'O amor verdadeiro so cria, nunca destroi',
  87. 6 => 'Hoje eu sou louco de vez, um pouco porque eu ja era, um pouco porque vc me fez',
  88. 7 => 'Como posso dizer que o amor e cego se tem amei por um olhar.',
  89. 8 => 'Como e bom estar apaixonado, estar assim tao extasiado... De amor... por vc!',
  90. 9 => 'Espero que nunca se esqueca de se lembrar de mim, pois eu nunca me esquecerei de me lembrar de vc!',
  91. 10 => 'Das riquezas que encontrei no mundo so quero uma pedra preciosa: vc.',
  92. );
  93. $ericsson_sms = new ericsson_sms('AQUI SUA API KEY');
  94. rand(0,count($frase)-1);
  95.  
  96. if ($ericsson_sms->send('+55DD00000000', "$frase[$x]")) {
  97.     echo "Success!";
  98. } else {
  99.     switch ($ericsson_sms->status_code) {
  100.         case 503:
  101.             echo "SERVIÇO INDISPONIVEL: Serviço temporariamente indisponível; tente novamente mais tarde.";
  102.             break;
  103.         case 403:
  104.             echo "FORBIDDEN: Você excedeu o numero diário de requisições.";
  105.             break;
  106.         case 400:
  107.             echo "BAD REQUEST: Um ou mais parâmetros estão faltando ou mal formatados.";
  108.             break;
  109.     }
  110. }
  111. ?>