&& (calNow.get(Calendar.YEAR) == year) ) {
// if we are within current week, adjust dayToday
dayToday = calNow.get(Calendar.DAY_OF_WEEK);
}
StringOutput inset = new StringOutput(1024);
int maxDayEvents = 0;
for (int day = 1; day <= days; day++) {
int dayOfWeekIter = cal.get(Calendar.DAY_OF_WEEK);
Date periodBegin = cal.getTime();
inset.append("<div class=\"o_cal_wv_dlday o_cal_wv_row");
inset.append(day);
if (dayOfWeekIter == dayToday) {
// current day
inset.append(" o_cal_wv_today");
} else if (dayOfWeekIter == Calendar.SATURDAY || dayOfWeekIter == Calendar.SUNDAY) {
// holiday
inset.append(" o_cal_wv_holiday");
}
if (day == days) {
// last day
inset.append(" o_cal_wv_lastday");
}
inset.append("\" style=\"height: 100%;\">");
cal.add(Calendar.DAY_OF_YEAR, 1);
Date periodEnd = cal.getTime();
// render daylong events
int maxDayEventsThisDay = 0;
for (Iterator iter = sortedAllDayEventsForWeek.iterator(); iter.hasNext();) {
KalendarEventRenderWrapper eventWrapper = (KalendarEventRenderWrapper) iter.next();
KalendarEvent event = eventWrapper.getEvent();
// skip if not within period
if (event.getEnd().compareTo(periodBegin) < 0 || event.getBegin().compareTo(periodEnd) >= 0) continue;
// increment count of number of dayevents
maxDayEventsThisDay++;
boolean hideSubject = eventWrapper.getCalendarAccess() == KalendarRenderWrapper.ACCESS_READ_ONLY && !eventWrapper.getKalendarRenderWrapper().isImported() && event.getClassification() != KalendarEvent.CLASS_PUBLIC;
String escapedSubject = Formatter.escWithBR(event.getSubject()).toString();
inset.append("<div class=\"o_cal_wv_devent_wrapper\">");
inset.append("<div class=\"o_cal_wv_devent ").append(eventWrapper.getKalendarRenderWrapper().getKalendarConfig().getCss()).append("\">");
inset.append("<div class=\"o_cal_wv_devent_content\">");
inset.append("<a href=\"");
ubu.buildURI(inset, new String[] {WeeklyCalendarComponent.ID_CMD, WeeklyCalendarComponent.ID_PARAM},
new String[] {WeeklyCalendarComponent.CMD_EDIT, event.getCalendar().getCalendarID() + WeeklyCalendarComponent.ID_PARAM_SEPARATOR + event.getID() + WeeklyCalendarComponent.ID_PARAM_SEPARATOR + event.getBegin().getTime()},
isIframePostEnabled ? AJAXFlags.MODE_TOBGIFRAME : AJAXFlags.MODE_NORMAL);
inset.append("\" ");
if (isIframePostEnabled) {
ubu.appendTarget(inset);
}
inset.append(" onclick=\"return o2cl();\">");
if (hideSubject) {
inset.append("<i>").append(translator.translate("cal.eventdetails.hidden")).append("</i>");
} else {
inset.append(escapedSubject);
}
inset.append("</a>");
// append any event links
if (!hideSubject) {
renderEventLinks(event, inset);
}
// closing devent_content
inset.append("</div>");
// render event tooltip content
renderEventTooltip(event, escapedSubject, hideSubject, inset, ubu, translator.getLocale());
// closing devent and devent_wrapper
inset.append("</div></div>");
} // events within day iterator
inset.append("</div>");
if (maxDayEventsThisDay > maxDayEvents) maxDayEvents = maxDayEventsThisDay;
} // day irterator
// do not render anything if we do not have any allday events
if (maxDayEvents == 0) return;