Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / httemplate / elements / input-date-field.html
1 % if(!$noinit) {
2 <LINK REL="stylesheet" TYPE="text/css" HREF="<%$fsurl%>elements/calendar-win2k-2.css" TITLE="win2k-2">
3 <SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar_stripped.js"></SCRIPT>
4 <SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar-en.js"></SCRIPT>
5 <SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar-setup.js"></SCRIPT>
6 % }
7
8 <INPUT TYPE="text" NAME="<% $name %>" ID="<% $name %>_text" VALUE="<% $value %>">
9 <IMG SRC="<%$fsurl%>images/calendar.png" ID="<% $name  %>_button" STYLE="cursor: pointer" TITLE="<% mt('Select date') |h %>"><IMG SRC="<%$fsurl%>images/calendar-disabled.png" ID="<% $name %>_disabled" STYLE="display:none">
10
11 <SCRIPT TYPE="text/javascript">
12   Calendar.setup({
13     inputField: "<% $name %>_text",
14     ifFormat:   "<% $format %>",
15     button:     "<% $name %>_button",
16     align:      "BR"
17 %   if ( $format =~ /\%r/ ) {
18       ,
19       showsTime: true,
20       timeFormat: 12
21 %   }
22   });
23 </SCRIPT>
24
25 <%init>
26
27 my($name, $value, $format, $usedatetime, $noinit);
28 if ( ref($_[0]) ) {
29   my $opt = shift;
30   $name        = $opt->{'name'};
31   $value       = $opt->{'value'};
32   $format      = $opt->{'format'};
33   $usedatetime = $opt->{'usedatetime'};
34   $noinit      = $opt->{'noinit'};
35 } else {
36   ($name, $value, $format, $usedatetime) = @_;
37 }
38
39 my $conf = new FS::Conf;
40
41 $format ||= $conf->config('date_format') || '%m/%d/%Y';
42
43 if ( $value =~ /\S/ ) {
44   if ( $usedatetime ) {
45     my $dt = DateTime->from_epoch(epoch => $value, time_zone => 'floating');
46     $value = $dt->strftime($format);
47   } elsif ( $value =~ /^\d+$/ ) {
48     $value = time2str($format, $value);
49   }
50 } else {
51   $value = '';
52 }
53
54 </%init>
55