#!/usr/bin/env bash # TA-ProxMenu preloader [ "${2:-}" != "q" ] && source /opt/idssys/defaults/colors.inc source /opt/idssys/defaults/default.inc source /opt/idssys/ta-proxmenu/defaults.inc UPDATE_REPOSITORY() { local repository="$1" local branch="$2" local label="$3" local local_commit local remote_commit cd "$repository" || return 1 local_commit="$(git rev-parse HEAD 2>/dev/null)" || return 1 remote_commit="$(git ls-remote origin "refs/heads/${branch}" | cut -f1)" if [ -z "$remote_commit" ]; then echo -e "${idsCL[Red]}Could not find branch '${branch}' for ${label}${idsCL[Default]}" return 1 fi if [ "$local_commit" = "$remote_commit" ]; then echo -e "${idsCL[Green]}${label} is current (${branch})${idsCL[Default]}" return 0 fi echo -en "${idsCL[LightCyan]}Updating ${label} (${branch})...${idsCL[Default]}" if git fetch origin "$branch" >/dev/null 2>&1 && git reset --hard "origin/${branch}" >/dev/null 2>&1; then echo -e " ${idsCL[Green]}Done${idsCL[Default]}" return 0 fi echo -e " ${idsCL[Red]}Failed${idsCL[Default]}" return 1 } INSTALL_UPDATES() { local current_branch local update_failed=0 echo -e "${idsCL[LightCyan]}Checking for updates...${idsCL[Default]}" if ! curl --fail --silent --show-error --head \ --connect-timeout 3 --max-time 10 https://git.scity.us >/dev/null; then echo -e "${idsCL[Red]}Could not connect to git.scity.us${idsCL[Default]}" return 1 fi UPDATE_REPOSITORY /opt/idssys/defaults master "iDSSYS Defaults" || update_failed=1 current_branch="$(git -C /opt/idssys/ta-proxmenu branch --show-current)" if [ -z "$current_branch" ]; then echo -e "${idsCL[Red]}TA-ProxMenu is in a detached HEAD state; update skipped${idsCL[Default]}" update_failed=1 else UPDATE_REPOSITORY /opt/idssys/ta-proxmenu "$current_branch" "TA-ProxMenu" || update_failed=1 fi rm -f /var/cache/ta-proxmenu/update-status 2>/dev/null || true if (( update_failed == 0 )); then source /opt/idssys/ta-proxmenu/defaults.inc echo -e "\n${idsCL[Green]}Update check complete. Installed version: ${VERS}${idsCL[Default]}" return 0 fi return 1 } case "${1:-}" in update|u) INSTALL_UPDATES exit $? ;; tapm) exit 0 ;; esac /opt/idssys/ta-proxmenu/proxmenu-scripts.sh \ "${1:-}" "${2:-}" "${3:-}" "${4:-}" exit $?