<?php
/**
 * CONFIGURAÇÃO DE CAMINHOS ABSOLUTOS
 * Checkout Pro 2025 - FASE 1: INFRAESTRUTURA
 * 
 * Este arquivo define constantes absolutas para todos os caminhos do sistema,
 * eliminando problemas com caminhos relativos (../../) quebrados.
 * 
 * @version 1.0
 * @author Checkout Pro 2025
 */

// Prevenir múltiplas definições
if (defined('ROOT_PATH')) {
    return; // Já foi carregado
}

// Determinar o caminho raiz do projeto
// __DIR__ aponta para /config quando este arquivo é incluído
$root_path = dirname(__DIR__);

// Normalizar caminhos (garantir barras corretas para o sistema)
$root_path = str_replace('\\', '/', $root_path);
$root_path = rtrim($root_path, '/');

// Definir constantes de caminhos absolutos
define('ROOT_PATH', $root_path);
define('CONFIG_PATH', ROOT_PATH . '/config');
define('BACKEND_PATH', ROOT_PATH . '/backend');
define('DASHBOARD_PATH', ROOT_PATH . '/dashboard');
define('VIEWS_PATH', ROOT_PATH . '/views');
define('PUBLIC_PATH', ROOT_PATH . '/public');
define('VENDOR_PATH', ROOT_PATH . '/vendor');
define('CONFIG_EMAIL_PATH', ROOT_PATH . '/config_email');

// URLs base (para uso em HTML/redirecionamentos)
// Detectar protocolo (http ou https)
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
$host = $_SERVER['HTTP_HOST'] ?? 'localhost';
$base_url = $protocol . '://' . $host;

// Remover subdiretório se aplicável (ex: /public_html)
$script_name = $_SERVER['SCRIPT_NAME'] ?? '';
$script_dir = dirname($script_name);
if ($script_dir !== '/' && $script_dir !== '\\') {
    $base_url .= rtrim($script_dir, '/');
}

define('BASE_URL', $base_url);
define('DASHBOARD_URL', BASE_URL . '/dashboard');
define('VIEWS_URL', BASE_URL . '/views');
define('BACKEND_URL', BASE_URL . '/backend');

// Marcar como carregado
define('PATHS_LOADED', true);

