#!/bin/sh
#Lesser GPL licence v2 (http://www.fsf.org/licensing/licenses/lgpl.html)
#Barry Kauler www.puppylinux.com
#Updated for Puppy 4.00, April 2008.
#v405 july 2008 updated.
#v409 add both Pppoeconf and Roaring Penguin PPPOE to menus.
#v411 remove pppoeconf buttons from gui if pkg not installed.
#v411 anythng on commandline suppresses default-connect gui (see wizardwizard).
#Translated for Russian by Pro and vkvkvk.

#v411 commandline param, this section irrelevant...
DEFAULTCONNECT="`cat /usr/local/bin/defaultconnect | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
[ "`grep 'gprs' /usr/local/bin/defaultconnect`" != "" ] && DEFAULTCONNECT='pgprs-connect'
[ "$DEFAULTCONNECT" = "gkdial" ] && DEFAULTCONNECT="pupdial" #for older pups.
#radiobuttons...
DEFGNOMEPPP="no"
DEFPUPDIAL="no"
DEFRPPPPOE="no"
DEFMTGPRS="no"
DEFICW="no"
DEFPPPOECONF="no" #v409
case $DEFAULTCONNECT in
 gnome-ppp)
  DEFGNOMEPPP="yes"
  ;;
 pupdial)
  DEFPUPDIAL="yes"
  ;;
 pppoe_gui)
  DEFRPPPPOE="yes"
  ;;
 pgprs-connect)
  DEFMTGPRS="yes"
  ;;
 pppoeconf) #v409
  DEFPPPOECONF="yes"
  ;;
 *)
  DEFICW="yes"
  ;;
esac

#v2.17 removed. this can o/p multiple lines, which crashes gtkdialog...
##Added by LC (Laurent Cas)
#SHOWIPSTATE="`ifconfig | grep inet | grep Bcast`"
#if [ "$SHOWIPSTATE" == "" ] ; then
#   SHOWIPSTATE="`ifconfig | grep inet`"
#fi

#v405
MSGNETIFS="Сетевые интерфейсы не обнаружены"
SHOWNETIFS="`ls -1 /sys/class/net | grep -v -E '^lo|^wmaster' | tr '\n' ' '`"
if [ `echo -n "$SHOWNETIFS" | wc -w` -gt 0 ];then
 MSGNETIFS="Найдены сетевые интерфейсы: $SHOWNETIFS"
fi

MSGMODEM="Модем не обнаружен"
if [ -e /dev/modem ];then
 DEVMODEM="`readlink /dev/modem`"
 MSGMODEM="Определён модем, подключенный к порту $DEVMODEM"
fi

FLAGGNOMEPPP=""
if [ ! "`which gnome-ppp`" = "" ];then
 FLAGGNOMEPPP="<radiobutton><label>GnomePPP (аналоговый модем)</label><variable>RADIOGNOMEPPP</variable><default>$DEFGNOMEPPP</default></radiobutton>"
fi

FLAGROARINGPENGUIN=""
CONNECTROARINGPENGUIN="" #v409
if [ "`which pppoe_gui`" != "" ];then
 FLAGROARINGPENGUIN="<radiobutton><label>Roaring Penguin (PPPoE)</label><variable>RADIORPPPPOE</variable><default>$DEFRPPPPOE</default></radiobutton>"
 CONNECTROARINGPENGUIN="<hbox>
   <text>
    <label>- программы 'Roaring Penguin' (протокол PPPOE)...</label>
   </text>
   <button>
    <input file>/usr/local/lib/X11/mini-icons/mini-telnet.xpm</input>
    <action>/usr/sbin/pppoe_gui &</action>
    <action>exit</action>
   </button>
  </hbox>" #v409
fi

#v411...
FLAGPPPOECONF=""
CONNECTPPPOECONF=""
if [ "`which pppoeconf`" != "" ];then
 FLAGPPPOECONF="<radiobutton><label>Pppoeconf (PPPOE)</label><variable>RADIOPPPOECONF</variable><default>$DEFPPPOECONF</default></radiobutton>"
 CONNECTPPPOECONF="<hbox>
   <text>
    <label>Internet через 'Pppoeconf' PPPOE...</label>
   </text>
   <button>
    <input file>/usr/local/lib/X11/mini-icons/mini-telnet.xpm</input>
    <action>/usr/sbin/pppoeconf &</action>
    <action>exit</action>
   </button>
  </hbox>"
fi

#FLAGMTGPRS=""
#if [ "`which pgprs-setup`" != "" ];then
 CONNECTMTGPRS="  <hbox>
   <text>
    <label>- GPRS модема...</label>
   </text>
   <button>
    <input file>/usr/local/lib/X11/mini-icons/Pwireless.png</input>
    <action>/usr/sbin/pgprs-shell &</action>
    <action>exit</action>
   </button>
  </hbox>
"
 FLAGMTGPRS="<radiobutton><label>Подключение GPRS</label><variable>RADIOMTGPRS</variable><default>$DEFMTGPRS</default></radiobutton>"
#fi

#v2.12 removed...
#  <hbox>
#   <text>
#    <label>Подключиться к Internet через Wi-Fi...</label>
#   </text>
#   <button>
#    <input file>/usr/local/lib/X11/mini-icons/wizard16.xpm</input>
#    <action>/usr/sbin/wirelesswizard &</action>
#    <action>exit</action>
#   </button>
#  </hbox>

#   <button>
#    <input file>/usr/local/lib/X11/mini-icons/wizard16.xpm</input>
#    <action>/usr/sbin/modem-wizard</action>
#    <action>/usr/local/bin/gkdial &</action>
#    <action>exit</action>
#   </button>

#    <text>
#     <label>$SHOWIPSTATE</label>
#    </text>

#v411...
CHOOSEDEFAULT="<frame  Рабочий стол >
  <vbox>
  <text><label>При  нажатии кнопки 'Сети' на Рабочем столе запускать:</label></text>
   $FLAGGNOMEPPP
   <radiobutton><label>PupDial (аналоговый модем)</label><variable>RADIOPUPDIAL</variable><default>$DEFPUPDIAL</default></radiobutton>
   $FLAGPPPOECONF
   $FLAGROARINGPENGUIN
   $FLAGMTGPRS
   <radiobutton><label>Мастер подключения к Интернет</label><variable>RADIOICW</variable><default>$DEFICW</default></radiobutton>
  </vbox>
 </frame>"
[ $1 ] && CHOOSEDEFAULT=""

WizardWizard="
 <wtitle>Мастер подключения к Интернет</wtitle>
 <vbox>
 <frame  Текущие установки / состояние >
    <text><label>$MSGMODEM</label></text>
    <text><label>$MSGNETIFS</label></text>
 </frame>
 <frame Подключение к Интернет с помощью: >
  <hbox>
   <text>
    <label>- аналогового модема...</label>
   </text>
   <button>
    <input file>/usr/local/lib/X11/mini-icons/phone16.xpm</input>
    <action>/usr/sbin/pupdial &</action>
    <action>exit</action>
   </button>
  </hbox>
  <hbox>
   <text>
    <label>- локальной проводной (беспроводной) сети...</label>
   </text>
   <button>
    <input file>/usr/local/lib/X11/mini-icons/pc-2x.xpm</input>
    <action>/usr/sbin/net-setup.sh &</action>
    <action>exit</action>
   </button>
  </hbox>
  
  ${CONNECTMTGPRS}

  ${CONNECTPPPOECONF}
  
  ${CONNECTROARINGPENGUIN}

 </frame>
 <frame  Утилиты >
  <hbox>
   <text>
    <label>Настройка файрволла...</label>
   </text>
   <button>
    <input file>/usr/local/lib/X11/mini-icons/mini-firewall.xpm</input>
    <action>rxvt -e /usr/sbin/firewallinstallshell &</action>
    <action>exit</action>
   </button>
  </hbox>
 </frame>
 
 ${CHOOSEDEFAULT}
 
  <hbox>
   <button>
    <label>СПРАВКА</label>
    <action>/usr/local/apps/Connect/connect_help &</action>
   </button>
   <button>
    <label>ДОП. СПРАВКА</label>
    <action>/usr/local/bin/defaulthtmlviewer file:///usr/share/doc/HOWTO_Internet.htm &</action>
   </button>
   <button ok></button>
  </hbox>
 </vbox>
"

RETSTR="`echo "$WizardWizard" | gtkdialog2 --stdin`"
#gtkdialog --program=WizardWizard

[ $1 ] && exit #v411

RADIOBUT="`echo "$RETSTR" | grep '^RADIO' | grep '"true"' | cut -f 1 -d '='`"
[ "$RADIOBUT" = "RADIOGNOMEPPP" ] && echo -e '#!/bin/sh\nexec gnomepppshell' > /usr/local/bin/defaultconnect
[ "$RADIOBUT" = "RADIOPUPDIAL" ] && echo -e '#!/bin/sh\nexec pupdial' > /usr/local/bin/defaultconnect
[ "$RADIOBUT" = "RADIORPPPPOE" ] && echo -e '#!/bin/sh\nexec pppoe_gui' > /usr/local/bin/defaultconnect
[ "$RADIOBUT" = "RADIOMTGPRS" ] && echo -e '#!/bin/sh\nexec rxvt -title "pgprs-connect PRESS CTRL+C TO DISCONNECT" -e pgprs-connect' > /usr/local/bin/defaultconnect
[ "$RADIOBUT" = "RADIOICW" ] && echo -e '#!/bin/sh\nexec connectwizard' > /usr/local/bin/defaultconnect
[ "$RADIOBUT" = "RADIOPPPOECONF" ] && echo -e '#!/bin/sh\nexec pppoeconf' > /usr/local/bin/defaultconnect #v409

###end###
