aboutsummaryrefslogtreecommitdiff
path: root/mod/event_calendar/views/default/event_calendar/conference_button.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/event_calendar/views/default/event_calendar/conference_button.php')
-rw-r--r--mod/event_calendar/views/default/event_calendar/conference_button.php33
1 files changed, 33 insertions, 0 deletions
diff --git a/mod/event_calendar/views/default/event_calendar/conference_button.php b/mod/event_calendar/views/default/event_calendar/conference_button.php
new file mode 100644
index 000000000..79fa9c5a2
--- /dev/null
+++ b/mod/event_calendar/views/default/event_calendar/conference_button.php
@@ -0,0 +1,33 @@
+<?php
+// A non-admin / non-event-creator only sees the button if they have the event on his/her personal calendar
+// and it is at most 15 minutes before the conference starts.
+
+// The button is removed for everyone (even admins) one day after the event end time.
+
+$event = $vars['event'];
+
+if ($event) {
+ elgg_load_library('elgg:event_calendar');
+ $user_guid = elgg_get_logged_in_user_guid();
+ $termination_time = strtotime("1 day",$event->real_end_time);
+ if ($termination_time < time()) {
+ $in_time_window = FALSE;
+ } else if ($event->canEdit()) {
+ $in_time_window = TRUE;
+ } else if (event_calendar_has_personal_event($event->guid, $user_guid) && (strtotime('-15 minutes',$event->start_date) <= time())) {
+ $in_time_window = TRUE;
+ } else {
+ $in_time_window = FALSE;
+ }
+ if ( $in_time_window ) {
+ $button = elgg_view('output/url', array(
+ 'href' => 'action/event_calendar/join_conference?event_guid='.$event->guid,
+ 'text' => elgg_echo('event_calendar:join_conf_button'),
+ 'class' => 'elgg-button elgg-button-action',
+ 'target' => '_blank',
+ 'is_action' => TRUE,
+ ));
+
+ echo '<div class="event-calendar-conf-join-button">'.$button.'</div>';
+ }
+}