This commit was generated by cvs2svn to compensate for changes in r11022,
[freeside.git] / httemplate / elements / select-month_year.html
1 %
2 %
3 %  my %opt = @_;
4 %
5 %  my $prefix = $opt{'prefix'} || '';
6 %  my $disabled = $opt{'disabled'} || '';
7 %  my $empty = $opt{'empty_option'} || '';
8 %  my $start_year = $opt{'start_year'};
9 %  my $end_year = $opt{'end_year'} || '2037';
10 %
11 %  my @mon;
12 %  if ( $opt{'show_month_abbr'} ) {
13 %    @mon = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
14 %  } else {
15 %    @mon = ( ( map "0$_", 1 .. 9 ), 10 .. 12 ), 
16 %  }
17 %
18 %  my $date = $opt{'selected_date'} || '';
19 %  $date = '' if $date eq '-';
20 %  #$date ||= '01-2000' unless $empty;
21 %
22 %  my $mon  = $opt{'selected_mon'}  || 0;
23 %  my $year = $opt{'selected_year'} || 0;
24 %  if ( $date ) {
25 %    if ( $date  =~ /^(\d{4})-(\d{1,2})-\d{1,2}$/ ) { #PostgreSQL date format
26 %      ( $mon, $year ) = ( $2, $1 );
27 %    } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) {
28 %      ( $mon, $year ) = ( $1, $3 );
29 %    } else {
30 %      die "unrecognized expiration date format: $date";
31 %    }
32 %  }
33 %
34 %  unless ( $start_year ) {
35 %    my @t = localtime;
36 %    $start_year = $t[5] + 1900;
37 %  }
38 %  $start_year = $year if $start_year > $year && $year > 0;
39 %
40 %
41
42
43 <SELECT NAME="<% $prefix %>_month" SIZE="1" <% $disabled%>>
44
45 <% $empty ? '<OPTION VALUE="">' : '' %>
46 % foreach ( 1 .. 12 ) { 
47
48    <OPTION<% $_ == $mon ? ' SELECTED' : '' %> VALUE="<% $_ %>"><% $mon[$_-1] %>
49 % } 
50
51
52 </SELECT>/<SELECT NAME="<% $prefix %>_year" SIZE="1" <% $disabled%>>
53
54 <% $empty ? '<OPTION VALUE="">' : '' %>
55 % for ( $start_year .. $end_year ) { 
56
57    <OPTION<% $_ == $year ? ' SELECTED' : '' %> VALUE="<% $_ %>"><% $_ %>
58 % } 
59
60
61 </SELECT>
62