<?php
/**
 * webservices/verificar_master.php
 */
header('Content-Type: application/json; charset=utf-8');
define("_VALID_PHP", true);

if (file_exists("../init.php")) {
    require_once("../init.php");
} else {
    echo json_encode(['status' => 'erro', 'msg' => 'Arquivo init.php não encontrado']);
    exit;
}

global $db;

try {
    if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['senha'])) {
        
        $senha_digitada = $_POST['senha'];
        
        // Criptografa a senha para comparar com o banco
        $senha_hash = sha1($senha_digitada); 
        
        // --- MONTAGEM DO SQL (MODELO LEGADO) ---
        // Como $senha_hash é gerado pelo sistema (SHA1), é seguro colocar na query.
        $sql = "SELECT id FROM usuario WHERE nivel >= '8' AND active='y' AND senha = '" . $senha_hash . "' LIMIT 1";
        
        // Executa a query diretamente
        $result = $db->query($sql);
        
        // --- VERIFICAÇÃO DO RESULTADO ---
        // Aqui tentamos cobrir as duas formas mais comuns que classes antigas usam para contar linhas:
        
        $encontrou = false;

        // Opção A: Se a classe tem o método num_rows()
        if (method_exists($db, 'num_rows')) {
            if ($db->num_rows($result) > 0) {
                $encontrou = true;
            }
        }
        // Opção B: Se a classe tem o método rowCount() (mesmo sem prepare)
        elseif (method_exists($db, 'rowCount')) {
             if ($db->rowCount($result) > 0) {
                $encontrou = true;
            }
        }
        // Opção C: Se o query() retorna um array direto (comum em alguns frameworks antigos)
        elseif (is_array($result) && count($result) > 0) {
            $encontrou = true;
        }
        // Opção D: Verifica se é um Resource do MySQL antigo e conta
        elseif (is_resource($result) && mysql_num_rows($result) > 0) {
             $encontrou = true;
        }
        // Opção E: Verifica se é um objeto MySQLi Result
        elseif (is_object($result) && property_exists($result, 'num_rows')) {
             if ($result->num_rows > 0) $encontrou = true;
        }

        if ($encontrou) {
            echo json_encode(['status' => 'sucesso']);
        } else {
            echo json_encode(['status' => 'erro', 'msg' => 'Senha incorreta']);
        }

    } else {
        echo json_encode(['status' => 'erro', 'msg' => 'Requisição inválida']);
    }

} catch (Exception $e) {
    echo json_encode(['status' => 'erro', 'msg' => 'Erro interno: ' . $e->getMessage()]);
}
?>