44#
55# Original Creation Date: 2023-Oct-01 by @ExtremeFiretop.
66# Official Co-Author: @Martinski W. - Date: 2023-Nov-01
7- # Last Modified: 2025-Oct-27
7+ # Last Modified: 2025-Nov-02
88# ##################################################################
99set -u
1010
1111# # Set version for each Production Release ##
1212readonly SCRIPT_VERSION=1.5.5
13- readonly SCRIPT_VERSTAG=" 25102710 "
13+ readonly SCRIPT_VERSTAG=" 25110200 "
1414readonly SCRIPT_NAME=" MerlinAU"
1515# # Set to "master" for Production Releases ##
1616SCRIPT_BRANCH=" dev"
@@ -78,11 +78,11 @@ readonly ScriptFileName="${0##*/}"
7878readonly ScriptFNameTag=" ${ScriptFileName%% .* } "
7979readonly ScriptDirNameD=" ${ScriptFNameTag} .d"
8080
81- if [ " $SCRIPT_BRANCH " = " dev " ]
82- then readonly branchx_TAG= " Branch: development "
83- else readonly branchx_TAG= " Branch: $SCRIPT_BRANCH "
81+ if [ " $SCRIPT_BRANCH " = " master " ]
82+ then readonly branchxStr_TAG= " [ Branch: $SCRIPT_BRANCH ] "
83+ else readonly branchxStr_TAG= " [ Branch: development] "
8484fi
85- readonly version_TAG =" ${SCRIPT_VERSION} _${SCRIPT_VERSTAG} "
85+ readonly versionDev_TAG =" ${SCRIPT_VERSION} _${SCRIPT_VERSTAG} "
8686
8787# #----------------------------------------##
8888# # Modified by Martinski W. [2025-Jan-15] ##
168168# # Modified by Martinski W. [2025-Jan-22] ##
169169# #----------------------------------------##
170170inMenuMode=true
171+ webguiMode=false
171172isInteractive=false
172173FlashStarted=false
173174MerlinChangeLogURL=" "
@@ -518,19 +519,55 @@ _DoExit_()
518519 _ReleaseLock_ ; exit " $exitCode "
519520}
520521
521- # #------------------------------------------##
522- # # Modified by ExtremeFiretop [2024-May-21] ##
523- # #------------------------------------------##
522+ # #-------------------------------------##
523+ # # Added by Martinski W. [2025-Nov-01] ##
524+ # #-------------------------------------##
525+ _CenterTextStr_ ()
526+ {
527+ if [ $# -lt 2 ] || [ -z " $1 " ] || [ -z " $2 " ] || \
528+ ! echo " $2 " | grep -qE " ^[1-9][0-9]+$"
529+ then echo ; return 1
530+ fi
531+ local stringLen=" ${# 1} "
532+ local space1Len=" $(( ($2 - stringLen)/ 2 )) "
533+ local space2Len=" $space1Len "
534+ local totalLen=" $(( space1 Len + stringLen + space2 Len)) "
535+
536+ if [ " $totalLen " -lt " $2 " ]
537+ then space2Len=" $(( space2 Len + 1 )) "
538+ elif [ " $totalLen " -gt " $2 " ]
539+ then space1Len=" $(( space1 Len - 1 )) "
540+ fi
541+ if [ " $space1Len " -gt 0 ] && [ " $space2Len " -gt 0 ]
542+ then printf " %*s%s%*s" " $space1Len " ' ' " $1 " " $space2Len " ' '
543+ else printf " %s" " $1 "
544+ fi
545+ }
546+
547+ # #----------------------------------------##
548+ # # Modified by Martinski W. [2024-Nov-01] ##
549+ # #----------------------------------------##
524550_ShowLogo_ ()
525551{
526- echo -e " ${YLWct} "
527- echo -e " __ __ _ _ _ _ "
528- echo -e " | \/ | | (_) /\ | | | |"
529- echo -e " | \ / | ___ _ __| |_ _ __ / \ | | | |"
530- echo -e " | |\/| |/ _ | '__| | | '_ \ / /\ \| | | |"
531- echo -e " | | | | __| | | | | | | |/ ____ | |__| |"
532- echo -e " |_| |_|\___|_| |_|_|_| |_/_/ \_\____/ ${GRNct} v${SCRIPT_VERSION} "
533- echo -e " ${NOct} "
552+ local showBranchStr
553+ if [ $# -gt 0 ] && [ " $1 " = " true" ]
554+ then showBranchStr=true
555+ else showBranchStr=false
556+ fi
557+ local spaceLen=58 colorCT
558+ [ " $SCRIPT_BRANCH " = " master" ] && colorCT=" $GRNct " || colorCT=" $MGNTct "
559+ echo
560+ printf " ${YLWct} \n"
561+ printf " __ __ _ _ _ _ \n"
562+ printf " | \/ | | (_) /\ | | | | \n"
563+ printf " | \ / | ___ _ __| |_ _ __ / \ | | | | \n"
564+ printf " | |\/| |/ _ | '__| | | '_ \ / /\ \| | | | \n"
565+ printf " | | | | __| | | | | | | |/ ____ | |__| | \n"
566+ printf " |_| |_|\___|_| |_|_|_| |_/_/ \_\____/ ${GRNct} v${SCRIPT_VERSION}${NOct} \n"
567+
568+ " $showBranchStr " && \
569+ printf " \n${colorCT} %s${NOct} \n" " $( _CenterTextStr_ " $branchxStr_TAG " " $spaceLen " ) "
570+ echo
534571}
535572
536573# #----------------------------------------##
@@ -548,7 +585,7 @@ _ShowAbout_()
548585 fi
549586
550587 clear
551- _ShowLogo_
588+ _ShowLogo_ true
552589
553590 printf " About ${MGNTct}${SCRIPT_VERS_INFO}${NOct} \n"
554591 cat << EOF
585622_ShowHelp_ ()
586623{
587624 clear
588- _ShowLogo_
625+ _ShowLogo_ true
589626
590627 printf " HELP ${MGNTct}${SCRIPT_VERS_INFO}${NOct} \n"
591628 cat << EOF
@@ -8736,7 +8773,7 @@ _RunOfflineUpdateNow_()
87368773}
87378774
87388775# #----------------------------------------##
8739- # # Modified by Martinski W. [2025-Aug-10 ] ##
8776+ # # Modified by Martinski W. [2025-Nov-01 ] ##
87408777# #----------------------------------------##
87418778_RunFirmwareUpdateNow_ ()
87428779{
@@ -8844,11 +8881,13 @@ Please manually update to version ${GRNct}${MinSupportedFirmwareVers}${NOct} or
88448881 if [ " $FW_UpdateCheckState " -eq 0 ]
88458882 then
88468883 Say " Automatic F/W update checks are currently ${REDct} DISABLED${NOct} ."
8847- ! " $inMenuMode " && return 1
8848-
8884+ if ! " $inMenuMode " && ! " $webguiMode "
8885+ then return 1
8886+ fi
88498887 if [ -x " $FW_UpdateCheckScript " ]
88508888 then
8851- # Prompt the user to confirm and proceed IFF in "Menu Mode" #
8889+ # Prompt the user to confirm and proceed IFF in Interactive Mode #
8890+ " $isInteractive " && \
88528891 printf " \n${BOLDct} Would you like to proceed with a manual F/W update check now${NOct} "
88538892 ! _WaitForYESorNO_ && return 1
88548893
@@ -10509,7 +10548,7 @@ _ShowMainMenuOptions_()
1050910548 fi
1051010549
1051110550 clear
10512- _ShowLogo_
10551+ _ShowLogo_ " $( [ " $SCRIPT_BRANCH " = " master " ] && echo false || echo true ) "
1051310552 printf " ${YLWct} ============ By ExtremeFiretop & Martinski W. ============${NOct} \n\n"
1051410553
1051510554 # New Script Update Notification #
@@ -11207,8 +11246,8 @@ _Gnuton_Check_Webs_Update_Script_()
1120711246}
1120811247
1120911248if [ " $SCRIPT_BRANCH " = " master" ]
11210- then SCRIPT_VERS_INFO=" [ $branchx_TAG ] "
11211- else SCRIPT_VERS_INFO=" [$version_TAG , $branchx_TAG ]"
11249+ then SCRIPT_VERS_INFO=" "
11250+ else SCRIPT_VERS_INFO=" [$versionDev_TAG ]"
1121211251fi
1121311252
1121411253# # Set variable to 'false' to stop the check ##
@@ -11354,6 +11393,7 @@ then
1135411393 then bypassPostponedDays=true
1135511394 else bypassPostponedDays=false
1135611395 fi
11396+ webguiMode=true
1135711397 _RunFirmwareUpdateNow_
1135811398 _ReleaseLock_ cliFileLock
1135911399 fi
0 commit comments