]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/output/DateSelector.java
UPD: change date format to YYYY-MM-DD for consistence.
[gigi.git] / src / org / cacert / gigi / output / DateSelector.java
index 45697fe0cd2be63ad081d2074cc4e83a652a2fff..e4e66f6f4c4f92e316f2cf186f486e1830f45dff 100644 (file)
@@ -4,16 +4,27 @@ import java.io.PrintWriter;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Calendar;
+import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.Map;
+import java.util.TimeZone;
 
 import javax.servlet.http.HttpServletRequest;
 
-import org.cacert.gigi.Language;
+import org.cacert.gigi.localisation.Language;
 
 public class DateSelector implements Outputable {
 
-    String[] names;
+    private String[] names;
+
+    public DateSelector(String day, String month, String year, Date date) {
+        this(day, month, year);
+        Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTF"));
+        cal.setTime(date);
+        this.day = cal.get(Calendar.DAY_OF_MONTH);
+        this.month = cal.get(Calendar.MONTH);
+        this.year = cal.get(Calendar.YEAR);
+    }
 
     public DateSelector(String day, String month, String year) {
         this.names = new String[] {
@@ -21,15 +32,23 @@ public class DateSelector implements Outputable {
         };
     }
 
-    int day;
+    private int day;
 
-    int month;
+    private int month;
 
-    int year;
+    private int year;
 
     @Override
     public void output(PrintWriter out, Language l, Map<String, Object> vars) {
-        out.print("<nobr><select name=\"");
+        out.print("<nobr>");
+        outputYear(out);
+        outputMonth(out, l);
+        outputDay(out);
+        out.print("</nobr>");
+    }
+
+    private void outputDay(PrintWriter out) {
+        out.print("<select name=\"");
         out.print(names[0]);
         out.println("\">");
         for (int i = 1; i <= 31; i++) {
@@ -40,6 +59,9 @@ public class DateSelector implements Outputable {
             out.println(">" + i + "</option>");
         }
         out.println("</select>");
+    }
+
+    private void outputMonth(PrintWriter out, Language l) {
         SimpleDateFormat sdf = new SimpleDateFormat("MMMM", l.getLocale());
         out.print("<select name=\"");
         out.print(names[1]);
@@ -54,13 +76,16 @@ public class DateSelector implements Outputable {
             out.println(">" + sdf.format(c.getTime()) + " (" + i + ")</option>");
         }
         out.println("</select>");
+    }
+
+    private void outputYear(PrintWriter out) {
         out.print("<input type=\"text\" name=\"");
         out.print(names[2]);
         out.print("\" value=\"");
         if (year != 0) {
             out.print(year);
         }
-        out.print("\" size=\"4\" autocomplete=\"off\"></nobr>");
+        out.print("\" size=\"4\" autocomplete=\"off\">");
     }
 
     public void update(HttpServletRequest r) {