<?php
    include("conexao.php");
    include_once("functions.php");
    include_once(Idioma(1));

    if(ProtegePag() == true){
        global $_TRA;
        
        $ColunaAdmin = array('UserExcluir');
        $VerificarAcesso = VerificarAcesso('user', $ColunaAdmin);
        $AdminExcluir = $VerificarAcesso[0];

        if($AdminExcluir == 'S'){
            $CadUserOnline = InfoUser(2);
            $ArvoreAdminOnline = ArvoreAdminRev($CadUserOnline);
            $ArvoreAdminOnline[] = $CadUserOnline;

            if ($_SERVER['REQUEST_METHOD'] == 'POST') {
                $id = (isset($_POST['id'])) ? $_POST['id'] : '';
                $CadUser = (isset($_POST['CadUser'])) ? $_POST['CadUser'] : '';  // Recebe o CadUser enviado pelo AJAX

                // Verifica se o CadUser do administrador logado é o mesmo que o do usuário sendo excluído
				$SQLUser = "SELECT CadUser FROM usuario WHERE usuario = :usuario";
                $SQLUser = $painel_user->prepare($SQLUser);
                $SQLUser->bindParam(':usuario', $id, PDO::PARAM_STR);
                $SQLUser->execute();
                $LnUser = $SQLUser->fetch();

				$CadUser = InfoUser(2);

				// Comparação segura
				if (empty($CadUser) || empty($LnUser['CadUser'])) {
					echo MensagemAlerta($_TRA['erro'], "Erro: CadUser não foi encontrado. Verifique os dados do usuário.", "danger");
					exit;  // Impede a execução se um dos valores estiver vazio
				}
				
				if ($CadUser !== $LnUser['CadUser']) {
					echo MensagemAlerta($_TRA['erro'], "Você não tem permissão para excluir este usuário. " , "danger");
					exit;  // Impede a exclusão se os CadUser não forem iguais
				}

                if (empty($id)) {
                    echo MensagemAlerta($_TRA['erro'], $_TRA['cvfi'], "danger");
                }
                elseif (!in_array($LnUser['CadUser'], $ArvoreAdminOnline)) {
                    echo MensagemAlerta($_TRA['erro'], str_replace("USER_TAG", $id, $_TRA['npounpav']), "danger");
                }
                else {
                    // Deletar Usuário
                    $ExcluirPorUsuario = ExcluirPorUsuario($id);
                    $SQL = "DELETE FROM usuario WHERE usuario = :usuario";
                    $SQL = $painel_user->prepare($SQL);
                    $SQL->bindParam(':usuario', $id, PDO::PARAM_STR);
                    $SQL->execute();

                    if (empty($SQL)) {
                        echo MensagemAlerta($_TRA['erro'], $_TRA['erropro'], "danger");
                    }
                    else {
                        echo MensagemAlerta($_TRA['sucesso'], $_TRA['ecs'], "success", "index.php?p=usuario");
                    }
                }
            }

        } else {
            echo Redirecionar('index.php');
        }
    } else {
        echo Redirecionar('login.php');
    }
?>
