#!/bin/sh
# bramka-common - skrypt wczytujcy z wejcia numer telefonu, tre smsa,
# i wysya go do odpowiedniej bramki.
# 	Sebastian Zagrodzki <s.zagrodzki@mimuw.edu.pl>
#       Jacek Fiok          <j.fiok@zodiac.mimuw.edu.pl>
# Strona domowa: sms.jfiok.org
#
# format wejscia: numer=<numer>\ntresc=<tresc>

[ -r /usr/local/share/sms/smsrc ] && . /usr/local/share/sms/smsrc
[ -r /etc/smsrc ] && . /etc/smsrc
[ -r $HOME/etc/smsrc ] && . $HOME/etc/smsrc
[ -r $HOME/.smsrc ] && . $HOME/.smsrc

[ -z "$KATALOG" ] && KATALOG=/usr/local/share/sms
[ -z "$NOPL" -a -r "$KATALOG/nopl" ] && NOPL="$KATALOG/nopl"
[ -z "$NOPL" -a -r "/usr/local/share/sms/nopl" ] && NOPL="/usr/local/share/sms/nopl"

read TELEFON
TRESC="`cat`"

[ -n "$NOPL" ] && TRESC="`echo \"$TRESC\" | . \"$NOPL\"`"

TELEFON=${TELEFON#00}
TELEFON=${TELEFON#+}
TELEFON=${TELEFON#48}

PREFIX="`echo $TELEFON | cut -c 1-3`"
case "$PREFIX" in
501|502|503|504|505|506|507|508|509)
	BRAMKI="sms.orange.pl"
	# UWAGA - bramka Orange wymaga autoryzacji - nie zadziaa bez 
	# podania BRAMKA_USER i BRAMKA_PASSWORD w smsrc!
	;;
601|603|605|607|609|691|693|695|697|699)
	BRAMKI="sms.pluswww sms.plussmtp"
	;;
600|602|604|606|608|690|692|694|696|698|888|880)
	BRAMKI="sms.eraomnix.pl"
        # UWAGA - bramki Ery (eraomnix.pl i eraapiprv.pl)
        # wymagaj autoryzacji - nie zadziaa bez
        # podania BRAMKA_USER i BRAMKA_PASSWORD w smsrc!
	;;
*)
	echo "Nie wiem co zrobi z takim numerem!!!"
	exit 1
esac

# wywoanie skryptu (-w, do skutku); pamitaj: skrypt jest SHELL lub PERL.
for i in $BRAMKI; do
  if echo "$i" | egrep '\.pl$' >/dev/null; then
#    echo "/usr/bin/perl -w $KATALOG/$i" "$TELEFON" "$TRESC" "$BRAMKA_USER" "$BRAMKA_PASSWORD"
#    /usr/bin/perl -w "$KATALOG/$i" "$TELEFON" "$TRESC" "$BRAMKA_USER" "$BRAMKA_PASSWORD"; exit 0
    /usr/bin/perl -w "$KATALOG/$i" "$TELEFON" "$TRESC" "$BRAMKA_USER" "$BRAMKA_PASSWORD" >/dev/null 2>&1 && echo "Wiadomo wysana" && exit 0
  else
    /bin/sh          "$KATALOG/$i" "$TELEFON" "$TRESC" "$BRAMKA_USER" "$BRAMKA_PASSWORD" >/dev/null 2>&1 && echo "Wiadomo wysana" && exit 0
  fi
done
ERRNO=$?
echo -n "BD: "
case $ERRNO in
  1) echo "bd poczenia z serwerem"
  ;;
  2) echo "zy numer"
  ;;
  3) echo "przekroczony limit wiadomoci"
  ;;
  4) echo "odbiorca ma nieaktywny odbir SMS-w z internetu" 
  ;;
  5) echo "serwer jest przeciony i odmawia wsppracy"
  ;;
  6) echo "nieprawidoowe haso do bramki"
  ;;
  127) echo "nieznana odpowied serwera"
  ;;
  *)
  ;;
esac
exit $ERRNO
