#!/bin/bash
# limpieza_sheyolt.sh - Retira de SheyOLT los restos del otro sistema y la
# versión antigua del sistema de OLT. Primero los MUEVE a cuarentena (se
# pueden recuperar); el borrado definitivo es un paso aparte, al final.
#
#   bash limpieza_sheyolt.sh            -> revisa el cron y mueve a cuarentena
#   bash limpieza_sheyolt.sh --borrar   -> borra la cuarentena para siempre

set -e
ADMIN=/var/www/html/admin
Q1=/root/cuarentena_otro_sistema
Q2=/root/cuarentena_olt_antiguo

OTRO="admin_pagos.php ajustes_facturacion.php api_get_traffic.php auditoria.php backup_auto.php backups_lista.php base_datos.php bitacora.php blacklist.php cajas_nap.php cambios_masivos1.php chat_whatsapp.php cliente_trafico.php clientes_lista.php configuracion.php configurar_router.php contar_clientes_masivos.php funciones_whatsapp.php get_traffic_data.php licencia.php logs_sistema.php operador_nuevo.php test_whatsapp.php trafico.php trafico_real.php"
ANTIGUO="gpon_auto_provisioning.php gpon_detectar_onus.php gpon_olts.php gpon_onus_detectadas.php gpon_onus_registradas.php gpon_potencia.php shey_olt.php shey_olt_actions.php shey_smart_olt.php"

if [ "$1" = "--borrar" ]; then
    echo "Se borrarán para siempre:"; ls "$Q1" "$Q2" 2>/dev/null
    read -p "¿Seguro? Escribe BORRAR para confirmar: " r
    [ "$r" = "BORRAR" ] && rm -rf "$Q1" "$Q2" && echo "Borrados." || echo "Cancelado, no se borró nada."
    exit 0
fi

# 1. Ningún cron puede depender de ellos: si alguno aparece, se detiene todo
echo "== Revisando el cron =="
PATRON=$(echo $OTRO $ANTIGUO | sed 's/\.php//g; s/ /\\|/g')
if (crontab -l; crontab -u www-data -l) 2>/dev/null | grep -q "$PATRON"; then
    echo "ALTO: estos archivos aparecen en el cron. No se ha movido nada:"
    (crontab -l; crontab -u www-data -l) 2>/dev/null | grep "$PATRON"
    exit 1
fi
echo "Ningún cron los usa."

# 2. A cuarentena, fuera de la carpeta pública
mkdir -p "$Q1" "$Q2"
cd "$ADMIN"
n=0
for f in $OTRO;    do [ -f "$f" ] && mv "$f" "$Q1/" && n=$((n+1)); done
for f in $ANTIGUO; do [ -f "$f" ] && mv "$f" "$Q2/" && n=$((n+1)); done
echo "== $n archivos movidos a cuarentena =="
echo "Si algo deja de funcionar, se recupera con:  mv $Q1/NOMBRE.php $ADMIN/"
echo "Cuando confirmes que todo va bien:           bash $0 --borrar"