','EventsCalendar/Event');
diff --git a/lib/WebGUI/DateTime.pm b/lib/WebGUI/DateTime.pm
index 80d56153d..f1ecbc0c1 100644
--- a/lib/WebGUI/DateTime.pm
+++ b/lib/WebGUI/DateTime.pm
@@ -399,6 +399,32 @@ sub localtime {
return Date::Calc::Localtime($_[0]);
}
+#-------------------------------------------------------------------
+=head2 monthCount ( startEpoch, endEpoch )
+
+ Returns the number of months between the start and end dates
+ (inclusive).
+
+=item startEpoch
+
+ An epoch datestamp corresponding to the first month.
+
+=item endEpoch
+
+ An epoch datestamp corresponding to the last month.
+
+=cut
+
+sub monthCount {
+ my ($start, $end) = @_;
+ my $count = 1;
+ while (addToDate($start,0,$count,0) < $end) {
+ $count++;
+ }
+ return $count;
+}
+
+
#-------------------------------------------------------------------
=head2 monthStartEnd ( epoch )
diff --git a/lib/WebGUI/HTMLForm.pm b/lib/WebGUI/HTMLForm.pm
index ffe51c507..5b029cc4a 100644
--- a/lib/WebGUI/HTMLForm.pm
+++ b/lib/WebGUI/HTMLForm.pm
@@ -56,6 +56,7 @@ use WebGUI::SQL;
$f->text("firstName", "First Name");
$f->textarea("emailMessage","Email Message");
$f->url("homepage","Home Page");
+ $f->whatNext(\%options);
$f->yesNo("happy","Are you happy?");
$f->zipcode("workZip","Office Zip Code");
@@ -1775,7 +1776,7 @@ sub url {
#-------------------------------------------------------------------
-=head2 whatNext ( hashRef ] )
+=head2 whatNext ( options [, value, name, label, subtext, uiLevel, extras ] )
Adds a "What next?" select list to this form for use with chained
action forms in WebGUI.
diff --git a/lib/WebGUI/Paginator.pm b/lib/WebGUI/Paginator.pm
index 24151b252..ba3708c6c 100644
--- a/lib/WebGUI/Paginator.pm
+++ b/lib/WebGUI/Paginator.pm
@@ -337,7 +337,7 @@ sub getPageData {
=cut
sub getPageNumber {
- return $_[0]->{_pn} || 1;
+ return $_[0]->{_pn};
}
#-------------------------------------------------------------------
@@ -429,12 +429,12 @@ sub getPreviousPageLink {
sub new {
my ($class, $currentURL, $rowsPerPage, $rowRef, $formVar, $pageRef, $pn);
- $class = shift;
- $currentURL = shift;
- $rowRef = shift;
- $rowsPerPage = shift || 25;
- $pn = shift || $session{form}{$formVar};
- $formVar = shift || "pn";
+ $class = $_[0];
+ $currentURL = $_[1];
+ $rowRef = $_[2];
+ $rowsPerPage = $_[3] || 25;
+ $formVar = $_[5] || "pn";
+ $pn = $_[4] || $session{form}{$formVar} || 1;
bless {_url => $currentURL, _rpp => $rowsPerPage, _rowRef => $rowRef, _formVar => $formVar, _pn => $pn}, $class;
}
diff --git a/lib/WebGUI/Template.pm b/lib/WebGUI/Template.pm
index ffde8ae0c..5e7747d12 100644
--- a/lib/WebGUI/Template.pm
+++ b/lib/WebGUI/Template.pm
@@ -95,7 +95,7 @@ sub process {
#$value = '{'.join(', ',map {"$_ => $value->{$_}"} keys %$value).'}';
}
unless (lc($key) eq "password" || lc($key) eq "identifier") {
- $t->param($section.".".$key=>$value);
+ $t->param("session.".$section.".".$key=>$value);
}
}
}
diff --git a/lib/WebGUI/Wobject/EventsCalendar.pm b/lib/WebGUI/Wobject/EventsCalendar.pm
index d0ad042cb..415554225 100644
--- a/lib/WebGUI/Wobject/EventsCalendar.pm
+++ b/lib/WebGUI/Wobject/EventsCalendar.pm
@@ -21,6 +21,7 @@ use WebGUI::Paginator;
use WebGUI::Privilege;
use WebGUI::Session;
use WebGUI::SQL;
+use WebGUI::Template;
use WebGUI::URL;
use WebGUI::Utility;
use WebGUI::Wobject;
@@ -30,7 +31,7 @@ our $namespace = "EventsCalendar";
our $name = WebGUI::International::get(2,$namespace);
#-------------------------------------------------------------------
-sub _calendarLayout {
+sub _drawBigCalendar {
my ($thisMonth, $calendar, $message, $start, $end, $sth, %event, $nextDate);
tie %event, 'Tie::CPHash';
$thisMonth = epochToHuman($_[1],"%M %y");
@@ -80,7 +81,59 @@ sub _calendarLayout {
}
}
$sth->finish;
- return ''.$calendar->as_HTML;
+ return $calendar->as_HTML;
+}
+
+#-------------------------------------------------------------------
+sub _drawSmallCalendar {
+ my ($thisMonth, $calendar, $message, $start, $end, $sth, %event, $nextDate);
+ tie %event, 'Tie::CPHash';
+ $thisMonth = epochToHuman($_[1],"%M %y");
+ $calendar = new HTML::CalendarMonthSimple('year'=>epochToHuman($_[1],"%y"),'month'=>epochToHuman($_[1],"%M"));
+ $calendar->width(200);
+ $calendar->border(0);
+ $calendar->cellclass("tableData");
+ $calendar->todaycellclass("tableHeader");
+ $calendar->headerclass("tableHeader");
+ $calendar->mondayisfirstday($session{user}{firstDayOfWeek});
+ $calendar->sunday(substr(WebGUI::International::get(27),0,1));
+ #$calendar->showweekdayheaders(0);
+ $calendar->weekdays(
+ substr(WebGUI::International::get(28),0,1),
+ substr(WebGUI::International::get(29),0,1),
+ substr(WebGUI::International::get(30),0,1),
+ substr(WebGUI::International::get(31),0,1),
+ substr(WebGUI::International::get(32),0,1)
+ );
+ $calendar->saturday(substr(WebGUI::International::get(33),0,1));
+ $calendar->monthname(WebGUI::DateTime::getMonthName($calendar->month));
+ $calendar->header(''.$calendar->monthname.' '.$calendar->year.'');
+ ($start,$end) = monthStartEnd($_[1]);
+ $sth = WebGUI::SQL->read("select * from EventsCalendar_event where wobjectId="
+ .$_[0]->get("wobjectId")." order by startDate,endDate");
+ while (%event = $sth->hash) {
+ if (epochToHuman($event{startDate},"%M %y") eq $thisMonth || epochToHuman($event{endDate},"%M %y") eq $thisMonth) {
+ if ($event{startDate} == $event{endDate}) {
+ $calendar->setdatehref(epochToHuman($event{startDate},"%D"),
+ WebGUI::URL::page('wid='.$_[0]->get("wobjectId")
+ .'&func=viewEvent&eid='.$event{EventsCalendar_eventId}));
+ #$calendar->datecellclass(epochToHuman($nextDate,"%D"),"highlight");
+ } else {
+ $nextDate = $event{startDate};
+ while($nextDate <= $event{endDate}) {
+ if (epochToHuman($nextDate,"%M %y") eq $thisMonth) {
+ $calendar->setdatehref(epochToHuman($nextDate,"%D"),
+ WebGUI::URL::page('wid='.$_[0]->get("wobjectId")
+ .'&func=viewEvent&eid='.$event{EventsCalendar_eventId}));
+ #$calendar->datecellclass(epochToHuman($nextDate,"%D"),"highlight");
+ }
+ $nextDate = addToDate($nextDate,0,0,1);
+ }
+ }
+ }
+ }
+ $sth->finish;
+ return $calendar->as_HTML;
}
#-------------------------------------------------------------------
@@ -89,7 +142,11 @@ sub duplicate {
$w = $_[0]->SUPER::duplicate($_[1]);
$w = WebGUI::Wobject::EventsCalendar->new({wobjectId=>$w,namespace=>$namespace});
$w->set({
- calendarLayout=>$_[0]->get("calendarLayout"),
+ templateId=>$_[0]->get("templateId"),
+ eventTemplateId=>$_[0]->get("eventTemplateId"),
+ startMonth=>$_[0]->get("startMonth"),
+ endMonth=>$_[0]->get("endMonth"),
+ defaultMonth=>$_[0]->get("defaultMonth"),
paginateAfter=>$_[0]->get("paginateAfter")
});
$sth = WebGUI::SQL->read("select * from EventsCalendar_event where wobjectId="
@@ -114,7 +171,7 @@ sub purge {
#-------------------------------------------------------------------
sub set {
- $_[0]->SUPER::set($_[1],[qw(calendarLayout paginateAfter)]);
+ $_[0]->SUPER::set($_[1],[qw(templateId eventTemplateId startMonth endMonth defaultMonth paginateAfter)]);
}
#-------------------------------------------------------------------
@@ -148,21 +205,70 @@ sub www_deleteEventConfirm {
#-------------------------------------------------------------------
sub www_edit {
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditPage());
- my ($output, %hash, $f, $paginateAfter, $proceed);
- tie %hash, 'Tie::IxHash';
- if ($_[0]->get("wobjectId") eq "new") {
- $proceed = 1;
- }
+ my ($output, $startMonth, $endMonth, $afterEdit, $defaultMonth, $f, $paginateAfter);
$paginateAfter = $_[0]->get("paginateAfter") || 50;
+ $startMonth = $_[0]->get("startMonth") || "current";
+ $endMonth = $_[0]->get("endMonth") || "after12";
+ $defaultMonth = $_[0]->get("defaultMonth") || "current";
+ $afterEdit = 'func=edit&wid='.$_[0]->get("wobjectId") if ($_[0]->get("wobjectId") ne "new");
$output = helpIcon(1,$namespace);
$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));
- $f->select("calendarLayout",\%hash,WebGUI::International::get(16,$namespace),[$_[0]->get("calendarLayout")]);
+ $f->template(
+ -name=>"templateId",
+ -value=>$_[0]->get("templateId"),
+ -namespace=>$namespace,
+ -label=>WebGUI::International::get(79,$namespace),
+ -afterEdit=>$afterEdit
+ );
+ $f->template(
+ -name=>"eventTemplateId",
+ -value=>$_[0]->get("eventTemplateId"),
+ -namespace=>$namespace."/Event",
+ -label=>WebGUI::International::get(80,$namespace),
+ -afterEdit=>$afterEdit
+ );
+ $f->select(
+ -name=>"startMonth",
+ -options=>{
+ "current"=>WebGUI::International::get(82,$namespace),
+ "first"=>WebGUI::International::get(83,$namespace)
+ },
+ -label=>WebGUI::International::get(81,$namespace),
+ -value=>[$startMonth]
+ );
+ $f->select(
+ -name=>"endMonth",
+ -options=>{
+ "last"=>WebGUI::International::get(85,$namespace),
+ "after12"=>WebGUI::International::get(86,$namespace),
+ "after9"=>WebGUI::International::get(87,$namespace),
+ "after6"=>WebGUI::International::get(88,$namespace),
+ "after3"=>WebGUI::International::get(89,$namespace),
+ "current"=>WebGUI::International::get(82,$namespace),
+ },
+ -label=>WebGUI::International::get(84,$namespace),
+ -value=>[$endMonth]
+ );
+ $f->select(
+ -name=>"defaultMonth",
+ -options=>{
+ "current"=>WebGUI::International::get(82,$namespace),
+ "last"=>WebGUI::International::get(85,$namespace),
+ "first"=>WebGUI::International::get(83,$namespace)
+ },
+ -label=>WebGUI::International::get(90,$namespace),
+ -value=>[$defaultMonth]
+ );
$f->integer("paginateAfter",WebGUI::International::get(19,$namespace),$paginateAfter);
- $f->yesNo("proceed",WebGUI::International::get(21,$namespace),$proceed);
+ if ($_[0]->get("wobjectId") eq "new") {
+ $f->whatNext(
+ -options=>{
+ addEvent=>WebGUI::International::get(91,$namespace),
+ backToPage=>WebGUI::International::get(745)
+ }
+ );
+ }
$output .= $_[0]->SUPER::www_edit($f->printRowsOnly);
return $output;
}
@@ -171,7 +277,11 @@ sub www_edit {
sub www_editSave {
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditPage());
$_[0]->SUPER::www_editSave({
- calendarLayout=>$session{form}{calendarLayout},
+ templateId=>$session{form}{templateId},
+ eventTemplateId=>$session{form}{eventTemplateId},
+ startMonth=>$session{form}{startMonth},
+ endMonth=>$session{form}{endMonth},
+ defaultMonth=>$session{form}{defaultMonth},
paginateAfter=>$session{form}{paginateAfter}
});
if ($session{form}{proceed}) {
@@ -220,7 +330,12 @@ sub www_editEvent {
$f->HTMLArea("description",WebGUI::International::get(85),$event{description});
$f->date("startDate",WebGUI::International::get(14,$namespace),$event{startDate},
'onBlur="this.form.endDate.value=this.form.startDate.value;this.form.until.value=this.form.startDate.value;"');
- $f->date("endDate",WebGUI::International::get(15,$namespace),$event{endDate});
+ $f->date(
+ -name=>"endDate",
+ -label=>WebGUI::International::get(15,$namespace),
+ -value=>$event{endDate},
+ -extras=>'onBlur="this.form.until.value=this.form.endDate.value;"'
+ );
$f->raw($special);
$f->yesNo("proceed",WebGUI::International::get(21,$namespace));
$f->submit;
@@ -285,104 +400,138 @@ sub www_editEventSave {
#-------------------------------------------------------------------
sub www_view {
- my (%event, $p, $output, $sth, $flag, %previous, $junk, @row, $i, $maxDate, $minDate, $nextDate, $first, $last);
- tie %event, 'Tie::CPHash';
+ my (%var, $sameDate, $p, @list, $date, $flag, %previous, @row, $i, $maxDate, $minDate);
tie %previous, 'Tie::CPHash';
- $output = $_[0]->displayTitle;
- $output .= $_[0]->description;
- if ($session{var}{adminOn}) {
- $output .= ''
- .WebGUI::International::get(20,$namespace).'
';
+ $var{"addevent.url"} = WebGUI::URL::page('func=editEvent&eid=new&wid='.$_[0]->get("wobjectId"));
+ $var{"addevent.label"} = WebGUI::International::get(20,$namespace);
+ if ($_[0]->get("startMonth") eq "first") {
+ ($minDate) = WebGUI::SQL->quickArray("select min(startDate) from EventsCalendar_event
+ where wobjectId=".$_[0]->get("wobjectId"));
}
- ($minDate) = WebGUI::SQL->quickArray("select min(startDate) from EventsCalendar_event where wobjectId=".$_[0]->get("wobjectId"));
- ($maxDate) = WebGUI::SQL->quickArray("select max(endDate) from EventsCalendar_event where wobjectId=".$_[0]->get("wobjectId"));
- ($junk, $maxDate) = WebGUI::DateTime::monthStartEnd($maxDate);
- unless ($minDate && $maxDate) {
- $minDate = time();
- $maxDate = time()+86400;
+ $minDate = $minDate || time();
+ if ($_[0]->get("endMonth") eq "last") {
+ ($maxDate) = WebGUI::SQL->quickArray("select max(endDate) from EventsCalendar_event where
+ wobjectId=".$_[0]->get("wobjectId"));
+ } elsif ($_[0]->get("endMonth") eq "after12") {
+ $maxDate = WebGUI::DateTime::addToDate($minDate,0,12,0);
+ } elsif ($_[0]->get("endMonth") eq "after9") {
+ $maxDate = WebGUI::DateTime::addToDate($minDate,0,9,0);
+ } elsif ($_[0]->get("endMonth") eq "after6") {
+ $maxDate = WebGUI::DateTime::addToDate($minDate,0,6,0);
+ } elsif ($_[0]->get("endMonth") eq "after3") {
+ $maxDate = WebGUI::DateTime::addToDate($minDate,0,3,0);
}
- if ($_[0]->get("calendarLayout") eq "calendarMonth") {
- $nextDate = $minDate;
- while ($nextDate <= $maxDate) {
- $row[$i] = _calendarLayout($_[0],$nextDate);
- ($first,$last) = WebGUI::DateTime::monthStartEnd($nextDate);
- if ($session{form}{pn} eq "" && $first <= time() && $last >= time()) {
- $session{form}{pn} = $i+1;
- }
- $i++;
- $nextDate = addToDate($nextDate,0,1,0);
+ $maxDate = $maxDate || time();
+ my $monthCount = WebGUI::DateTime::monthCount($minDate,$maxDate);
+ unless ($session{form}{pn}) {
+ $flag = 1;
+ if ($_[0]->get("defaultMonth") eq "current") {
+ $session{form}{pn} = WebGUI::DateTime::monthCount($minDate,time());
+ } elsif ($_[0]->get("defaultMonth") eq "last") {
+ $session{form}{pn} = WebGUI::DateTime::monthCount($minDate,$maxDate);
+ } else {
+ $session{form}{pn} = 1;
}
- $p = WebGUI::Paginator->new(WebGUI::URL::page(),\@row,1);
- $output .= $p->getBar($session{form}{pn}).
- $p->getPage($session{form}{pn}).
- $p->getBarTraditional($session{form}{pn});
+ }
+ for ($i=0;$i<$monthCount;$i++) {
+ if ($session{form}{pn} == ($i+1)) {
+ my $thisMonth = WebGUI::DateTime::addToDate($minDate,0,($i),0);
+ $var{bigCalendar} = $_[0]->_drawBigCalendar($thisMonth);
+ $var{smallCalendar} = $_[0]->_drawSmallCalendar($thisMonth);
+ }
+ $row[$i] = "page";
+ }
+ $p = WebGUI::Paginator->new("func=view&wid=".$_[0]->get("wobjectId"),\@row,1);
+ $var{"calendar.firstPage"} = $p->getFirstPageLink;
+ $var{"calendar.lastPage"} = $p->getLastPageLink;
+ $var{"calendar.nextPage"} = $p->getNextPageLink;
+ $var{"calendar.pageList"} = $p->getPageLinks;
+ $var{"calendar.previousPage"} = $p->getPreviousPageLink;
+ $var{"calendar.multiplePages"} = ($p->getNumberOfPages > 1);
+ if ($flag) {
+ $flag = 0;
$session{form}{pn} = "";
- } else {
- $sth = WebGUI::SQL->read("select * from EventsCalendar_event
- where wobjectId=".$_[0]->get("wobjectId")." and endDate>".(time()-86400)." order by startDate,endDate");
- while (%event = $sth->hash) {
- unless ($event{startDate} == $previous{startDate}
- && $event{endDate} == $previous{endDate}) {
- $row[$i] = "".epochToHuman($event{startDate},"%c %D");
- if (epochToHuman($event{startDate},"%y") ne epochToHuman($event{endDate},"%y")) {
- $row[$i] .= ", ".epochToHuman($event{startDate},"%y");
- $flag = 1;
- }
- if ($flag || epochToHuman($event{startDate},"%c") ne epochToHuman($event{endDate},"%c")) {
- $row[$i] .= " - ".epochToHuman($event{endDate},"%c %D");
- } elsif (epochToHuman($event{startDate},"%D") ne epochToHuman($event{endDate},"%D")) {
- $row[$i] .= " - ".epochToHuman($event{endDate},"%D");
- }
- $flag = 0;
- $row[$i] .= ", ".epochToHuman($event{endDate},"%y");
- $row[$i] .= "";
- $row[$i] .= "
";
- }
- %previous = %event;
- if ($session{var}{adminOn}) {
- $row[$i] .= deleteIcon('func=deleteEvent&wid='.$_[0]->get("wobjectId").'&eid='.$event{EventsCalendar_eventId}
- .'&rid='.$event{EventsCalendar_recurringEventId})
- .editIcon('func=editEvent&wid='.$_[0]->get("wobjectId").'&eid='.$event{EventsCalendar_eventId})
- .' ';
- }
- $row[$i] .= ''.$event{name}.'';
- if ($event{description} ne "") {
- $row[$i] .= ' - ';
- $row[$i] .= ''.$event{description};
- }
- $row[$i] .= '
';
- $i++;
- }
- $sth->finish;
- $p = WebGUI::Paginator->new(WebGUI::URL::page(),\@row,$_[0]->get("paginateAfter"));
- $output .= $p->getPage($session{form}{pn}).$p->getBarSimple($session{form}{pn});
}
- return $_[0]->processMacros($output);
+ $p = WebGUI::Paginator->new("func=view&wid=".$_[0]->get("wobjectId"),[],$_[0]->get("paginateAfter"));
+ $p->setDataByQuery("select * from EventsCalendar_event where wobjectId=".$_[0]->get("wobjectId")
+ ." and endDate>=$minDate and startDate<=$maxDate order by startDate,endDate");
+ my $events = $p->getPageData;
+ foreach my $event (@$events) {
+ if ($event->{startDate} == $previous{startDate} && $event->{endDate} == $previous{endDate}) {
+ $sameDate = 1;
+ } else {
+ $sameDate = 0;
+ }
+ $date = epochToHuman($event->{startDate},"%c %D");
+ if (epochToHuman($event->{startDate},"%y") ne epochToHuman($event->{endDate},"%y")) {
+ $date .= ", ".epochToHuman($event->{startDate},"%y");
+ $flag = 1;
+ }
+ if ($flag || epochToHuman($event->{startDate},"%c") ne epochToHuman($event->{endDate},"%c")) {
+ $date .= " - ".epochToHuman($event->{endDate},"%c %D");
+ } elsif (epochToHuman($event->{startDate},"%D") ne epochToHuman($event->{endDate},"%D")) {
+ $date .= " - ".epochToHuman($event->{endDate},"%D");
+ }
+ $flag = 0;
+ $date .= ", ".epochToHuman($event->{endDate},"%y");
+ %previous = %{$event};
+ push(@list, {
+ "list.date"=>$date,
+ "list.title"=>$event->{name},
+ "list.description"=>$event->{description},
+ "list.sameAsPrevious"=>$sameDate,
+ "list.url"=>WebGUI::URL::page('func=viewEvent&wid='.$_[0]->get("wobjectId").'&eid='
+ .$event->{EventsCalendar_eventId}),
+ "list.controls"=>deleteIcon('func=deleteEvent&wid='.$_[0]->get("wobjectId").'&eid='
+ .$event->{EventsCalendar_eventId}.'&rid='.$event->{EventsCalendar_recurringEventId})
+ .editIcon('func=editEvent&wid='.$_[0]->get("wobjectId").'&eid='.$event->{EventsCalendar_eventId})
+ });
+ }
+ $var{list_loop} = \@list;
+ $var{"list.firstPage"} = $p->getFirstPageLink;
+ $var{"list.lastPage"} = $p->getLastPageLink;
+ $var{"list.nextPage"} = $p->getNextPageLink;
+ $var{"list.pageList"} = $p->getPageLinks;
+ $var{"list.previousPage"} = $p->getPreviousPageLink;
+ $var{"list.multiplePages"} = ($p->getNumberOfPages > 1);
+ return $_[0]->processMacros($_[0]->processTemplate($_[0]->get("templateId"),\%var));
}
#-------------------------------------------------------------------
sub www_viewEvent {
- my ($output, %event);
+ my ($output, %event, %var, $id);
tie %event, 'Tie::CPHash';
%event = WebGUI::SQL->quickHash("select * from EventsCalendar_event where EventsCalendar_eventId=$session{form}{eid}");
- $output = '
'.$event{name}.'
';
- $output .= '';
- $output .= '';
- $output .= '
';
- $output .= '
';
- $output .= $event{description};
- return WebGUI::Macro::process($output);
+ $var{title} = $event{name};
+ $var{"start.label"} = WebGUI::International::get(14,$namespace);
+ $var{"start.date"} = epochToHuman($event{startDate},"%z");
+ $var{"end.label"} = WebGUI::International::get(15,$namespace);
+ $var{"end.date"} = epochToHuman($event{endDate},"%z");
+ $var{canEdit} = WebGUI::Privilege::canEditPage();
+ $var{"edit.url"} = WebGUI::URL::page('func=editEvent&eid='.$session{form}{eid}.'&wid='.$session{form}{wid});
+ $var{"edit.label"} = WebGUI::International::get(575);
+ $var{"delete.url"} = WebGUI::URL::page('func=deleteEvent&eid='.$session{form}{eid}.'&wid='
+ .$session{form}{wid}.'&rid='.$event{EventsCalendar_recurringEventId});
+ $var{"delete.label"} = WebGUI::International::get(576);
+ ($id) = WebGUI::SQL->quickArray("select EventsCalendar_eventId from EventsCalendar_event
+ where EventsCalendar_eventId<>$event{EventsCalendar_eventId} and
+ startDate<=$event{startDate} order by startDate desc, endDate desc");
+ $var{"previous.label"} = '«'.WebGUI::International::get(92,$namespace);
+ $var{"previous.url"} = WebGUI::URL::page("func=viewEvent&wid=".$_[0]->get("wobjectId")."&eid=".$id) if ($id);
+ ($id) = WebGUI::SQL->quickArray("select EventsCalendar_eventId from EventsCalendar_event
+ where EventsCalendar_eventId<>$event{EventsCalendar_eventId} and
+ startDate>=$event{startDate} order by startDate, endDate");
+ $var{"next.label"} = WebGUI::International::get(93,$namespace).'»';
+ $var{"next.url"} = WebGUI::URL::page("func=viewEvent&wid=".$_[0]->get("wobjectId")."&eid=".$id) if ($id);
+ $var{description} = $event{description};
+ return WebGUI::Macro::process(
+ WebGUI::Template::process(
+ WebGUI::Template::get(
+ $_[0]->get("eventTemplateId"),
+ "EventsCalendar/Event"
+ ),
+ \%var)
+ );
}
1;