<?php

// COMMONS + DB

require "include/common.php";

// POST DATA CHECKS

$query_json = get_post("query_json", false, "*"); // can be array of state_name(s) to get, e.g. ['a', 'b', 'c']

// SESSION MUST BE ACTIVE

$session_id = check_session_post();

$user_id = get_session_user($session_id);

// GET THE STATE

$result_data = array();

if ($query_json == "*") {
	// GET ALL
	
	$sql = "select state_name, state_json from hynek_state where user_id = " . $user_id;
	
	$result = db_query($sql);
	
	while($row = mysqli_fetch_assoc($result)) { 	
		$result_data[] = array("key" => $row["state_name"], "value" => $row["state_json"]);
	}	
	
	$result_data[] = array("key" => "time", "value" => date("Y-m-d H-i-s"));
	
} else {
	// GET ONLY SOME
	
	$query = json_decode($query_json);
	
	if (count($query) > 0) {
		$sql = "select state_name, state_json from hynek_state where (user_id = " . $user_id . ") and (";
		
		$query_time = $query[0] == "time";
		$sql = $sql . "(state_name = '" . mysqli_real_escape_string($conn, $query[0]) . "')";
		
		for ($i = 1; $i < count($query); $i++) {
		  if ($query[$i] == "time") $query_time = true;
			$sql = $sql . " or (state_name = '" . mysqli_real_escape_string($conn, $query[$i]) . "')";
		}
		
		$sql = $sql . ")";
		
		$result = db_query($sql);
		
		while($row = mysqli_fetch_assoc($result)) { 	
			$result_data[] = array("key" => $row["state_name"], "value" => $row["state_json"]);
		}	
		
		if ($query_time) {
		  $result_data[] = array("key" => "time", "value" => date("Y-m-d H-i-s"));
		}
	}
}

// RESPOND

response_json_ok($result_data); // will exit()