#!/bin/bash

BASE="/var/www/html"
DATA_BACKUP=$(date +%Y%m%d_%H%M%S)

find "$BASE" \
	    -mindepth 3 \
	        -maxdepth 3 \
		    -type f \
		        -path '*/_update/versaoAtual.php' \
			    -print0 |
while IFS= read -r -d '' ARQUIVO; do

	    echo "Processando: $ARQUIVO"

	        # Cria uma cópia de segurança
		    cp -p "$ARQUIVO" "${ARQUIVO}.bak_${DATA_BACKUP}"

		        # Protege somente as constantes desejadas.
			    # Os valores atualmente existentes são mantidos.
			        perl -i -pe '
				        s/^([ \t]*)(define\s*\(\s*(["'\''])(VERSAO_ATUAL|SUBVERSAO_ATUAL)\3\s*,.*)$/$1if (!defined($3$4$3)) $2/
					    ' "$ARQUIVO"

					        # Verifica se o PHP continua válido
						    if ! php -l "$ARQUIVO" >/dev/null 2>&1; then
							            echo "ERRO no arquivo. Restaurando backup: $ARQUIVO"
								            cp -p "${ARQUIVO}.bak_${DATA_BACKUP}" "$ARQUIVO"
									        else
											        echo "OK: $ARQUIVO"
												    fi
											    done

											    echo "Processamento concluído."


