#/bin/sh

# GPL, teodor@pld-linux.org
# Skrypt suzcy do nawizywania polcze za pomoca wvdial. Korzysta
# z programu ppplicznik do pokazywania czasu poczenia
# Wersja czysto testowa, czyli "u mnie dziaa :-)"

group_items () {
cat /etc/wvdial.conf | grep Dialer | perl -pe "s/\[Dialer //g; s/\]//g" | while read group; do
group2=`echo $group`
echo "<item id=$group>_${group2}"
done
}

licznik () {
if [ ! -f /usr/bin/ppplicznik ]
then
	dml "Zainstaluj ppplicznik'a korzystajc z poldka<br> <button caption=\"OK\""
	/usr/bin/ispconnect
else
#	open -c 9 -- /usr/bin/ppplicznik -k /usr/share/pldconf/NET/NET_FILES/ppplicznik.conf
	sleep 40 #czas po jakim uruchomi sie ppplicznik, czas miedzy wybraniem numeru a odebraniem polaczenia przez operatora
	/usr/bin/ppplicznik -k /usr/share/pldconf/NET/NET_FILES/ppplicznik.conf
fi
}

dzwon_sh () {
if [ ! -f /usr/bin/sudo ] || [ $USER != "root" ]
then
	cat << EOF
	Nie moesz uruchomi wvdial jako user bez
	skonfigurowanego sudo. Zainstaluj sudo 
	korzystajc z poldka, a potem skonfiguruj
EOF
	echo "<enter>"
	read
	exec /usr/bin/ispconnect
else
	/usr/bin/sudo /usr/bin/wvdial $isp 2> /dev/null &
	if [ "$licznik" = "yes" ]
	then
		licznik
	fi
fi
}
gui () {
eval `dml << EOF
<meta title="ISP Connect">
Wybierz operatora:
<menu id=isp>
\`group_items\`
</menu><br>
<check id=licznik> Wyswietl czas polaczenia<br> <br>
W przypadku gdy wywietla si czas <br>
poczenia do jego zakoczenia uyj <br>klawisza "r"<br><br>
<button id=dzwon caption=_Dzwo> <button id=anuluj caption=_Anuluj> <button id=pomoc caption=_Pomoc>
EOF`
 eval_dml
}

eval_dml () {
if [ $dzwon = "yes" ]
then
	dzwon_sh	
fi
if [ $pomoc = "yes" ]
then
	less /usr/share/pldconf/POMOC/README_isp.txt
	exec /usr/bin/ispconnect.sh
fi
}

command_help () {
	cat << EOF
	ISP Connect ver. 0.1

	uycie:
	ispconnect.sh [opcja]
	-l <yes|no> wywitl czas poczenia
	-h pomoc (wanie to czytasz)
	-o <nazwa poczenia> czy si za pomoc ustalonego poczenia
	
        Poczenia:
EOF
cat /etc/wvdial.conf | grep Dialer | perl -pe "s/\[Dialer //g; s/\]//g" | while read group; do
 echo "          $group" 
done
}

while getopts "l:ho:" opt
do
	case $opt in
		l ) licznik=$OPTARG ;;
		h ) command_help; exit;;
		o ) isp=$OPTARG; dzwon_sh ;;
	esac
done

gui
