Optimización mayor en carga de modulos.
[xmensajitos.php.git] / modulos / Tigo.php
blob90ad6dbeb119abe25730b2c2ef66a94d1b272f1d
1 <?php
2 function Tigo_Nombre() {
3 return "Telemovil:Tigo";
6 function Tigo_Enviar($telefono,$mensaje,$firma) {
7 global $MiBD_OK;
8 if ( !$MiBD_OK ) {
9 $MDB = new iniParser(dirname(__FILE__)."/misc/Tigo.datos.db");
12 //**************************************************
13 // Snoop
14 $snoopy = new Snoopy;
15 $snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
16 //**************************************************
18 //**************************************************
19 //Configuramos el Proxy.
20 $Datos_Proxy = explode(":",cProxy());
21 $snoopy->proxy_host = $Datos_Proxy[0];
22 $snoopy->proxy_port = $Datos_Proxy[1];
23 //echo "Servidor usado: $Datos_Proxy[0]:$Datos_Proxy[1]<br>";
24 //**************************************************
26 //**************************************************
27 $firma = urlencode($firma);
28 $mensaje = urlencode($mensaje);
29 //**************************************************
31 //**************************************************
32 //Verificamos si hay alguna sesión disponible para este número
33 $no_hay_sesion_vigente = true;
34 if ( $MiBD_OK ) {
35 $ultimo_uso_de_sesion = ObtenerValorSQL("xsms_modulos_tigo","valor","rama='$telefono.ultimo'");
36 }else{
37 $ultimo_uso_de_sesion = $MDB->getValue($telefono,"ultimo");
39 if ($ultimo_uso_de_sesion) {
40 //echo "Time: " . (time() - $ultimo_uso_de_sesion)."<br />";
41 if ((time() - $ultimo_uso_de_sesion) < 120) {
42 $no_hay_sesion_vigente = false;
43 if ( $MiBD_OK ) {
44 $ultimo_uso_de_sesion = ObtenerValorSQL("xsms_modulos_tigo","valor","$telefono.sesion");
45 }else{
46 $session = $MDB->getValue($telefono,"sesion");
48 //echo "Sesion reusada: $session <br />" ;
51 //**************************************************
52 // ---------------------------------------------------------------------------------------
53 if ($no_hay_sesion_vigente) {
54 // Inicio de sesion en el gateway de mensajes
55 $comando = "http://interactivo.mensajito.com/interactivo_sv/client.php?orden=1&nick=".$firma."&foo=".rand(10000,90000);
56 //echo "C1: ".$comando."<br />";
57 $snoopy->fetch($comando);
58 //echo "R1: ".$snoopy->results."<br />";
59 // Copiando el ID de sesion
60 $iPos = stripos($snoopy->results,"session=") + 8;
61 $session = substr($snoopy->results, $iPos);
62 //echo "Sesion obtenida: ".$session."<br />";
63 $comando = "http://interactivo.mensajito.com/interactivo_sv/client.php?orden=21&session=".$session."&nick=".$firma."&dstphone=503".$telefono."&pin=undefined&foo=".rand(10000,90000);
64 // Agregando al telefono destino
65 //echo "C2: ".$comando."<BR>";
66 $snoopy->fetch($comando);
67 //Acepto el telefono?
68 //echo "R2: ".$snoopy->results."<br>";
69 //echo "Sesion creada<br />";
70 if (!eregi('^invitar.*', $snoopy->results, $textoEncontrado)) {
71 //echo "ERROR: Tigo | No dio invitacion<br />";
72 return false;
74 if ( $MiBD_OK ) {
75 EstablecerValorSQL("xsms_modulos_tigo","$telefono.ultimo='".time()."'");
76 EstablecerValorSQL("xsms_modulos_tigo","$telefono.sesion='". $session."'");
77 }else{
78 $MDB->setValue($telefono, "ultimo", time());
79 $MDB->setValue($telefono, "sesion", $session);
80 $MDB->save();
83 // ---------------------------------------------------------------------------------------
85 // Se envia el mensaje
86 $comando = "http://interactivo.mensajito.com/interactivo_sv/client.php?orden=3&session=$session&nick=".$firma."&mensaje=".$mensaje."&foo=".rand(999,7000);
87 //echo $comando."<br />";
88 $snoopy->fetch($comando);
89 //echo "RESULTADO:<br /><pre>".$snoopy->results."</pre><br />";
90 $srandom = stripos($snoopy->results,"error=0");
91 // ---------------------------------------------------------------------------------------
92 //Cerramos la sesion
93 // $comando = "http://interactivo.mensajito.com/interactivo_sv/client.php?orden=6&session=$session&foo=".rand(10000,90000);
94 //echo "Comando:".$comando."<br />";
95 // $snoopy->fetch($comando);
96 // ---------------------------------------------------------------------------------------
98 if ($srandom !== FALSE)
99 return true;
100 else
101 return false;