#!/usr/local/bin/perl # edit.cgi # Display settings for some dialer require './ppp-client-lib.pl'; &ReadParse(); $conf = &get_config(); if ($in{'new'}) { &ui_print_header(undef, $text{'edit_title1'}, ""); } else { &ui_print_header(undef, $text{'edit_title2'}, ""); $dialer = $conf->[$in{'idx'}]; } ($ddialer) = grep { lc($_->{'name'}) eq 'dialer defaults' } @$conf; if ($inherits = $dialer->{'values'}->{'inherits'}) { ($parent) = grep { lc($_->{'name'}) eq lc($inherits) } @$conf; } if (lc($dialer->{'name'}) eq 'dialer defaults') { print "$text{'edit_ddesc'}

\n"; } print "

\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'edit_header'}
\n"; print "\n"; print &opt_input("Phone", $text{'edit_phone'}, 20); print "\n"; print "\n"; print &opt_input("Username", $text{'edit_user'}, 20); print &opt_input("Password", $text{'edit_pass'}, 20, "type=password"); print "\n"; print "\n"; print &opt_input("Dial Prefix", $text{'edit_prefix'}, 10); print &yes_no_input("Stupid Mode", $text{'edit_stupid'}, 0); print "\n"; print "\n"; print "\n"; # Modem options print "\n"; $modem = $dialer->{'values'}->{'modem'}; $dm = &get_default("Modem"); local $found = !$modem || $modem eq "/dev/modem"; print "\n"; print "\n", $found ? "" : $modem; print &opt_input("Baud", $text{'edit_baud'}, 6); print "\n"; print "\n"; print "\n"; print &yes_no_input("Carrier Check", $text{'edit_carrier'}, 1); print &yes_no_input("Abort on Busy", $text{'edit_busy'}, 0); print "\n"; print "\n"; print &opt_input("Dial Attempts", $text{'edit_dial'}, 4); print &yes_no_input("Abort on No Dialtone", $text{'edit_dialtone'}, 1); print "\n"; # Networking options print "\n"; print "\n"; print &yes_no_input("Auto DNS", $text{'edit_dns'}, 1); print &yes_no_input("Auto Reconnect", $text{'edit_reconnect'}, 1); print "\n"; print "\n"; print &opt_input("Idle Seconds", $text{'edit_idle'}, 6); print "\n"; print "
$text{'edit_name'} \n"; if (lc($dialer->{'name'}) eq 'dialer defaults') { # Don't allow renaming of the defaults print $text{'index_defaults'}; $defs++; } elsif ($dialer->{'name'} =~ /^Dialer\s+(.*)$/ || $in{'new'}) { # Some normal dialer name print "\n"; } else { # Some other oddly-named section print "\n"; } print "
$text{'edit_other'} \n"; for($i=1; $i<=4; $i++) { printf "\n", $i, $dialer->{'values'}->{'phone'.$i}; } print "
$text{'edit_inherits'} \n"; printf " %s\n", $inherits ? "" : "checked", $text{'edit_def'}; printf " %s\n", $inherits ? "checked" : "", $text{'edit_from'}; print "

$text{'edit_serial'}\n"; printf "
$text{'edit_init'} \n"; for($i=1; $i<=9; $i++) { printf "\n", $i, $dialer->{'values'}->{"init".$i}; print "
\n" if (($i-1)%3 == 2); } print "

\n"; print "\n"; if ($in{'new'}) { print "\n"; } else { print "\n"; print "\n"; } print "
\n"; &ui_print_footer("", $text{'index_return'}); # opt_input(name, text, size, inputopts) sub opt_input { local $n = lc($_[0]); local $v = $dialer->{'values'}->{$n}; local $rv = "$_[1] \n"; $rv .= sprintf " %s\n", defined($v) ? "" : "checked", $defs ? $text{'edit_none'} : $text{'default'}; $rv .= sprintf "\n", defined($v) ? "checked" : ""; $rv .= sprintf "\n", $v; return $rv; } # yes_no_input(name, text, defmode) sub yes_no_input { local $n = lc($_[0]); local $val = $dialer->{'values'}->{$n}; local $dval = &get_default($_[0]); local $d = $dval =~ /on|yes|1/i ? $text{'edit_yd'} : $dval =~ /off|no|0/i ? $text{'edit_nd'} : $_[2] ? $text{'edit_yd'} : $text{'edit_nd'}; local $rv = "$_[1] \n"; $rv .= sprintf " %s\n", $val =~ /on|yes|1/i ? "checked" : "", $text{'yes'}; $rv .= sprintf " %s\n", $val =~ /off|no|0/i ? "checked" : "", $text{'no'}; $rv .= sprintf " %s\n", $val ? "" : "checked", $d; return $rv; } # get_default(name) sub get_default { return undef if ($defs); if ($parent) { local $pv = $parent->{'values'}->{lc($_[0])}; return $pv if (defined($pv)); } return $ddialer->{'values'}->{lc($_[0])}; }