Exemplo n.º 1
0
function Tigo_Enviar($telefono, $mensaje, $firma)
{
    global $MiBD_OK;
    if (!$MiBD_OK) {
        $MDB = new iniParser(dirname(__FILE__) . "/misc/Tigo.datos.db");
    }
    //**************************************************
    // Snoop
    $snoopy = new Snoopy();
    $snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
    //**************************************************
    //**************************************************
    //Configuramos el Proxy.
    $Datos_Proxy = explode(":", cProxy());
    $snoopy->proxy_host = $Datos_Proxy[0];
    $snoopy->proxy_port = $Datos_Proxy[1];
    //echo "Servidor usado: $Datos_Proxy[0]:$Datos_Proxy[1]<br>";
    //**************************************************
    //**************************************************
    $firma = urlencode($firma);
    $mensaje = urlencode($mensaje);
    //**************************************************
    //**************************************************
    //Verificamos si hay alguna sesión disponible para este número
    $no_hay_sesion_vigente = true;
    if ($MiBD_OK) {
        $ultimo_uso_de_sesion = ObtenerValorSQL("xsms_modulos_tigo", "valor", "rama='{$telefono}.ultimo'");
    } else {
        $ultimo_uso_de_sesion = $MDB->getValue($telefono, "ultimo");
    }
    if ($ultimo_uso_de_sesion) {
        //echo "Time: " . (time() -  $ultimo_uso_de_sesion)."<br />";
        if (time() - $ultimo_uso_de_sesion < 120) {
            $no_hay_sesion_vigente = false;
            if ($MiBD_OK) {
                $ultimo_uso_de_sesion = ObtenerValorSQL("xsms_modulos_tigo", "valor", "{$telefono}.sesion");
            } else {
                $session = $MDB->getValue($telefono, "sesion");
            }
            //echo "Sesion reusada: $session <br />" ;
        }
    }
    //**************************************************
    // ---------------------------------------------------------------------------------------
    if ($no_hay_sesion_vigente) {
        // Inicio de sesion en el gateway de mensajes
        $comando = "http://interactivo.mensajito.com/interactivo_sv/client.php?orden=1&nick=" . $firma . "&foo=" . rand(10000, 90000);
        //echo "C1: ".$comando."<br />";
        $snoopy->fetch($comando);
        //echo "R1: ".$snoopy->results."<br />";
        // Copiando el ID de sesion
        $iPos = stripos($snoopy->results, "session=") + 8;
        $session = substr($snoopy->results, $iPos);
        //echo "Sesion obtenida: ".$session."<br />";
        $comando = "http://interactivo.mensajito.com/interactivo_sv/client.php?orden=21&session=" . $session . "&nick=" . $firma . "&dstphone=503" . $telefono . "&pin=undefined&foo=" . rand(10000, 90000);
        // Agregando al telefono destino
        //echo "C2: ".$comando."<BR>";
        $snoopy->fetch($comando);
        //Acepto el telefono?
        //echo "R2: ".$snoopy->results."<br>";
        //echo "Sesion creada<br />";
        if (!eregi('^invitar.*', $snoopy->results, $textoEncontrado)) {
            //echo "ERROR: Tigo | No dio invitacion<br />";
            return false;
        }
        if ($MiBD_OK) {
            EstablecerValorSQL("xsms_modulos_tigo", "{$telefono}.ultimo='" . time() . "'");
            EstablecerValorSQL("xsms_modulos_tigo", "{$telefono}.sesion='" . $session . "'");
        } else {
            $MDB->setValue($telefono, "ultimo", time());
            $MDB->setValue($telefono, "sesion", $session);
            $MDB->save();
        }
    }
    // ---------------------------------------------------------------------------------------
    // Se envia el mensaje
    $comando = "http://interactivo.mensajito.com/interactivo_sv/client.php?orden=3&session={$session}&nick=" . $firma . "&mensaje=" . $mensaje . "&foo=" . rand(999, 7000);
    //echo $comando."<br />";
    $snoopy->fetch($comando);
    //echo "RESULTADO:<br /><pre>".$snoopy->results."</pre><br />";
    $srandom = stripos($snoopy->results, "error=0");
    // ---------------------------------------------------------------------------------------
    //Cerramos la sesion
    //  $comando = "http://interactivo.mensajito.com/interactivo_sv/client.php?orden=6&session=$session&foo=".rand(10000,90000);
    //echo "Comando:".$comando."<br />";
    // $snoopy->fetch($comando);
    // ---------------------------------------------------------------------------------------
    if ($srandom !== FALSE) {
        return true;
    } else {
        return false;
    }
}
Exemplo n.º 2
0
 // Si, ha escrito un mensaje ahora buscar un operador para el numero.
 $modulo = ModuloOperador($telefono);
 if ($modulo) {
     NoAgresor($telefono);
     require_once $home . "/modulos/" . $modulo . ".php";
     $nombreMod = $modulo . "_Nombre";
     $ret = $nombreMod();
     $FEnvio = $modulo . "_Enviar";
     if ($FEnvio($telefono, $mensaje, $firma)) {
         $estado = $mensajeOK;
         //Control de Flood
         if ($MiBD_OK) {
             EstablecerValorSQL("xsms_flood", "'" . $_SERVER['REMOTE_ADDR'] . ".cuenta', '" . ($cuentaIP += 1) . "'");
             EstablecerValorSQL("xsms_flood", "'" . $_SERVER['REMOTE_ADDR'] . ".ultimo', '" . time() . "'");
             EstablecerValorSQL("xsms_flood", "'{$telefono}.cuenta', '" . ($cuentaNum += 1) . "'");
             EstablecerValorSQL("xsms_flood", "'{$telefono}.ultimo', '" . time() . "'");
         } else {
             $I_nMDB->setValue($_SERVER['REMOTE_ADDR'], "cuenta", $cuentaIP += 1);
             $I_nMDB->setValue($_SERVER['REMOTE_ADDR'], "ultimo", time());
             $I_nMDB->setValue($telefono, "cuenta", $cuentaNum += 1);
             $I_nMDB->setValue($telefono, "ultimo", time());
         }
         //Control de Flood
         $mensaje = '';
         //+1 al modulo OK
         if ($MiBD_OK) {
             InsertarValorSQL("xsms_estadisticas", "'" . $modulo . "-OK" . "','1'", "valor=valor+1");
         } else {
             $cuenta = $I_cMDB->getValue("Companias", $modulo . "-OK");
             $I_cMDB->setValue("Companias", $modulo . "-OK", $cuenta += 1);
         }