<?xml version="1.0"?>
<ruleset name="LegadoPHP5to83">
    <description>Analisa variáveis não definidas, arrays sem índice, etc.</description>

    <!-- Diretórios a serem analisados (ajuste conforme necessário) -->
    <file>./paineladm</file>
    <file>./classes</file>
    <file>./</file> <!-- analisa também a raiz, se tiver arquivos .php -->

    <!-- Excluir pastas que não devem ser analisadas -->
    <exclude-pattern>*/vendor/*</exclude-pattern>
    <exclude-pattern>*/cache/*</exclude-pattern>
    <exclude-pattern>*/backup_*/*</exclude-pattern>
    <exclude-pattern>*/fpdf/*</exclude-pattern>
    <exclude-pattern>*/PHPMailer/*</exclude-pattern>
    <exclude-pattern>*/phplot/*</exclude-pattern>

    <!-- Não analisar arquivos de terceiros -->
    <exclude-pattern>*\.inc\.php</exclude-pattern>
    <exclude-pattern>*/rector\.php</exclude-pattern>

    <!-- Usar o padrão PSR12 como base (não focamos em estilo, mas é necessário) -->
    <arg name="standard" value="PSR12"/>

    <!-- Ativar as regras de análise de variáveis -->
    <rule ref="VariableAnalysis">
        <properties>
            <!-- Permite que parâmetros de função não usados sejam ignorados (comum em legado) -->
            <property name="allowUnusedFunctionParameters" value="true"/>
            <!-- Permite variáveis de exceção não usadas -->
            <property name="allowUnusedCaughtExceptions" value="true"/>
            <!-- Não permite variáveis indefinidas -->
            <property name="allowUndefinedVariables" value="false"/>
            <!-- Verifica também uso de índices de array -->
            <property name="checkUndefinedVariables" value="true"/>
        </properties>
    </rule>

    <!-- Opcional: mostrar cores no terminal -->
    <arg name="colors"/>
    <!-- Mostrar progresso -->
    <arg value="p"/>
</ruleset>
