my @phn = Phones->load($pcode);
Phones->show_all;
print $q->hidden("hide_phone", @phn);
####
Phones->get_param;
####
package Phones;
my @phones;
sub load {i -- Loads phone types and phone numbers for one individual from DB
my ($o,$pcode) = @_;
my $sel = "select pcode, typephone, phonenumber from phones where pcode = $pcode";
my $ph = main::do_sql ($sel);
my @phone;
while (my @fld = $ph->fetchrow_array( ) ) {
$fld[1] = $fld[1] || 'H';
push(@phone, \@fld);
}
my @dummy = ($pcode,'H','');
push(@phone, \@dummy);
foreach(@phone){
$obj = new($_);
push (@phones, $obj);
$obj->trace;
}
return @phones;
}
sub new{
my (@d) = @_;
my $Phone ={
"pid" => $d[0][0],
"o_typ" => $d[0][1],
"o_phn" => $d[0][2],
"n_typ" => $d[0][1],
"n_phn" => $d[0][2],
"trc" => 'new',
};
bless $Phone, 'Phones';
return $Phone; #return object reference
}
sub get_param{
my @phn = $q->param("hide_phone");
my $a;
foreach $a (@phn){
foreach($a){
foreach $obj ($_){
warn "$obj"; ----------line 934 -------------
foreach ($obj){
warn $_; ----- line 936
warn "$_->{'n_typ'}";
## $_->trace;
}
}
}
}
}
sub show{
my ($r) = $_[0];
my $phn = $r->{'o_phn'};
my $name = $r->{'o_phn'} || $r->{'pid'};
my $typ = "T$name";
my $def = PhoneTypes->translate($r->{'o_typ'});
my @val = split(':',PhoneTypes->list);
$r->{'trc'} = "show->name=$typ";
$r->trace;
print $q->popup_menu(
-name=>$typ,
-values=> \@val,
-default=>$def);
print $q->textfield(
-name=>$name,
-default=> $phn);
print $q->p;
}
sub show_all{
foreach(@phones){
$_->show;
}
}