From 0b25adcd921149b50845647980284e8ab66d8fed Mon Sep 17 00:00:00 2001
From: Kevin Jardine
Date: Tue, 3 Apr 2012 12:31:42 +0200
Subject: major changes to add new features, including a full calendar and
repeating events
---
views/default/event_calendar/container.php | 24 ++++++
views/default/event_calendar/css.php | 98 +++++++++++++++++++++-
views/default/event_calendar/datetime_edit.php | 45 ++++++++++
.../default/event_calendar/full_calendar_view.php | 64 ++++++--------
.../default/event_calendar/repeat_form_element.php | 43 ++++++++++
views/default/event_calendar/show_events.php | 12 ++-
6 files changed, 243 insertions(+), 43 deletions(-)
create mode 100644 views/default/event_calendar/container.php
create mode 100644 views/default/event_calendar/datetime_edit.php
create mode 100644 views/default/event_calendar/repeat_form_element.php
(limited to 'views/default/event_calendar')
diff --git a/views/default/event_calendar/container.php b/views/default/event_calendar/container.php
new file mode 100644
index 000000000..fdd7da2c6
--- /dev/null
+++ b/views/default/event_calendar/container.php
@@ -0,0 +1,24 @@
+ elgg_echo('event_calendar:site_calendar'));
+$user = elgg_get_logged_in_user_entity();
+$groups = $user->getGroups('',0,0);
+foreach ($groups as $group) {
+ if (event_calendar_activated_for_group($group)) {
+ if ($admin || !$group_calendar || $group_calendar == 'members') {
+ if ($group->canWriteToContainer($user->guid)) {
+ $containers[$group->guid] = $group->name;
+ }
+ } else if ($group->canEdit()) {
+ $containers[$group->guid] = $group->name;
+ }
+ }
+}
+if ($vars['container_guid']) {
+ $value = $vars['container_guid'];
+} else {
+ $value = 0;
+}
+echo elgg_view('input/dropdown',array('name'=>'group_guid', 'value'=>$vars['container_guid'],'options_values'=>$containers));
diff --git a/views/default/event_calendar/css.php b/views/default/event_calendar/css.php
index a2437e065..4d68f500f 100644
--- a/views/default/event_calendar/css.php
+++ b/views/default/event_calendar/css.php
@@ -171,8 +171,102 @@ li.event-calendar-filter-menu-show-only {
margin-right: 10px;
}
-.event-calendar-date-time-setter label {
+.event-calendar-medium-text {
+ width: 500px !important;
+}
+
+.event-calendar-edit-form-block label {
float: left;
- width: 50px;
+ width: 90px;
+ margin-top: 5px;
+}
+
+.event-calendar-long-text {
+ width: 500px !important;
+}
+
+.event-calendar-edit-form-other-block .mceLayout {
+ width: 500px !important;
+}
+
+.event-calendar-edit-form {
+ background-color: #FFFFFF;
+}
+
+.event-calendar-edit-form-block {
+ width: 90%;
+ background-color: #DDDDDD;
+ border-width:1px;
+ border-style:solid;
+ border-color:#bfbfbf;
+ padding: 5px;
+ margin-bottom: 10px;
+ clear: both;
+}
+
+.event-calendar-repeating-wrapper {
+ padding: 0;
margin-top: 5px;
+}
+.event-calendar-repeating-unselected {
+ font-size: 16px;
+ font-weight: bold;
+ color: #DDDDDD;
+ background-color: #AAAAAA;
+ border: 1px solid #444444;
+ padding: 5px;
+ width: 25px;
+ text-align: center;
+ display: inline-block;
+ margin: 0;
+}
+
+.event-calendar-repeating-unselected:hover {
+ text-decoration: none;
+}
+
+.event-calendar-repeating-selected {
+ font-size: 16px;
+ font-weight: bold;
+ color: #000000;
+ background-color: #FFFFFF;
+ border: 1px solid #000000;
+ padding: 5px;
+ width: 25px;
+ text-align: center;
+ display: inline-block;
+ margin: 0;
+}
+
+.event-calendar-repeating-selected:hover {
+ text-decoration: none;
+ color: #CCCCCC;
+}
+
+.event-calendar-edit-form-schedule-block ul.elgg-vertical li {
+ display: block !important;
+ clear: both;
+}
+
+.event-calendar-edit-form-block ul.elgg-vertical li label {
+ font-weight: normal;
+ width: 500px;
+}
+
+.event-calendar-edit-form-block h2 {
+ font-size: 18px;
+ color: #000000;
+}
+
+.event-calendar-edit-date-wrapper {
+ clear: both;
+ margin-left: 20px;
+}
+
+.event-calendar-edit-reminder-wrapper {
+ margin-top: 10px;
+}
+
+.event-calendar-description {
+ display: none;
}
\ No newline at end of file
diff --git a/views/default/event_calendar/datetime_edit.php b/views/default/event_calendar/datetime_edit.php
new file mode 100644
index 000000000..aa3a8f2de
--- /dev/null
+++ b/views/default/event_calendar/datetime_edit.php
@@ -0,0 +1,45 @@
+';
+ }
+ $body .= elgg_view("event_calendar/input/date_local",array(
+ 'timestamp'=>TRUE,
+ 'autocomplete'=>'off',
+ 'class'=>'event-calendar-compressed-date',
+ 'name' => 'start_date',
+ 'value'=>$vars['start_date']));
+ $body .= elgg_view("input/timepicker",array('name' => 'start_time','value'=>$vars['start_time']));
+ if ($event_calendar_hide_end != 'yes') {
+ $body .= '
';
+ $body .= elgg_view("event_calendar/input/date_local",array(
+ 'timestamp'=>TRUE,
+ 'autocomplete'=>'off',
+ 'class'=>'event-calendar-compressed-date',
+ 'name' => 'end_date',
+ 'value'=>$vars['end_date'],
+ ));
+ $body .= elgg_view("input/timepicker",array('name' => 'end_time','value'=>$vars['end_time']));
+ }
+ $body .= '
';
+} else {
+
+ $body .= '';
+ $body .= ''.$prefix['start_date'].elgg_echo('event_calendar:start_date_description').'
';
+
+ if ($event_calendar_hide_end != 'yes') {
+ $body .= '';
+ $body .= ''.$prefix['end_date'].elgg_echo('event_calendar:end_date_description').'
';
+ }
+}
+
+echo $body;
\ No newline at end of file
diff --git a/views/default/event_calendar/full_calendar_view.php b/views/default/event_calendar/full_calendar_view.php
index 58aefe741..2c97eb159 100644
--- a/views/default/event_calendar/full_calendar_view.php
+++ b/views/default/event_calendar/full_calendar_view.php
@@ -1,31 +1,6 @@
$e->guid,
- //'title' => ''.$e->title.'',
- 'title' => $e->title,
- 'url' => $e->getURL(),
- 'start_date' => $e->start_date,
- 'end_date' => $e->real_end_time,
- );
- if ($times_supported) {
- $event_item['allDay'] = FALSE;
- } else {
- $event_item['allDay'] = TRUE;
- }
-
- $event_array[] = $event_item;
-}
-
-$json_events_string = json_encode($event_array);
-
// TODO: is there an easy way to avoid embedding JS?
?>
diff --git a/views/default/event_calendar/repeat_form_element.php b/views/default/event_calendar/repeat_form_element.php
new file mode 100644
index 000000000..45fdabfa1
--- /dev/null
+++ b/views/default/event_calendar/repeat_form_element.php
@@ -0,0 +1,43 @@
+'repeats','value'=>'yes','checked'=>'checked'));
+} else {
+ echo elgg_view('input/checkbox',array('name'=>'repeats','value'=>'yes'));
+}
+echo elgg_echo('event_calendar:repeat_interval_label').' ';
+echo elgg_view('input/dropdown',array('name'=>'repeat_interval','value'=>$fd['repeat_interval'],'options_values'=>array('1'=>'1','2'=>'2','3'=>'3','4'=>'4','5'=>'5','6'=>'6','7'=>'7','8'=>'8')));
+echo ' '.elgg_echo('event_calendar:repeat_weeks');
+echo ' '.elgg_echo('event_calendar:on_these_days');
+?>
+
+
+
+
+
+
+
+
diff --git a/views/default/event_calendar/show_events.php b/views/default/event_calendar/show_events.php
index 63d722247..3a484e756 100644
--- a/views/default/event_calendar/show_events.php
+++ b/views/default/event_calendar/show_events.php
@@ -10,16 +10,21 @@
*
*/
+elgg_load_library('elgg:event_calendar');
+
$listing_format = $vars['listing_format'];
if ($vars['events']) {
if ($listing_format == 'agenda') {
+ $vars['events'] = event_calendar_flatten_event_structure($vars['events']);
$event_list = elgg_view('event_calendar/agenda_view',$vars);
} else if ($listing_format == 'paged') {
+ $vars['events'] = event_calendar_flatten_event_structure($vars['events']);
$event_list = elgg_view('event_calendar/paged_view',$vars);
} else if ($listing_format == 'full') {
$event_list = elgg_view('event_calendar/full_calendar_view',$vars);
} else {
+ $vars['events'] = event_calendar_flatten_event_structure($vars['events']);
$options = array(
'list_class' => 'elgg-list-entity',
'full_view' => FALSE,
@@ -32,7 +37,12 @@ if ($vars['events']) {
$event_list = elgg_view_entity_list($vars['events'], $options);
}
} else {
- $event_list = ''.elgg_echo('event_calendar:no_events_found').'
';
+ if ($listing_format == 'full') {
+ // show the empty calendar
+ $event_list = elgg_view('event_calendar/full_calendar_view',$vars);
+ } else {
+ $event_list = ''.elgg_echo('event_calendar:no_events_found').'
';
+ }
}
if ($listing_format == 'paged' || $listing_format == 'full') {
echo $event_list;
--
cgit v1.2.3