<?php
	require $_SERVER["DOCUMENT_ROOT"].'/inc/conexao.php';
    require $_SERVER["DOCUMENT_ROOT"].'/inc/functions.php';

	// Recebe parâmetros GET
	$datetime = date('Y-m-d H:i:s');
	$urlbase = $_SERVER['SERVER_NAME'].$_SERVER ['REQUEST_URI'];
	$parts = parse_url($urlbase);
	parse_str($parts['query'], $query);
	$_GET = $query;
	if(isset($_SESSION["usuario"]["api_token"])){ $_GET["token"] = $_SESSION["usuario"]["api_token"]; }
	if(isset($_SESSION["usuario"]["id"])){ $userid = $_SESSION["usuario"]["id"]; }
	$token = $_GET["token"];
	$user = $_GET["user"];
	$userid = 0;

	// Verifica type e permissões
	if(!isset($_GET["token"])){ $ret['error'] = 'Token inexistente ou invalido.'; $ret['status'] = 'error'; $ret['status_code'] = 'notfoundtoken'; finishJSONRequest($ret); }
	if($token == ''){ $ret['error'] = 'Efetue login em sua conta primeiramente.'; $ret['status'] = 'error'; $ret['status_code'] = 'notfoundtoken'; finishJSONRequest($ret); }

	// Pesquisa usuário
	$sql = $mysqli->query("SELECT usuario_id, usuario_permissoes, usuario_nome, usuario_tipo, usuario_status FROM usuarios WHERE usuario_api_token = '$token' OR usuario_id = '$user'");
	if(mysqli_num_rows($sql) == 0 || !isset($_GET["token"]) || $_GET["token"] == ''){ $ret['error'] = 'TOKEN invalido.'; $ret['status'] = 'error'; $ret['status_code'] = 'notfoundtype'; finishJSONRequest($ret); }

	// Pega dados do usuario
	$users = array();
	$perms = array();
	while($u = $sql->fetch_assoc()){
		$users[$u["usuario_id"]]['id'] = $u["usuario_id"];
		$users[$u["usuario_id"]]['nome'] = $u["usuario_nome"];
		$users[$u["usuario_id"]]['tipo'] = $u["usuario_tipo"];
		$users[$u["usuario_id"]]['gerente'] = $u["usuario_gerente"];
		$users[$u["usuario_id"]]['status'] = $u["usuario_status"];
		$users[$u["usuario_id"]]['permissoes'] = explode('-', $u["usuario_permissoes"]);

		// ID de quem está cadastrando
		if($u["usuario_id"] <> $user){
			$userid = $u["usuario_id"];
			$perms = $users[$u["usuario_id"]]['permissoes'];
		}
	}

	// Confere se possui permissões
	if(!in_array('11', $perms) && (!in_array('12', $perms) || getHierarquia($userid, $users[$user]['id'], $_SESSION['users']) == false)){ $ret['error'] = 'Você não possui permissões suficientes para alterar status.'; $ret['status'] = 'error'; $ret['status_code'] = 'invalidPerm'; finishJSONRequest($ret); }

	// Atualiza saldo
	$status = '1';
	if($users[$user]['status'] == '1'){ $status = '0'; }
	$sql = $mysqli->query("UPDATE usuarios SET usuario_status = '$status' WHERE usuario_id = '$user'");
	if(!$sql){
		$ret['error'] = 'Houve um erro ao alterar o status. O sistema retornou: '.$mysqli->error.'.'; $ret['status'] = 'error'; $ret['status_code'] = 'databaseError'; finishJSONRequest($ret);
	}

	$ret['success'] = 'Pronto! Alterado com sucesso.';
	$ret['status'] = 'success';
	$ret['new_balance'] = $balance;
	$ret['user'] = $user;
	$ret['user_status'] = $status;
	finishJSONRequest($ret);
?>