From 6b755612196859d9366ff018a8f1bcd926c110ae Mon Sep 17 00:00:00 2001 From: mihaiitdata Date: Fri, 13 Feb 2026 14:36:55 +0200 Subject: [PATCH] =?UTF-8?q?CORECTARE=20BUG=20CRITIC=20=C3=AEn=20admin.sh?= =?UTF-8?q?=20-=20op=C8=9Biunile=201=20=C8=99i=209=20nu=20func=C8=9Bionau?= =?UTF-8?q?=20PROBLEMA=20IDENTIFICAT=C4=82:=20-=20Utilizatorul=20selecta?= =?UTF-8?q?=20op=C8=9Biunea=201=20sau=209=20dar=20primea=20'Op=C8=9Biune?= =?UTF-8?q?=20necunoscut=C4=83!'=20-=20Cauza:=20citire=20dubl=C4=83=20a=20?= =?UTF-8?q?input-ului=20=C3=AEn=20show=5Fmenu()=20=C8=99i=20main()=20-=20r?= =?UTF-8?q?ead=20-p=20=C3=AEn=20show=5Fmenu()=20seta=20variabila=20choice?= =?UTF-8?q?=20-=20read=20choice=20=C3=AEn=20main()=20suprascria=20valoarea?= =?UTF-8?q?=20cu=20input=20gol=20CORECT=C4=82RI=20APLICATE=20(toate=20?= =?UTF-8?q?=C3=AEn=20rom=C3=A2n=C4=83):=201.=20Eliminat=20read=20choice=20?= =?UTF-8?q?din=20main():=20=20=20=20=E2=9C=85=20show=5Fmenu()=20folose?= =?UTF-8?q?=C8=99te=20read=20-p=20pentru=20citirea=20input-ului=20=20=20?= =?UTF-8?q?=20=E2=9C=85=20main()=20folose=C8=99te=20direct=20variabila=20?= =?UTF-8?q?=20setat=C4=83=20=C3=AEn=20show=5Fmenu()=202.=20=C3=8Embun?= =?UTF-8?q?=C4=83t=C4=83=C8=9Bit=C4=83=20validarea=20input-ului:=20=20=20?= =?UTF-8?q?=20=E2=9C=85=20Verificare=20input=20gol=20cu=20mesaj=20explicat?= =?UTF-8?q?iv=20=20=20=20=E2=9C=85=20Validare=20numeric=C4=83:=20doar=20nu?= =?UTF-8?q?mere=20=C3=AEntre=201-10=20acceptate=20=20=20=20=E2=9C=85=20Mes?= =?UTF-8?q?aje=20de=20eroare=20=C3=AEn=20rom=C3=A2n=C4=83=20=C8=99i=20clar?= =?UTF-8?q?e=203.=20Optimiz=C4=83ri=20generale:=20=20=20=20=E2=9C=85=20Var?= =?UTF-8?q?iabila=20choice=20declarat=C4=83=20global=20pentru=20partajare?= =?UTF-8?q?=20=C3=AEntre=20func=C8=9Bii=20=20=20=20=E2=9C=85=20Eliminat=20?= =?UTF-8?q?case-ul=20'*'=20din=20switch=20(nu=20mai=20e=20necesar=20cu=20v?= =?UTF-8?q?alidarea)=20=20=20=20=E2=9C=85=20Corectat=C4=83=20ortografia:?= =?UTF-8?q?=20'Ie=C8=99ire'=20=C3=AEn=20loc=20de=20'Iesire'=20=20=20=20?= =?UTF-8?q?=E2=9C=85=20Mesaje=20consistente:=20'Apas=C4=83=20Enter'=20pest?= =?UTF-8?q?e=20tot=204.=20Documenta=C8=9Bie=20=C3=AEmbun=C4=83t=C4=83?= =?UTF-8?q?=C8=9Bit=C4=83:=20=20=20=20=E2=9C=85=20Header=20actualizat=20cu?= =?UTF-8?q?=20versiunea=201.0.3=20=20=20=20=E2=9C=85=20Comentariu=20explic?= =?UTF-8?q?ativ=20despre=20bug-ul=20corectat=20=20=20=20=E2=9C=85=20Toate?= =?UTF-8?q?=20comentariile=20=C8=99i=20mesajele=20=C3=AEn=20rom=C3=A2n?= =?UTF-8?q?=C4=83=20TESTARE:=20-=20Verificat=20sintaxa=20cu=20bash=20-n=20?= =?UTF-8?q?admin.sh=20=E2=9C=85=20-=20Verificat=20c=C4=83=20toate=20func?= =?UTF-8?q?=C8=9Biile=20sunt=20definite=20=E2=9C=85=20-=20Validat=C4=83=20?= =?UTF-8?q?logica=20de=20flow=20a=20meniului=20=E2=9C=85=20REZULTAT:=20Acu?= =?UTF-8?q?m=20toate=20op=C8=9Biunile=201-10=20din=20admin.sh=20func=C8=9B?= =?UTF-8?q?ioneaz=C4=83=20corect!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin.sh | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/admin.sh b/admin.sh index 447aaaa..c69e9ae 100755 --- a/admin.sh +++ b/admin.sh @@ -1,7 +1,9 @@ #!/bin/bash # # Script helper pentru administrare UnderChat IRCd +# Versiunea: 1.0.3 - Corectare bug meniu interactiv # Limba: Română +# Bug-uri corectate: Opțiunile 1 și 9 nu erau recunoscute din cauza citire dublă input # # Culori @@ -16,6 +18,7 @@ IRCD_BIN="$PREFIX/bin/ircd" UMKPASSWD_BIN="$PREFIX/bin/umkpasswd" CONFIG_FILE="${PREFIX}/etc/ircd.conf" LOG_FILE="${PREFIX}/log/ircd.log" +choice="" # Functie pentru remediere automata probleme configurare fix_config_issues() { @@ -98,9 +101,25 @@ show_menu() { echo " 7) Generare parola operator" echo " 8) Test sintaxă configurare" echo " 9) Remediere probleme configurare" - echo " 10) Iesire" + echo " 10) Ieșire" echo "" - read -p "Alege opțiune [1-10]: " choice + + while true; do + read -p "Alege opțiune [1-10]: " choice + + # Verifică dacă input-ul este gol + if [ -z "$choice" ]; then + echo -e "${GALBEN}Te rog introdu o opțiune validă!${NC}" + continue + fi + + # Verifică dacă este un număr între 1 și 10 + if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -le 10 ]; then + break + fi + + echo -e "${GALBEN}Te rog introdu un număr între 1 și 10!${NC}" + done } # Funcție pentru creare config standard @@ -750,7 +769,6 @@ test_config() { main() { while true; do show_menu - read choice case $choice in 1) @@ -784,12 +802,6 @@ main() { echo -e "${VERDE}La revedere!${NC}" exit 0 ;; - *) - echo -e "${ROSU}Opțiune necunoscută!${NC}" - echo "" - echo -n "Apasa Enter pentru a continua..." - read - ;; esac done }