<?php
include_once "/lib/sn_dns.php";
function ifttt_maker($event, $value1, $value2, $value3)
{
$host_name = "maker.ifttt.com";
$host_addr = dns_lookup($host_name, RR_A);
if($host_addr == $host_name)
$host_addr = dns_lookup($host_name, RR_A);
if($host_addr == $host_name)
exit "$host_name : Not Found\r\n";
$tcp0_pid = pid_open("/mmap/tcp0");
pid_bind($tcp0_pid, "", 0);
error_log("connect to $host_addr:80...");
pid_connect($tcp0_pid, $host_addr, 80);
for(;;)
{
$state = pid_ioctl($tcp0_pid, "get state");
if($state == TCP_CLOSED)
pid_connect($tcp0_pid, $host_addr, 80);
if($state == TCP_CONNECTED)
break;
}
error_log("connected\r\n");
$msg = "";
if($value1 != "" || $value2 != "" || $value3 != "")
{
$msg = "{";
if($value1 != "")
$msg .= "\"value1\" : \"".$value1."\",";
if($value2 != "")
$msg .= "\"value2\" : \"".$value2."\",";
if($value3 != "")
$msg .= "\"value3\" : \"".$value3."\",";
$msg = substr($msg, 0, strlen($msg) - 1);
$msg .= " }";
}
$http_req = "POST /trigger/".$event."/with/key/YOUR_KEY HTTP/1.1\r\n";
$http_req .= "Host: $host_name\r\n";
$http_req .= "Content-Type: application/json\r\n";
if(strlen($msg) > 0)
$http_req .= sprintf("Content-Length: %d", strlen($msg));
$http_req .= "\r\n\r\n";
if(strlen($msg) > 0)
$http_req .= $msg;
error_log($http_req);
$sent = pid_send($tcp0_pid, $http_req);
$rbuf = "";
for(;;)
{
$temp = "";
$read = pid_recv($tcp0_pid, $temp);
if($read > 0)
$rbuf .= $temp;
if(strpos($rbuf, "\r\n\r\n") !== FALSE)
break;
if(pid_ioctl($tcp0_pid, "get state") == TCP_CLOSED || pid_ioctl($tcp0_pid, "get state") == SSL_CLOSED)
break;
}
pid_close($tcp0_pid);
error_log($rbuf);
error_log("\r\nconnection closed\r\n");
}
?>
Comments