package CGI::Portal::Scripts::profile; # Copyright (c) 2008 Alexander David P. All rights reserved. # # Profile page use strict; use CGI::Portal::Scripts; use vars qw(@ISA $VERSION); $VERSION = "0.12"; @ISA = qw(CGI::Portal::Scripts); my $r; 1; sub launch { my $self = shift; # Authenticate $self->authenticate_user(); if ($self->{'user'}){ # Join user fields for SQL my $fields = join(',', @{$self->{'conf'}{'user_additional'}}); # Select users info $r = $self->{'rdb'}->exec("select $fields from $self->{'conf'}{'user_table'} where $self->{'conf'}{'user_user_field'}=" . $self->{'rdb'}->escape($self->{'user'}) . " limit 1")->fetch; # Assign template vars $self->CGI::Portal::Scripts::profile::input_html(); # Assign tmpl $self->assign_tmpl("profile.html"); } } # Assign templ vars sub input_html { my $self = shift; my @states = qw(Other AL AK AZ AR CA CO CT DC DE FL GA HI ID IL IN IA KS KY LA ME MD MA MI MN MS MO MT NE NV NH NJ NM NY NC ND OH OK OR PA RI SC SD TN TX UT VA VT WA WV WI WY); # Template vars for user fields my $c = 0; foreach my $f (@{$self->{'conf'}{'user_additional'}}) { my $value = $self->{'in'}{$f} || $r->[$c]; $self->{'tmpl_vars'}{$f} = $value; $c++; } # Default state my $state_input = $self->{'in'}{'state'} || $r->[5]; # HTML select for state my $state = ""; # Assign to template var state $self->{'tmpl_vars'}{'state'} = $state; }