<?php

require_once 'UserDAO.php';
$userDao = new UserDAO();
$response = array("error" => FALSE);
if (isset($_POST['username']) && isset($_POST['password'])&& isset($_POST['latitude'])&& isset($_POST['longitude'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $latitude= $_POST['latitude'];
    $longitude= $_POST['longitude'];
    $primaryKey = array();
    $primaryKey[] = $username;
    if ($userDao->retreiveByKey($primaryKey)) {
        if (($createdUser=$userDao->retreiveAuthenticatedUser($username, $password))) {
            $userDao->updateLocation($primaryKey,$latitude,$longitude);
            $response["error"] = FALSE;
            $response["user"]["username"] = $createdUser["username"];
            $response["user"]["photoUrl"] = $createdUser["photoUrl"];
            $response["user"]["seekerBadges"] = $createdUser["seekerBadges"];
            $response["user"]["virtualCash"] = $createdUser["virtualCash"];
            $response["user"]["latitude"] = $createdUser["latitude"];
            $response["user"]["longitude"] = $createdUser["longitude"];
            echo json_encode($response);
        } else {
            $response["error"] = TRUE;
            $response["error_msg"] = "User already exists with " . $username;
            echo json_encode($response);
        }
    } else {
        $user = array();
        $user[] = $username;
        $user[] = $password;
        $user[] = NULL;
        $user[] = 0;
        $user[] = 0.0;
        $user[] = $latitude;
        $user[] = $longitude;
        $createdUser = $userDao->create($user);
        if ($createdUser) {
            $response["error"] = FALSE;
            $response["user"]["username"] = $createdUser["username"];
            $response["user"]["photoUrl"] = $createdUser["photoUrl"];
            $response["user"]["seekerBadges"] = $createdUser["seekerBadges"];
            $response["user"]["virtualCash"] = $createdUser["virtualCash"];
            $response["user"]["latitude"] = $createdUser["latitude"];
            $response["user"]["longitude"] = $createdUser["longitude"];
            echo json_encode($response);
        } else {
            $response["error"] = TRUE;
            $response["error_msg"] = "User creation failed";
            echo json_encode($response);
        }
    }
} else {
    $response["error"] = TRUE;
    $response["error_msg"] = "Username or Password missing";
    echo json_encode($response);
}
?>
