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[] {
};
}
- 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++) {
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]);
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) {