diff --git a/docs/upgrades/upgrade_4.4.1-4.5.0.sql b/docs/upgrades/upgrade_4.4.1-4.5.0.sql index c1d36eab0..ccb70941f 100644 --- a/docs/upgrades/upgrade_4.4.1-4.5.0.sql +++ b/docs/upgrades/upgrade_4.4.1-4.5.0.sql @@ -7,6 +7,20 @@ insert into international values (699,"WebGUI",1,"First Day Of Week"); update international set message='Calendar Month' where internationalId=18 and namespace='EventsCalendar'; insert into international values (74,'EventsCalendar',1,'Calendar Month (Small)'); update EventsCalendar set calendarLayout='calendarMonth' where calendarLayout='calendar'; +insert into international values (75,'EventsCalendar',1,'Month'); +insert into international values (76,'EventsCalendar',1,'Year'); +update international set internationalId=700, namespace='WebGUI' where internationalId='5' and namespace='EventsCalendar'; +update international set internationalId=701, namespace='WebGUI' where internationalId='6' and namespace='EventsCalendar'; +update international set internationalId=702, namespace='WebGUI' where internationalId='75' and namespace='EventsCalendar'; +update international set internationalId=703, namespace='WebGUI' where internationalId='76' and namespace='EventsCalendar'; +update international set message='Day(s)' where internationalId=700 and languageId=1; +update international set message='Week(s)' where internationalId=701 and languageId=1; +update international set message='Month(s)' where internationalId=702 and languageId=1; +update international set message='Year(s)' where internationalId=703 and languageId=1; +insert into international values (704,'WebGUI',1,'Second(s)'); +insert into international values (705,'WebGUI',1,'Minute(s)'); +insert into international values (706,'WebGUI',1,'Hours(s)'); + diff --git a/lib/WebGUI/HTMLForm.pm b/lib/WebGUI/HTMLForm.pm index 60f1165a7..82c23815d 100644 --- a/lib/WebGUI/HTMLForm.pm +++ b/lib/WebGUI/HTMLForm.pm @@ -268,7 +268,7 @@ sub date { $value = epochToSet($value); $extras = shift; $subtext = shift; - $size = shift || $session{setting}{textBoxSize} || 30; + $size = shift || 10; $output = ''; $output .= 'function doNumCheck(field) { var valid = "0123456789" var ok = "yes"; diff --git a/lib/WebGUI/Wobject/EventsCalendar.pm b/lib/WebGUI/Wobject/EventsCalendar.pm index c8c5afaa9..c44e9d62d 100644 --- a/lib/WebGUI/Wobject/EventsCalendar.pm +++ b/lib/WebGUI/Wobject/EventsCalendar.pm @@ -175,8 +175,8 @@ sub www_edit { $output .= '

'.WebGUI::International::get(12,$namespace).'

'; $f = WebGUI::HTMLForm->new; %hash = (list => WebGUI::International::get(17,$namespace), - calendarMonth => WebGUI::International::get(18,$namespace), - calendarMonthSmall => WebGUI::International::get(74,$namespace)); + calendarMonth => WebGUI::International::get(18,$namespace)); + # calendarMonthSmall => WebGUI::International::get(74,$namespace)); $f->select("calendarLayout",\%hash,WebGUI::International::get(16,$namespace),[$_[0]->get("calendarLayout")]); $f->integer("paginateAfter",WebGUI::International::get(19,$namespace),$paginateAfter); $f->yesNo("proceed",WebGUI::International::get(21,$namespace),$proceed); @@ -214,12 +214,15 @@ sub www_editEvent { if (WebGUI::Privilege::canEditPage()) { if ($session{form}{eid} eq "new") { %recursEvery = ('never'=>WebGUI::International::get(4,$namespace), - 'day'=>WebGUI::International::get(5,$namespace), - 'week'=>WebGUI::International::get(6,$namespace) + 'day'=>WebGUI::International::get(700), + 'week'=>WebGUI::International::get(701), + 'month'=>WebGUI::International::get(702), + 'year'=>WebGUI::International::get(703) ); $event{endDate} = $event{endDate}; $f = WebGUI::HTMLForm->new(1); $f->raw(''.WebGUI::International::get(8,$namespace).''); + $f->integer("interval","",1,"","","",3); $f->select("recursEvery",\%recursEvery); $f->raw(' '.WebGUI::International::get(9,$namespace).' '); $f->date("until"); @@ -263,23 +266,27 @@ sub www_editEventSave { $endDate[0] = setToEpoch($session{form}{endDate}); $until = setToEpoch($session{form}{until}); $eventId[0] = getNextId("eventId"); + $session{form}{interval} = 1 if ($session{form}{interval} < 1); if ($session{form}{recursEvery} eq "never") { $recurringEventId = 0; - } elsif ($session{form}{recursEvery} eq "day") { + } else { $recurringEventId = getNextId("recurringEventId"); while ($startDate[$i] < $until) { $i++; $eventId[$i] = getNextId("eventId"); - $startDate[$i] = $startDate[0] + (86400 * $i); - $endDate[$i] = $endDate[0] + (86400 * $i); - } - } elsif ($session{form}{recursEvery} eq "week") { - $recurringEventId = getNextId("recurringEventId"); - while ($startDate[$i] < $until) { - $i++; - $eventId[$i] = getNextId("eventId"); - $startDate[$i] = $startDate[0] + (604800 * $i); - $endDate[$i] = $endDate[0] + (604800 * $i); + if ($session{form}{recursEvery} eq "day") { + $startDate[$i] = addToDate($startDate[0],0,0,($i*$session{form}{interval})); + $endDate[$i] = addToDate($endDate[0],0,0,($i*$session{form}{interval})); + } elsif ($session{form}{recursEvery} eq "week") { + $startDate[$i] = addToDate($startDate[0],0,0,(7*$i*$session{form}{interval})); + $endDate[$i] = addToDate($endDate[0],0,0,(7*$i*$session{form}{interval})); + } elsif ($session{form}{recursEvery} eq "month") { + $startDate[$i] = addToDate($startDate[0],0,($i*$session{form}{interval}),0); + $endDate[$i] = addToDate($endDate[0],0,($i*$session{form}{interval}),0); + } elsif ($session{form}{recursEvery} eq "year") { + $startDate[$i] = addToDate($startDate[0],($i*$session{form}{interval}),0,0); + $endDate[$i] = addToDate($endDate[0],($i*$session{form}{interval}),0,0); + } } } $i = 0;