#!/bin/bash ############################################################################### # # # IPFire.org - A linux based firewall # # Copyright (C) 2010 Michael Tremer & Christian Schmidt # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see . # # # ############################################################################### # Regular colours CLR_BLACK_R='\e[0;30m' CLR_RED_R='\e[0;31m' CLR_GREEN_R='\e[0;32m' CLR_YELLOW_R='\e[0;33m' CLR_BLUE_R='\e[0;34m' CLR_PURPLE_R='\e[0;35m' CLR_CYAN_R='\e[0;36m' CLR_WHITE_R='\e[0;37m' CLR_RESET_R='\e[0;39m' # Bold colours CLR_BLACK_B='\e[1;30m' CLR_RED_B='\e[1;31m' CLR_GREEN_B='\e[1;32m' CLR_YELLOW_B='\e[1;33m' CLR_BLUE_B='\e[1;34m' CLR_PURPLE_B='\e[1;35m' CLR_CYAN_B='\e[1;36m' CLR_WHITE_B='\e[1;37m' CLR_RESET_B=${CLR_RESET_R} # Background colors CLR_BLACK_BG='\e[40m' CLR_RED_BG='\e[41m' CLR_GREEN_BG='\e[42m' CLR_YELLOW_BG='\e[43m' CLR_BLUE_BG='\e[44m' CLR_PURPLE_BG='\e[45m' CLR_CYAN_BG='\e[46m' CLR_WHITE_BG='\e[47m' CLR_RESET_BG='\e[49m' # Reset everything. CLR_RESET_ALL="${CLR_RESET_R}${CLR_RESET_B}${CLR_RESET_BG}" # Legacy color variables. COLOUR_GREEN=${CLR_GREEN_B} COLOUR_RED=${CLR_RED_B} COLOUR_NORMAL=${CLR_RESET_B} COLOUR_YELLOW=${CLR_YELLOW_B} COLOUR_BOLD="\\033[1;39m" COLOUR_DOWN=${COLOUR_RED} COLOUR_ERROR=${COLOUR_RED} COLOUR_OK=${COLOUR_GREEN} COLOUR_UP=${COLOUR_GREEN} COLOUR_WARN=${COLOUR_YELLOW} COLOUR_ENABLED=${COLOUR_GREEN} COLOUR_DISABLED=${COLOUR_RED} COLOUR_STP_FORWARDING=${COLOUR_GREEN} COLOUR_STP_DISCARDING=${COLOUR_RED} COLOUR_STP_LEARNING=${COLOUR_YELLOW} COLOUR_STP_BLOCKING=${COLOUR_YELLOW} COLOUR_VARIABLES="COLOUR_GREEN COLOUR_RED COLOUR_NORMAL COLOUR_YELLOW" COLOUR_VARIABLES="${COLOUR_VARIABLES} COLOURBG_GREEN COLOURBG_RED COLOURBG_NORMAL" COLOUR_VARIABLES="${COLOUR_VARIABLES} COLOURBG_YELLOW" COLOUR_VARIABLES="${COLOUR_VARIABLES} COLOUR_BOLD COLOUR_DOWN COLOUR_ERROR" COLOUR_VARIABLES="${COLOUR_VARIABLES} COLOUR_ERROR COLOUR_OK COLOUR_UP" COLOUR_VARIABLES="${COLOUR_VARIABLES} COLOUR_WARM COLOUR_ENABLED COLOUR_DISABLED" COLOUR_VARIABLES="${COLOUR_VARIABLES} COLOUR_LOG COLOUR_STP_FORWARDING" COLOUR_VARIABLES="${COLOUR_VARIABLES} COLOUR_STP_DISCARDING COLOUR_STP_LEARNING" COLOUR_VARIABLES="${COLOUR_VARIABLES} COLOUR_STP_BLOCKING" function colours_disable() { local line for line in ${COLOUR_VARIABLES}; do unset ${line} done } function colours_auto_disable() { if [ "${TERM}" = "dumb" ]; then colours_disable fi } # Predefined messages MSG_HOOK_UP="${CLR_GREEN_BG}${CLR_WHITE_B} UP ${CLR_RESET_B}${CLR_RESET_BG}" MSG_HOOK_DOWN="${CLR_RED_BG}${CLR_WHITE_B} DOWN ${CLR_RESET_B}${CLR_RESET_BG}" MSG_DEVICE_STATUS_UNKNOWN="${CLR_GREY_BG}${CLR_BLACK_B} UNKNOWN ${CLR_RESET_ALL}" MSG_DEVICE_STATUS_UP="${CLR_GREEN_BG}${CLR_WHITE_B} UP ${CLR_RESET_ALL}" MSG_DEVICE_STATUS_DOWN="${CLR_RED_BG}${CLR_WHITE_B} DOWN ${CLR_RESET_ALL}" MSG_DEVICE_STATUS_NOCARRIER="${CLR_YELLOW_BG}${CLR_WHITE_B} NO-CARRIER ${CLR_RESET_ALL}" MSG_STP_FORWARDING="${CLR_GREEN_BG}${CLR_WHITE_B} FORWARDING ${CLR_RESET_ALL}" MSG_STP_DISCARDING="${CLR_RED_BG}${CLR_WHITE_B} DISCARDING ${CLR_RESET_ALL}" MSG_STP_LEARNING="${CLR_YELLOW_BG}${CLR_WHITE_B} LEARNING ${CLR_RESET_ALL}" MSG_STP_LISTENING="${CLR_YELLOW_BG}${CLR_WHITE_B} LISTENING ${CLR_RESET_ALL}" MSG_STP_BLOCKING="${CLR_RED_BG}${CLR_WHITE_B} BLOCKING ${CLR_RESET_ALL}"