#!/bin/bash
#
# Nice BBS command-line finger
# Needs wget, spawns no additional subprocesses.
# (c) 20070318 Tuttle

if [ -n "$1" ]; then
    lynx -dump "http://bbs.sandbox.cz/web/gw?shortquery=$1" | grep -vE '^[[:space:]]*$'
else

    # Oddelovac polozek
    OLDIFS="$IFS"
    IFS=$'\t'

    # Pocet sloupcu terminalu
    # (Poznamka: Pro spravne fungovani bude zrejme potreba zadat do login skriptu
    # (~/.bashrc nebo ~/.bash_profile) prikaz  'export COLUMNS'.
    COLUMNS=${COLUMNS:-80}

    # Zahlavi tabulky, dve verze
    printf $'\e[1m%-12s %-25s %-7s %s %s\e[0m\n' UserId Username Idle M Host
    printf $'\e[1m%-12s %-25s %-7s %-7s %s\e[0m\n' UserId Username Idle Mode Host

    # Stazeni textove verze informaci o prihlasenych uzivatelich
    wget -q -O - 'http://bbs.sandbox.cz/web/gw?plainonline' | \
    while read L; do
        # Natazeni polozek rozlamanych podle IFS do argumentu
        set $L

        # Formatovani
        LINE=`printf "%-12s %-25s %-7s %-1s %s\n" "$1" "$2" "$3" "$5" "$6"`
        # Zalomeni na sirku terminalu
        echo ${LINE:0:COLUMNS}

        # Druha verze
        LINE=`printf "%-12s %-25s %-7s %-7s %s\n" "$1" "$2" "$3" "$4" "$6"`
        echo ${LINE:0:COLUMNS}
    done

    # Vraceni oddelovacu pro pripad, ze nejsme volani jako subshell
    IFS="$OLDIFS"

    echo "*** Vyberte si jeden z formatu vystupu a ostatni zapoznamkujte. ***"

fi
