Unlimited recurring events options for events calendar.

This commit is contained in:
JT Smith 2002-08-04 03:32:12 +00:00
parent e71c499142
commit 93d54c4529
3 changed files with 38 additions and 17 deletions

View file

@ -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)');

View file

@ -268,7 +268,7 @@ sub date {
$value = epochToSet($value);
$extras = shift;
$subtext = shift;
$size = shift || $session{setting}{textBoxSize} || 30;
$size = shift || 10;
$output = '<input type="text" name="'.$name.'" value="'.$value.'" size="'.
$size.'" maxlength="10" '.$extras.'>';
$output .= '<input type="button" style="font-size: 8pt;" onClick="window.dateField = this.form.'.
@ -644,7 +644,7 @@ sub integer {
$maxLength = shift || 11;
$extras = shift;
$subtext = shift;
$size = shift || $session{setting}{textBoxSize} || 30;
$size = shift || 11;
$output = '<script language="JavaScript">function doNumCheck(field) {
var valid = "0123456789"
var ok = "yes";

View file

@ -175,8 +175,8 @@ sub www_edit {
$output .= '<h1>'.WebGUI::International::get(12,$namespace).'</h1>';
$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('<tr><td class="formdescription" valign="top">'.WebGUI::International::get(8,$namespace).'</td><td class="tableData">');
$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;