<?php
function sendGcmEvent($gcmId_, $events_)
{
	$url = "https://android.googleapis.com/gcm/send";
	
	$header = array(
		"Content-Type: application/x-www-form-urlencoded;charset=UTF-8",
		"Authorization: key=AIzaSyCtFNuvqkLxtwe0hfTp38Xk17Nq8_YHGVw",		//API key
	);
	
	$post_list = array(
		"registration_id"	=>	$gcmId_,
		"collapse_key"		=>	time(),
		"data.message"		=>	time(). "#". (strlen(bin2hex($events_)) / 2). "#". $events_,
	);
	
	$post = http_build_query($post_list, "&");
	
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_FAILONERROR, 1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch, CURLOPT_POST, TRUE);
	curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
	curl_setopt($ch, CURLOPT_TIMEOUT, 5);
	$ret = curl_exec($ch);
	
	//var_dump($ret);
	
	return $ret;
}

//データベース接続
$HOST = "192.168.100.153";
$DB = "ansys";
$USER = "postgres";
$PASS = "am#71ZJ*";

$CONST_ID = "10";
$APP_ID = "17";

$BTN_VIEW = array(
	array("view" => "1.ポンプ車Aへルート１を通って向かって下さい", "val" => "0"),
	array("view" => "2.ポンプ車Aへルート２を通って向かって下さい", "val" => "1"),
	array("view" => "3.ポンプ車Aへルート３を通って向かって下さい", "val" => "2"),
	array("view" => "4.ポンプ車Bへルート１を通って向かって下さい", "val" => "3"),
	array("view" => "5.ポンプ車Bへルート２を通って向かって下さい", "val" => "4"),
	array("view" => "6.ポンプ車Bへルート３を通って向かって下さい", "val" => "5"),
	array("view" => "7.ポンプ車Cへルート１を通って向かって下さい", "val" => "6"),
	array("view" => "8.ポンプ車Cへルート２を通って向かって下さい", "val" => "7"),
	array("view" => "9.ポンプ車Cへルート３を通って向かって下さい", "val" => "8")
);

$terminals = array();

$conn = pg_connect("
	host	=	". $HOST. "
	dbname	=	". $DB. "
	user	=	". $USER. "
	password=	". $PASS. "
");

extract($_POST);
//print_r($_POST);
//print "<br>";

$msg = "";

if (strcmp($btnSendMsg, "") != 0)
{
	if (strcmp($selTerminal, "") != 0)
	{
		$sql = "SELECT gcm_id FROM qgis.gcm_terminals";
		$sql .= " WHERE const_id='". $CONST_ID. "'";
		$sql .= " AND app_id='". $APP_ID. "'";
		$sql .= " AND android_id='". $selTerminal. "'";
		$sql .= ";";
		//print $sql;
		$res = pg_query($conn, $sql);
		$row = pg_fetch_array($res, 0);
		//$msg = $row["gcm_id"];
		
		if ($btnSendMsg == 0)
		{
			// ポンプA,ルート1
			sendGcmEvent($row["gcm_id"], "-1,20,21,-1,-1");
			$msg = "メッセージ1を送信完了しました";
		}
		else if ($btnSendMsg == 1)
		{
			// ポンプA,ルート2
			sendGcmEvent($row["gcm_id"], "-1,20,23,-1,-1");
			$msg = "メッセージ2を送信完了しました";
		}
		else if ($btnSendMsg == 2)
		{
			// ポンプA,ルート3
			sendGcmEvent($row["gcm_id"], "-1,20,25,-1,-1");
			$msg = "メッセージ3を送信完了しました";
		}
		else if ($btnSendMsg == 3)
		{
			// ポンプB,ルート1
			sendGcmEvent($row["gcm_id"], "-1,22,21,-1,-1");
			$msg = "メッセージ4を送信完了しました";
		}
		else if ($btnSendMsg == 4)
		{
			// ポンプB,ルート2
			sendGcmEvent($row["gcm_id"], "-1,22,23,-1,-1");
			$msg = "メッセージ5を送信完了しました";
		}
		else if ($btnSendMsg == 5)
		{
			// ポンプB,ルート3
			sendGcmEvent($row["gcm_id"], "-1,22,25,-1,-1");
			$msg = "メッセージ6を送信完了しました";
		}
		else if ($btnSendMsg == 6)
		{
			// ポンプC,ルート1
			sendGcmEvent($row["gcm_id"], "-1,24,21,-1,-1");
			$msg = "メッセージ7を送信完了しました";
		}
		else if ($btnSendMsg == 7)
		{
			// ポンプC,ルート2
			sendGcmEvent($row["gcm_id"], "-1,24,23,-1,-1");
			$msg = "メッセージ8を送信完了しました";
		}
		else if ($btnSendMsg == 8)
		{
			// ポンプC,ルート3
			sendGcmEvent($row["gcm_id"], "-1,24,25,-1,-1");
			$msg = "メッセージ9を送信完了しました";
		}
	}
	else
	{
		$msg = "端末を選択して下さい";
	}
}

// 時刻で絞り込む場合
$enableSec = 600;
$enableDateTime = date("Y-m-d H:i:s", time() - $enableSec);

$sql = "SELECT * FROM qgis.ts_terminal";
$sql .= " WHERE app_id='". $APP_ID. "'";
$sql .= " AND const_id='". $CONST_ID. "'";
$sql .= " AND android_id!='7d0d4dc45397b57e'";
$sql .= " ORDER BY terminal_name";
$sql .= ";";
$res = pg_query($conn, $sql);
$numTemrinal = pg_num_rows($res);
for($i = 0; $i < $numTemrinal; $i++)
{
	$row = pg_fetch_array($res, $iCount);
	$terminals[$i]["name"] = $row["terminal_name"];
	$terminals[$i]["android_id"] = $row["android_id"];
	
	//print_r($terminals);
	//print "aaa<br>";
}

// 切断
pg_close($conn);

//===============================================
//	CommonUtilities
//	備考		：	
//	更新		：	2012/10/18 KMK-Teraoka
//===============================================
$PENTA_OCEAN = "企業名";
$TAIL_PENTA_OCEAN = "penta-ocean";
$SCRIPT_TITLE = "工事車両運行管理システム<br />本牧";

//===============================================
//	HTML-HEAD-
//	備考		：	
//	更新		：	2012/10/18 KMK-Teraoka
//===============================================
print "<html>";
print "<head>";
print "<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">";
print "<link rel=\"stylesheet\" type=\"text/css\" href=\"/ansys/config/css/style.css\">";
print "<link rel=\"shortcut icon\" href=\"/ansys/config/favicon.ico\">";
print "<title>". $SCRIPT_TITLE. "</title>";
print "</head>";

print "<body>";
print "<form method=\"post\">";

print "端末選択&nbsp;：&nbsp;";
print "<select name=\"selTerminal\">";
$termcnt = count($terminals);
print "<option value=\"\" selected></option>";
for($i = 0; $i < $termcnt; $i++)
	print "<option value=\"". $terminals[$i]["android_id"]. "\">". $terminals[$i]["name"]. "</option>";
print "</select>";
print "<br>";
print "<br>";

print "音声指示&nbsp;：&nbsp;<br>";
for($i = 0; $i < count($BTN_VIEW); $i++)
{
	print "<button type=\"submit\" name=\"btnSendMsg\" value=\"". $BTN_VIEW[$i]["val"]. "\">". $BTN_VIEW[$i]["view"]. "</button>";
	print "<br>";
	print "<br>";
}
/*
print "<button type=\"submit\" name=\"btnSendMsg\" value=\"1\">". $BTN_VIEW[1]. "</button>";
print "<br>";
print "<br>";

print "<button type=\"submit\" name=\"btnSendMsg\" value=\"2\">". $BTN_VIEW[2]. "</button>";
print "<br>";
print "<br>";

print "<button type=\"submit\" name=\"btnSendMsg\" value=\"3\">". $BTN_VIEW[3]. "</button>";
print "<br><br><br>";
*/
if (strcmp($msg, "") == 0)
	$msg = "&nbsp;";
print "<table style=\"width:100%;\"border=\"1\">";
	print "<tr>";
		print "<td><font color=\"#FF0000\">";
		print $msg;
		print "</font></td>";
	print "</tr>";
print "</table>";
print "</form>";

print "</body>";
print "</html>";
?>
