<?php

session_start();
error_reporting(E_ALL | E_STRICT);
ini_set("display_errors", 1);
require_once "Settings.php";
require_once "AuthHelper.php";
require_once "Token.php";
//check for token in session first time in
if (!isset($_SESSION[Settings::$tokenCache])) {
    //redirect to login page
    header("Location:Login.php");
} else {
    //use the refresh token to get a new access token
    $token = AuthHelper::getAccessTokenFromRefreshToken($_SESSION[Settings::$tokenCache]);
    $path = Settings::$unifiedAPIEndpoint . "me";
    if (isset($_GET["id"]) && isset($_SESSION[Settings::$apiRoot])) {
        //get the apiRoot from session
        $apiRoot = $_SESSION[Settings::$apiRoot];
        $path = $apiRoot . "/users/" . $_GET["id"];
    }
    //perform a REST query for the user
    $request = curl_init($path);
    curl_setopt($request, CURLOPT_HTTPHEADER, array("Authorization: Bearer " . $token->accessToken, "Accept: application/json"));
    curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($request);
    $user = json_decode($response, true);
    //perform a REST query for the users manager
    $request = curl_init($path . "/manager");
    curl_setopt($request, CURLOPT_HTTPHEADER, array("Authorization: Bearer " . $token->accessToken, "Accept: application/json"));
    curl_setopt($request, CURLOPT_RETURNTRANSFER, true);