aboutsummaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
Diffstat (limited to 'views')
-rw-r--r--views/default/event_calendar/container.php24
-rw-r--r--views/default/event_calendar/css.php98
-rw-r--r--views/default/event_calendar/datetime_edit.php45
-rw-r--r--views/default/event_calendar/full_calendar_view.php64
-rw-r--r--views/default/event_calendar/repeat_form_element.php43
-rw-r--r--views/default/event_calendar/show_events.php12
-rw-r--r--views/default/forms/event_calendar/edit.php388
-rw-r--r--views/default/input/timepicker.php38
-rw-r--r--views/default/js/event_calendar/event_calendar.php58
-rw-r--r--views/default/plugins/event_calendar/settings.php44
10 files changed, 613 insertions, 201 deletions
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 @@
+<?php
+elgg_load_library('elgg:event_calendar');
+$site_calendar = elgg_get_plugin_setting('site_calendar', 'event_calendar');
+$admin = elgg_is_admin_logged_in();
+$containers = array(0 => 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 @@
+<?php
+$event_calendar_times = elgg_get_plugin_setting('times', 'event_calendar');
+$event_calendar_hide_end = elgg_get_plugin_setting('hide_end', 'event_calendar');
+$prefix = $vars['prefix'];
+$body = '';
+
+if ($event_calendar_times != 'no') {
+ if ($event_calendar_hide_end != 'yes') {
+ $body .= '<p><label>'.elgg_echo('event_calendar:from_label').'</label>';
+ }
+ $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 .= '</p><p><label>'.elgg_echo('event_calendar:to_label').'</label>';
+ $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 .= '</p>';
+} else {
+
+ $body .= '<p><label>'.elgg_echo("event_calendar:start_date_label").'<br />';
+ $body .= elgg_view("event_calendar/input/date_local",array('timestamp'=>TRUE, 'autocomplete'=>'off','name' => 'start_date','value'=>$vars['start_date']));
+ $body .= '</label></p>';
+ $body .= '<p class="description">'.$prefix['start_date'].elgg_echo('event_calendar:start_date_description').'</p>';
+
+ if ($event_calendar_hide_end != 'yes') {
+ $body .= '<p><label>'.elgg_echo("event_calendar:end_date_label").'<br />';
+ $body .= elgg_view("event_calendar/input/date_local",array('timestamp'=>TRUE,'autocomplete'=>'off','name' => 'end_date','value'=>$vars['end_date']));
+ $body .= '</label></p>';
+ $body .= '<p class="description">'.$prefix['end_date'].elgg_echo('event_calendar:end_date_description').'</p>';
+ }
+}
+
+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 @@
<?php
elgg_load_js('elgg.full_calendar');
-$events = $vars['events'];
-
-$event_array = array();
-$times_supported = elgg_get_plugin_setting('times','event_calendar') != 'no';
-
-foreach($events as $e) {
- $event_item = array(
- 'guid' => $e->guid,
- //'title' => '<a href="'.$e->url.'">'.$e->title.'</a>',
- '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?
?>
<script>
@@ -58,31 +33,40 @@ handleEventDrop = function(event,dayDelta,minuteDelta,allDay,revertFunc) {
}
};
-$(document).ready(function() {
- var events = <?php echo $json_events_string; ?>;
- var cal_events = [];
- for (var i = 0; i < events.length; i++) {
- cal_events.push({
- guid: events[i].guid,
- title : events[i].title,
- url: events[i].url,
- start : new Date(1000*events[i].start_date),
- end : new Date(1000*events[i].end_date),
- allDay: events[i].allDay
- });
- }
-
+getISODate = function(d) {
+ var year = d.getFullYear();
+ var month = d.getMonth()+1;
+ month = month < 10 ? '0' + month : month;
+ var day = d.getDay()+1;
+ day = day < 10 ? '0' + day : day;
+ return year +"-"+month+"-"+day;
+}
+
+handleGetEvents = function(start, end, callback) {
+ var start_date = getISODate(start);
+ var end_date = getISODate(end);
+ var url = "event_calendar/get_fullcalendar_events/"+start_date+"/"+end_date+"/<?php echo $vars['filter']; ?>/<?php echo $vars['group_guid']; ?>";
+ elgg.getJSON(url, {success:
+ function(events) {
+ callback(events);
+ }
+ });
+}
+
+$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
+ month: <?php echo date('n',strtotime($vars['start_date']))-1; ?>,
+ ignoreTimezone: true,
editable: true,
slotMinutes: 15,
eventDrop: handleEventDrop,
eventClick: handleEventClick,
- events: cal_events
+ events: handleGetEvents
});
});
</script>
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 @@
+<?php
+$event = $vars['event'];
+$fd = $vars['form_data'];
+if ($fd['repeats'] == 'yes') {
+ echo elgg_view('input/checkbox',array('name'=>'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');
+?>
+<div class="event-calendar-repeating-wrapper">
+<a id="event-calendar-repeating-monday" href="javascript:void(0);" class="event-calendar-repeating-unselected">
+ <?php echo elgg_echo('event_calendar:day_abbrev:monday'); ?>
+</a>
+<a id="event-calendar-repeating-tuesday" href="javascript:void(0);" class="event-calendar-repeating-unselected">
+ <?php echo elgg_echo('event_calendar:day_abbrev:tuesday'); ?>
+</a>
+<a id="event-calendar-repeating-wednesday" href="javascript:void(0);" class="event-calendar-repeating-unselected">
+ <?php echo elgg_echo('event_calendar:day_abbrev:wednesday'); ?>
+</a>
+<a id="event-calendar-repeating-thursday" href="javascript:void(0);" class="event-calendar-repeating-unselected">
+ <?php echo elgg_echo('event_calendar:day_abbrev:thursday'); ?>
+</a>
+<a id="event-calendar-repeating-friday" href="javascript:void(0);" class="event-calendar-repeating-unselected">
+ <?php echo elgg_echo('event_calendar:day_abbrev:friday'); ?>
+</a>
+<a id="event-calendar-repeating-saturday" href="javascript:void(0);" class="event-calendar-repeating-unselected">
+ <?php echo elgg_echo('event_calendar:day_abbrev:saturday'); ?>
+</a>
+<a id="event-calendar-repeating-sunday" href="javascript:void(0);" class="event-calendar-repeating-unselected">
+ <?php echo elgg_echo('event_calendar:day_abbrev:sunday'); ?>
+</a>
+</div>
+<input type="hidden" name="event-calendar-repeating-monday-value" value="<?php echo $fd['event-calendar-repeating-monday-value']; ?>">
+<input type="hidden" name="event-calendar-repeating-tuesday-value" value="<?php echo $fd['event-calendar-repeating-tuesday-value']; ?>">
+<input type="hidden" name="event-calendar-repeating-wednesday-value" value="<?php echo $fd['event-calendar-repeating-wednesday-value']; ?>">
+<input type="hidden" name="event-calendar-repeating-thursday-value" value="<?php echo $fd['event-calendar-repeating-thursday-value']; ?>">
+<input type="hidden" name="event-calendar-repeating-friday-value" value="<?php echo $fd['event-calendar-repeating-friday-value']; ?>">
+<input type="hidden" name="event-calendar-repeating-saturday-value" value="<?php echo $fd['event-calendar-repeating-saturday-value']; ?>">
+<input type="hidden" name="event-calendar-repeating-sunday-value" value="<?php echo $fd['event-calendar-repeating-sunday-value']; ?>">
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 = '<p>'.elgg_echo('event_calendar:no_events_found').'</p>';
+ if ($listing_format == 'full') {
+ // show the empty calendar
+ $event_list = elgg_view('event_calendar/full_calendar_view',$vars);
+ } else {
+ $event_list = '<p>'.elgg_echo('event_calendar:no_events_found').'</p>';
+ }
}
if ($listing_format == 'paged' || $listing_format == 'full') {
echo $event_list;
diff --git a/views/default/forms/event_calendar/edit.php b/views/default/forms/event_calendar/edit.php
index 3526627a7..713fb9abc 100644
--- a/views/default/forms/event_calendar/edit.php
+++ b/views/default/forms/event_calendar/edit.php
@@ -3,20 +3,29 @@ $event = $vars['event'];
$fd = $vars['form_data'];
$personal_manage_options = array(
- elgg_echo('event_calendar:personal_manage:open') => 'open',
- elgg_echo('event_calendar:personal_manage:closed') => 'closed',
- elgg_echo('event_calendar:personal_manage:private') => 'private',
+ elgg_echo('event_calendar:personal_manage:by_event:open') => 'open',
+ elgg_echo('event_calendar:personal_manage:by_event:closed') => 'closed',
+ elgg_echo('event_calendar:personal_manage:by_event:private') => 'private',
);
-$event_calendar_times = elgg_get_plugin_setting('times', 'event_calendar');
+$schedule_options = array(
+ elgg_echo('event_calendar:schedule_type:poll')=>'poll',
+ elgg_echo('event_calendar:schedule_type:fixed')=>'fixed',
+);
+
+$event_calendar_fewer_fields = elgg_get_plugin_setting('fewer_fields', 'event_calendar');
+$event_calendar_repeating_events = elgg_get_plugin_setting('repeating_events', 'event_calendar');
+
$event_calendar_region_display = elgg_get_plugin_setting('region_display', 'event_calendar');
$event_calendar_type_display = elgg_get_plugin_setting('type_display', 'event_calendar');
$event_calendar_spots_display = elgg_get_plugin_setting('spots_display', 'event_calendar');
//$event_calendar_add_users = elgg_get_plugin_setting('add_users', 'event_calendar');
$event_calendar_hide_access = elgg_get_plugin_setting('hide_access', 'event_calendar');
-$event_calendar_hide_end = elgg_get_plugin_setting('hide_end', 'event_calendar');
+
$event_calendar_more_required = elgg_get_plugin_setting('more_required', 'event_calendar');
$event_calendar_personal_manage = elgg_get_plugin_setting('personal_manage', 'event_calendar');
+$event_calendar_repeated_events = elgg_get_plugin_setting('repeated_events', 'event_calendar');
+$event_calendar_reminders = elgg_get_plugin_setting('reminders', 'event_calendar');
if ($event_calendar_more_required == 'yes') {
$required_fields = array('title','venue','start_date','start_time',
@@ -39,7 +48,7 @@ foreach ($all_fields as $fn) {
}
if ($event) {
- $title = $event->title;
+ /*$title = $event->title;
$brief_description = $event->description;
$venue = $event->venue;
// this is a form redisplay, so take the values as submitted
@@ -65,7 +74,15 @@ if ($event) {
$fees = $event->fees;
$contact = $event->contact;
$organiser = $event->organiser;
- $event_tags = $event->event_tags;
+ if ($event->tags) {
+ $event_tags = $event->tags;
+ } else {
+ // old way
+ $event_tags = $event->event_tags;
+ }
+ $reminder_number = $event->reminder_number;
+ $reminder_interval = $event->reminder_interval;
+
$long_description = $event->long_description;
$access = $event->access_id;
if ($event_calendar_times != 'no') {
@@ -77,91 +94,144 @@ if ($event) {
if (!$personal_manage) {
$personal_manage = 'open';
}
- }
+ }*/
$event_action = 'manage_event';
$event_guid = $event->guid;
-} else {
- $title = $fd['title'];
- $brief_description = $fd['description'];
- $venue = $fd['venue'];
- $start_date = $fd['start_date'];
- $end_date = $fd['end_date'];
- $fees = $fd['fees'];
- if ($event_calendar_spots_display) {
- $spots = $fd['spots'];
- }
- if ($event_calendar_region_display) {
- $region = $fd['region'];
- }
- if ($event_calendar_type_display) {
- $event_type = $fd['event_type'];
- }
- $contact = $fd['contact'];
- $organiser = $fd['organiser'];
- $event_tags = $fd['event_tags'];
- $long_description = $fd['long_description'];
- $access = $fd['access_id'];
- if ($event_calendar_times != 'no') {
- $start_time = $fd['start_time'];
- $end_time = $fd['end_time'];
- }
- if ($event_calendar_personal_manage == 'by_event') {
- $personal_manage = $fd['personal_manage'];
- }
+} else {
$event_action = 'add_event';
$event_guid = 0;
}
-$body = '';
+
+$title = $fd['title'];
+$brief_description = $fd['description'];
+$venue = $fd['venue'];
+$start_date = $fd['start_date'];
+$end_date = $fd['end_date'];
+$fees = $fd['fees'];
+if ($event_calendar_spots_display) {
+ $spots = $fd['spots'];
+}
+if ($event_calendar_region_display) {
+ $region = $fd['region'];
+}
+if ($event_calendar_type_display) {
+ $event_type = $fd['event_type'];
+}
+$contact = $fd['contact'];
+$organiser = $fd['organiser'];
+$event_tags = $fd['tags'];
+$all_day = $fd['all_day'];
+$send_reminder = $fd['send_reminder'];
+$reminder_number = $fd['reminder_number'];
+$reminder_interval = $fd['reminder_interval'];
+$schedule_type = $fd['schedule_type'];
+$long_description = $fd['long_description'];
+$access = $fd['access_id'];
+if ($event_calendar_times != 'no') {
+ $start_time = $fd['start_time'];
+ $end_time = $fd['end_time'];
+}
+if ($event_calendar_personal_manage == 'by_event') {
+ $personal_manage = $fd['personal_manage'];
+}
+
+$body = '<div class="event-calendar-edit-form">';
$body .= elgg_view('input/hidden',array('name'=>'event_action', 'value'=>$event_action));
$body .= elgg_view('input/hidden',array('name'=>'event_guid', 'value'=>$event_guid));
$body .= elgg_view('input/hidden',array('name'=>'group_guid', 'value'=>$vars['group_guid']));
-$body .= '<p><label>'.elgg_echo("event_calendar:title_label").'<br />';
-$body .= elgg_view("input/text",array('name' => 'title','value'=>$title));
-$body .= '</label></p>';
-$body .= '<p class="description">'.$prefix['title'].elgg_echo('event_calendar:title_description').'</p>';
+$body .= '<div class="event-calendar-edit-form-block event-calendar-edit-form-top-block">';
-$body .= '<p><label>'.elgg_echo("event_calendar:venue_label").'<br />';
-$body .= elgg_view("input/text",array('name' => 'venue','value'=>$venue));
-$body .= '</label></p>';
-$body .= '<p class="description">'.$prefix['venue'].elgg_echo('event_calendar:venue_description').'</p>';
+$body .= '<p><label>'.elgg_echo("event_calendar:title_label").'</label>';
+$body .= elgg_view("input/text",array('name' => 'title','class'=>'event-calendar-medium-text','value'=>$title));
+$body .= '</p>';
+$body .= '<p class="event-calendar-description">'.$prefix['title'].elgg_echo('event_calendar:title_description').'</p>';
-if ($event_calendar_times != 'no') {
- $body .= '<div class="event-calendar-date-time-setter">';
- if ($event_calendar_hide_end != 'yes') {
- $body .= '<p><label>'.elgg_echo('event_calendar:from_label').'</label>';
- }
- $body .= elgg_view("event_calendar/input/date_local",array('timestamp'=>TRUE, 'autocomplete'=>'off','class'=>'event-calendar-compressed-date','name' => 'start_date','value'=>$start_date));
- $body .= elgg_view("input/timepicker",array('name' => 'start_time','value'=>$start_time));
- if ($event_calendar_hide_end != 'yes') {
- $body .= '</p><p><label>'.elgg_echo('event_calendar:to_label').'</label>';
- $body .= elgg_view("event_calendar/input/date_local",array('timestamp'=>TRUE,'autocomplete'=>'off','class'=>'event-calendar-compressed-date','name' => 'end_date','value'=>$end_date));
- $body .= elgg_view("input/timepicker",array('name' => 'end_time','value'=>$end_time));
- }
+$body .= '<p><label>'.elgg_echo("event_calendar:venue_label").'</label>';
+$body .= elgg_view("input/text",array('name' => 'venue','class'=>'event-calendar-medium-text','value'=>$venue));
+$body .= '</p>';
+$body .= '<p class="event-calendar-description">'.$prefix['venue'].elgg_echo('event_calendar:venue_description').'</p>';
+
+$body .= '<p><label>'.elgg_echo("event_calendar:brief_description_label").'</label>';
+$body .= elgg_view("input/text",array('name' => 'description','class'=>'event-calendar-medium-text','value'=>$brief_description));
+$body .= '</p>';
+$body .= '<p class="event-calendar-description">'.$prefix['brief_description'].elgg_echo('event_calendar:brief_description_description').'</p>';
+
+$body .= '<p><label>'.elgg_echo("event_calendar:event_tags_label").'</label>';
+$body .= elgg_view("input/tags",array('name' => 'tags','class'=>'event-calendar-medium-text','value'=>$event_tags));
+$body .= '</p>';
+$body .= '<p class="event-calendar-description">'.$prefix['event_tags'].elgg_echo('event_calendar:event_tags_description').'</p>';
+
+$body .= '<p><label>'.elgg_echo("event_calendar:calendar_label").'</label>';
+$body .= elgg_view('event_calendar/container',array('container_guid'=>$vars['container_guid']));
+$body .= '</p>';
+$body .= '<p class="event-calendar-description">'.$prefix['calendar'].elgg_echo('event_calendar:calendar_description').'</p>';
+
+if(elgg_plugin_exists('sched_conf')) {
+ $body .= '<p>';
+ $body .= elgg_view('input/checkbox',array('name'=>'web_conference','value'=>$web_conference,'options_values'=>array('1')));
+ $body .= elgg_echo('event_calendar:web_conference_label');
$body .= '</p>';
- $body .= '</div>';
-} else {
+}
- $body .= '<p><label>'.elgg_echo("event_calendar:start_date_label").'<br />';
- $body .= elgg_view("event_calendar/input/date_local",array('timestamp'=>TRUE, 'autocomplete'=>'off','name' => 'start_date','value'=>$start_date));
- $body .= '</label></p>';
- $body .= '<p class="description">'.$prefix['start_date'].elgg_echo('event_calendar:start_date_description').'</p>';
-
- if ($event_calendar_hide_end != 'yes') {
- $body .= '<p><label>'.elgg_echo("event_calendar:end_date_label").'<br />';
- $body .= elgg_view("event_calendar/input/date_local",array('timestamp'=>TRUE,'autocomplete'=>'off','name' => 'end_date','value'=>$end_date));
- $body .= '</label></p>';
- $body .= '<p class="description">'.$prefix['end_date'].elgg_echo('event_calendar:end_date_description').'</p>';
+$body .= '</div>';
+
+$body .= '<div class="event-calendar-edit-form-block event-calendar-edit-form-schedule-block">';
+$body .= '<h2>'.elgg_echo('event_calendar:schedule:header').'</h2>';
+if ($all_day) {
+ $body .= elgg_view('input/checkbox',array('name'=>'all_day','value'=>1,'checked'=>'checked'));
+} else {
+ $body .= elgg_view('input/checkbox',array('name'=>'all_day','value'=>1));
+}
+$body .= elgg_echo('event_calendar:all_day_label');
+if(elgg_plugin_exists('event_poll')) {
+ $body .= elgg_view('input/radio',array('name'=>'schedule_type','value'=>$schedule_type,'options'=>$schedule_options));
+}
+$body .= '<div class="event-calendar-edit-date-wrapper">';
+$body .= elgg_view('event_calendar/datetime_edit',
+ array(
+ 'start_date' => $start_date,
+ 'end_date' => $end_date,
+ 'start_time' => $start_time,
+ 'end_time' => $end_time,
+ 'prefix' => $prefix,
+));
+if ($event_calendar_repeated_events == 'yes') {
+ $body .= elgg_view('event_calendar/repeat_form_element',$vars);
+}
+if ($event_calendar_reminders == 'yes') {
+ $body .= '<div class="event-calendar-edit-reminder-wrapper">';
+ if ($send_reminder) {
+ $body .= elgg_view('input/checkbox',array('name'=>'send_reminder','checked' => 'checked','value'=>1));
+ } else {
+ $body .= elgg_view('input/checkbox',array('name'=>'send_reminder','value'=>1));
+ }
+ $body .= elgg_echo('elgg_calendar:send_reminder_label'). ' ';
+ $numbers = array();
+ for ($i=1;$i<60;$i++) {
+ $numbers[$i] = $i;
}
+ $intervals = array(
+ 1 => elgg_echo('event_calendar:interval:minute'),
+ 60 => elgg_echo('event_calendar:interval:hour'),
+ 60*24 => elgg_echo('event_calendar:interval:day'),
+ );
+
+ $body .= elgg_view('input/dropdown',array('name'=>'reminder_number','options_values'=>$numbers,'value'=>$reminder_number));
+ $body .= elgg_view('input/dropdown',array('name'=>'reminder_interval','options_values'=>$intervals,'value'=>$reminder_interval));
+ $body .= elgg_echo('elgg_calendar:send_reminder_before');
+ $body .= '</div>';
}
if ($event_calendar_spots_display == 'yes') {
$body .= '<p><label>'.elgg_echo("event_calendar:spots_label").'<br />';
- $body .= elgg_view("input/text",array('name' => 'spots','value'=>$spots));
+ $body .= elgg_view("input/text",array('name' => 'spots','class'=>'event-calendar-medium-text','value'=>$spots));
$body .= '</label></p>';
- $body .= '<p class="description">'.$prefix['spots'].elgg_echo('event_calendar:spots_description').'</p>';
+ $body .= '<p class="event-calendar-description">'.$prefix['spots'].elgg_echo('event_calendar:spots_description').'</p>';
}
+$body .= '</div>';
+$body .= '</div>';
// the following feature has been superceded by the manage subscribers feature
@@ -172,91 +242,17 @@ if ($event_calendar_spots_display == 'yes') {
$body .= '<p class="description">'.elgg_echo('event_calendar:add_user_description').'</p>';
}*/
-$body .= '<p><label>'.elgg_echo("event_calendar:brief_description_label").'<br />';
-$body .= elgg_view("input/text",array('name' => 'description','value'=>$brief_description));
-$body .= '</label></p>';
-$body .= '<p class="description">'.$prefix['brief_description'].elgg_echo('event_calendar:brief_description_description').'</p>';
-
-if ($event_calendar_region_display == 'yes') {
- $region_list = trim(elgg_get_plugin_setting('region_list', 'event_calendar'));
- $region_list_handles = elgg_get_plugin_setting('region_list_handles', 'event_calendar');
- // make sure that we are using Unix line endings
- $region_list = str_replace("\r\n","\n",$region_list);
- $region_list = str_replace("\r","\n",$region_list);
- if ($region_list) {
- $options = array();
- $options[] = '-';
- foreach(explode("\n",$region_list) as $region_item) {
- $region_item = trim($region_item);
- if ($region_list_handles == 'yes') {
- $options[$region_item] = elgg_echo('event_calendar:region:'.$region_item);
- } else {
- $options[$region_item] = $region_item;
- }
- }
- $body .= '<p><label>'.elgg_echo("event_calendar:region_label").'<br />';
- $body .= elgg_view("input/dropdown",array('name' => 'region','value'=>$region,'options_values'=>$options));
- $body .= '</label></p>';
- $body .= '<p class="description">'.$prefix['region'].elgg_echo('event_calendar:region_description').'</p>';
- }
-}
-
-if ($event_calendar_type_display == 'yes') {
- $type_list = trim(elgg_get_plugin_setting('type_list', 'event_calendar'));
- $type_list_handles = elgg_get_plugin_setting('type_list_handles', 'event_calendar');
- // make sure that we are using Unix line endings
- $type_list = str_replace("\r\n","\n",$type_list);
- $type_list = str_replace("\r","\n",$type_list);
- if ($type_list) {
- $options = array();
- $options[] = '-';
- foreach(explode("\n",$type_list) as $type_item) {
- $type_item = trim($type_item);
- if ($type_list_handles == 'yes') {
- $options[$type_item] = elgg_echo('event_calendar:type:'.$type_item);
- } else {
- $options[$type_item] = $type_item;
- }
- }
- $body .= '<p><label>'.elgg_echo("event_calendar:type_label").'<br />';
- $body .= elgg_view("input/dropdown",array('name' => 'event_type','value'=>$event_type,'options_values'=>$options));
- $body .= '</label></p>';
- $body .= '<p class="description">'.$prefix['event_type'].elgg_echo('event_calendar:type_description').'</p>';
- }
-}
-
-$body .= '<p><label>'.elgg_echo("event_calendar:fees_label").'<br />';
-$body .= elgg_view("input/text",array('name' => 'fees','value'=>$fees));
-$body .= '</label></p>';
-$body .= '<p class="description">'.$prefix['fees'].elgg_echo('event_calendar:fees_description').'</p>';
-
-$body .= '<p><label>'.elgg_echo("event_calendar:contact_label").'<br />';
-$body .= elgg_view("input/text",array('name' => 'contact','value'=>$contact));
-$body .= '</label></p>';
-$body .= '<p class="description">'.$prefix['contact'].elgg_echo('event_calendar:contact_description').'</p>';
-
-$body .= '<p><label>'.elgg_echo("event_calendar:organiser_label").'<br />';
-$body .= elgg_view("input/text",array('name' => 'organiser','value'=>$organiser));
-$body .= '</label></p>';
-$body .= '<p class="description">'.$prefix['organiser'].elgg_echo('event_calendar:organiser_description').'</p>';
-
if ($event_calendar_personal_manage == 'by_event') {
- $body .= '<p><label>'.elgg_echo('event_calendar:personal_manage:label').'<br />';
+ $body .= '<div class="event-calendar-edit-form-block event-calendar-edit-form-membership-block">';
+ $body .= '<h2>'.elgg_echo('event_calendar:personal_manage:label').'</h2>';
$body .= elgg_view("input/radio",array('name' => 'personal_manage','value'=>$personal_manage,'options'=>$personal_manage_options));
- $body .= '</label></p>';
- $body .= '<p class="description">'.$prefix['personal_manage'].elgg_echo('event_calendar:personal_manage:description').'</p>';
+ //$body .= '<p class="event-calendar-description">'.$prefix['personal_manage'].elgg_echo('event_calendar:personal_manage:description').'</p>';
+ $body .= '<br clear="both" />';
+ $body .= '</div>';
}
-$body .= '<p><label>'.elgg_echo("event_calendar:event_tags_label").'<br />';
-$body .= elgg_view("input/tags",array('name' => 'tags','value'=>$event_tags));
-$body .= '</label></p>';
-$body .= '<p class="description">'.$prefix['event_tags'].elgg_echo('event_calendar:event_tags_description').'</p>';
-
-$body .= '<p><label>'.elgg_echo("event_calendar:long_description_label").'<br />';
-$body .= elgg_view("input/longtext",array('name' => 'long_description','value'=>$long_description));
-$body .= '</label></p>';
-$body .= '<p class="description">'.$prefix['long_description'].elgg_echo('event_calendar:long_description_description').'</p>';
-
+$body .= '<div class="event-calendar-edit-form-block event-calendar-edit-form-share-block">';
+$body .= '<h2>'.elgg_echo('event_calendar:permissions:header').'</h2>';
if($event_calendar_hide_access == 'yes') {
$event_calendar_default_access = elgg_get_plugin_setting('default_access', 'event_calendar');
if($event_calendar_default_access) {
@@ -265,11 +261,95 @@ if($event_calendar_hide_access == 'yes') {
$body .= elgg_view("input/hidden",array('name' => 'access_id','value'=>ACCESS_PRIVATE));
}
} else {
- $body .= '<p><label>'.elgg_echo("access").'<br />';
+ $body .= '<p><label>'.elgg_echo('event_calendar:read_access').'</label>';
$body .= elgg_view("input/access",array('name' => 'access_id','value'=>$access));
- $body .= '</label></p>';
+ $body .= '</p>';
+}
+$body .= elgg_echo('event_calendar:share_ownership:label');
+$body .= '<br />';
+$body .= elgg_echo('event_calendar:share_ownership:description');
+$body .= elgg_view('input/entity_admins_dropdown',array('entity'=>$event));
+$body .= '</div>';
+
+if ($event_calendar_region_display == 'yes' || $event_calendar_type_display == 'yes' || $event_calendar_fewer_fields != 'yes') {
+ $body .= '<div class="event-calendar-edit-form-block event-calendar-edit-form-other-block">';
+
+ if ($event_calendar_region_display == 'yes') {
+ $region_list = trim(elgg_get_plugin_setting('region_list', 'event_calendar'));
+ $region_list_handles = elgg_get_plugin_setting('region_list_handles', 'event_calendar');
+ // make sure that we are using Unix line endings
+ $region_list = str_replace("\r\n","\n",$region_list);
+ $region_list = str_replace("\r","\n",$region_list);
+ if ($region_list) {
+ $options = array();
+ $options[] = '-';
+ foreach(explode("\n",$region_list) as $region_item) {
+ $region_item = trim($region_item);
+ if ($region_list_handles == 'yes') {
+ $options[$region_item] = elgg_echo('event_calendar:region:'.$region_item);
+ } else {
+ $options[$region_item] = $region_item;
+ }
+ }
+ $body .= '<p><label>'.elgg_echo("event_calendar:region_label").'</label>';
+ $body .= elgg_view("input/dropdown",array('name' => 'region','value'=>$region,'options_values'=>$options));
+ $body .= '</p>';
+ $body .= '<p class="event-calendar-description">'.$prefix['region'].elgg_echo('event_calendar:region_description').'</p>';
+ }
+ }
+
+ if ($event_calendar_type_display == 'yes') {
+ $type_list = trim(elgg_get_plugin_setting('type_list', 'event_calendar'));
+ $type_list_handles = elgg_get_plugin_setting('type_list_handles', 'event_calendar');
+ // make sure that we are using Unix line endings
+ $type_list = str_replace("\r\n","\n",$type_list);
+ $type_list = str_replace("\r","\n",$type_list);
+ if ($type_list) {
+ $options = array();
+ $options[] = '-';
+ foreach(explode("\n",$type_list) as $type_item) {
+ $type_item = trim($type_item);
+ if ($type_list_handles == 'yes') {
+ $options[$type_item] = elgg_echo('event_calendar:type:'.$type_item);
+ } else {
+ $options[$type_item] = $type_item;
+ }
+ }
+ $body .= '<p><label>'.elgg_echo("event_calendar:type_label").'</label>';
+ $body .= elgg_view("input/dropdown",array('name' => 'event_type','value'=>$event_type,'options_values'=>$options));
+ $body .= '</p>';
+ $body .= '<p class="event-calendar-description">'.$prefix['event_type'].elgg_echo('event_calendar:type_description').'</p>';
+ }
+ }
+
+ if ($event_calendar_fewer_fields != 'yes') {
+
+ $body .= '<p><label>'.elgg_echo("event_calendar:fees_label").'</label>';
+ $body .= elgg_view("input/text",array('name' => 'fees','class'=>'event-calendar-medium-text','value'=>$fees));
+ $body .= '</p>';
+ $body .= '<p class="event-calendar-description">'.$prefix['fees'].elgg_echo('event_calendar:fees_description').'</p>';
+
+ $body .= '<p><label>'.elgg_echo("event_calendar:contact_label").'</label>';
+ $body .= elgg_view("input/text",array('name' => 'contact','class'=>'event-calendar-medium-text','value'=>$contact));
+ $body .= '</p>';
+ $body .= '<p class="event-calendar-description">'.$prefix['contact'].elgg_echo('event_calendar:contact_description').'</p>';
+
+ $body .= '<p><label>'.elgg_echo("event_calendar:organiser_label").'</label>';
+ $body .= elgg_view("input/text",array('name' => 'organiser','class'=>'event-calendar-medium-text','value'=>$organiser));
+ $body .= '</p>';
+ $body .= '<p class="event-calendar-description">'.$prefix['organiser'].elgg_echo('event_calendar:organiser_description').'</p>';
+
+ $body .= '<p><label>'.elgg_echo("event_calendar:long_description_label").'</label>';
+ $body .= elgg_view("input/longtext",array('name' => 'long_description','class'=>'event-calendar-long-text','value'=>$long_description));
+ $body .= '</p>';
+ $body .= '<p class="event-calendar-description">'.$prefix['long_description'].elgg_echo('event_calendar:long_description_description').'</p>';
+ }
+
+ $body .= '</div>';
}
$body .= elgg_view('input/submit', array('name'=>'submit','value'=>elgg_echo('event_calendar:submit')));
+$body .= '</div>';
+
echo $body;
diff --git a/views/default/input/timepicker.php b/views/default/input/timepicker.php
index d7df04699..ccbb88778 100644
--- a/views/default/input/timepicker.php
+++ b/views/default/input/timepicker.php
@@ -1,5 +1,5 @@
<?php
-
+$event_calendar_restricted_times = elgg_get_plugin_setting('restricted_times', 'event_calendar');
$time_format = elgg_get_plugin_setting('timeformat', 'event_calendar');
if (!$time_format) {
$time_format = '24';
@@ -18,7 +18,14 @@ $dates = array();
$dates['-'] = '-';
if ($time_format == '12') {
- for($h=0;$h<=12;$h++) {
+ if ($event_calendar_restricted_times == 'yes') {
+ $h1 = 6;
+ $h2 = 9;
+ } else {
+ $h1 = 0;
+ $h2 = 11;
+ }
+ for($h=$h1;$h<=12;$h++) {
$ht = sprintf("%02d",$h);
for($m=0;$m<60;$m=$m+15) {
$mt = sprintf("%02d",$m);
@@ -30,7 +37,7 @@ if ($time_format == '12') {
}
}
}
- for($h=1;$h<12;$h++) {
+ for($h=1;$h<$h2;$h++) {
$ht = sprintf("%02d",$h);
for($m=0;$m<60;$m=$m+15) {
$mt = sprintf("%02d",$m);
@@ -38,8 +45,23 @@ if ($time_format == '12') {
$dates[$t] = "$ht:$mt pm";
}
}
+ if ($event_calendar_restricted_times == 'yes') {
+ $m = 0;
+ $h = 9;
+ $ht = sprintf("%02d",$h);
+ $mt = sprintf("%02d",$m);
+ $t = 12*60+$h*60+$m;
+ $dates[$t] = "$ht:$mt pm";
+ }
} else {
- for($h=0;$h<24;$h++) {
+ if ($event_calendar_restricted_times == 'yes') {
+ $h1 = 6;
+ $h2 = 21;
+ } else {
+ $h1 = 0;
+ $h2 = 24;
+ }
+ for($h=$h1;$h<$h2;$h++) {
$ht = sprintf("%02d",$h);
for($m=0;$m<60;$m=$m+15) {
$mt = sprintf("%02d",$m);
@@ -47,6 +69,14 @@ if ($time_format == '12') {
$dates[$t] = "$ht:$mt";
}
}
+ if ($event_calendar_restricted_times == 'yes') {
+ $m = 0;
+ $h = 21;
+ $ht = sprintf("%02d",$h);
+ $mt = sprintf("%02d",$m);
+ $t = 12*60+$h*60+$m;
+ $dates[$t] = "$ht:$mt pm";
+ }
}
echo elgg_view('input/dropdown',array('name'=>$vars['name'],'value'=>$time,'options_values'=>$dates));
diff --git a/views/default/js/event_calendar/event_calendar.php b/views/default/js/event_calendar/event_calendar.php
index 8c4e735a6..b3ca2cc7b 100644
--- a/views/default/js/event_calendar/event_calendar.php
+++ b/views/default/js/event_calendar/event_calendar.php
@@ -6,6 +6,64 @@ elgg.event_calendar.init = function () {
$('.event-calendar-personal-calendar-toggle').click(elgg.event_calendar.handleDisplayPagePersonalCalendarToggle);
$('#event-calendar-region').change(elgg.event_calendar.handleRegionChange);
$('#event-calendar-ical-link').click(elgg.event_calendar.handleIcalPopup);
+ $('.event-calendar-repeating-unselected').each(elgg.event_calendar.setRepeatingClass);
+ $('.event-calendar-repeating-unselected').live('click',elgg.event_calendar.handleRepeatingSelect);
+ $('.event-calendar-repeating-selected').live('click',elgg.event_calendar.handleRepeatingUnselect);
+ $('#event-calendar-edit').submit(elgg.event_calendar.handleEditFormSubmit);
+
+ var all_day_field = $('[name="all_day"][type="checkbox"]');
+ if (all_day_field.is(':checked')) {
+ $('[name="start_time"]').val(0);
+ $('[name="start_time"]').attr('disabled','disabled');
+ $('[name="end_time"]').val(0);
+ $('[name="end_time"]').attr('disabled','disabled');
+ }
+ all_day_field.change(elgg.event_calendar.handleAllDayField);
+}
+
+elgg.event_calendar.handleAllDayField = function(e) {
+ var field = $('[name="start_time"]');
+ if (field.attr('disabled') == 'disabled') {
+ field.removeAttr('disabled');
+ } else {
+ field.attr('disabled','disabled');
+ }
+
+ field = $('[name="end_time"]');
+ if (field.attr('disabled') == 'disabled') {
+ field.removeAttr('disabled');
+ } else {
+ field.attr('disabled','disabled');
+ }
+}
+
+elgg.event_calendar.handleEditFormSubmit = function(e) {
+ if ($.trim($('[name="title"]').val()) == '') {
+ alert(elgg.echo('event_calendar:edit_form:error:missing_title'));
+ e.preventDefault();
+ }
+}
+
+elgg.event_calendar.setRepeatingClass = function(e) {
+ var id = $(this).attr('id');
+ if ($("[name='"+id+"-value']").val() == 1) {
+ $(this).removeClass('event-calendar-repeating-unselected');
+ $(this).addClass('event-calendar-repeating-selected');
+ }
+}
+
+elgg.event_calendar.handleRepeatingSelect = function(e) {
+ $(this).removeClass('event-calendar-repeating-unselected');
+ $(this).addClass('event-calendar-repeating-selected');
+ var id = $(this).attr('id');
+ $("[name='"+id+"-value']").val(1);
+}
+
+elgg.event_calendar.handleRepeatingUnselect = function(e) {
+ $(this).removeClass('event-calendar-repeating-selected');
+ $(this).addClass('event-calendar-repeating-unselected');
+ var id = $(this).attr('id');
+ $("[name='"+id+"-value']").val(0);
}
elgg.event_calendar.handleRegionChange = function(e) {
diff --git a/views/default/plugins/event_calendar/settings.php b/views/default/plugins/event_calendar/settings.php
index 93724484c..908818998 100644
--- a/views/default/plugins/event_calendar/settings.php
+++ b/views/default/plugins/event_calendar/settings.php
@@ -79,6 +79,28 @@ $body .= elgg_view('input/radio',array('name'=>'params[listing_format]','value'=
$body .= '<br />';
+$event_calendar_repeated_events = elgg_get_plugin_setting('repeated_events', 'event_calendar');
+if (!$event_calendar_repeated_events) {
+ $event_calendar_repeated_events = 'no';
+}
+
+$body .= elgg_echo('event_calendar:settings:repeated_events:title');
+$body .= '<br />';
+$body .= elgg_view('input/radio',array('name'=>'params[repeated_events]','value'=>$event_calendar_repeated_events,'options'=>$yn_options));
+
+$body .= '<br />';
+
+$event_calendar_reminders = elgg_get_plugin_setting('reminders', 'event_calendar');
+if (!$event_calendar_reminders) {
+ $event_calendar_reminders = 'no';
+}
+
+$body .= elgg_echo('event_calendar:settings:reminders:title');
+$body .= '<br />';
+$body .= elgg_view('input/radio',array('name'=>'params[reminders]','value'=>$event_calendar_reminders,'options'=>$yn_options));
+
+$body .= '<br />';
+
$event_calendar_times = elgg_get_plugin_setting('times', 'event_calendar');
if (!$event_calendar_times) {
$event_calendar_times = 'yes';
@@ -90,6 +112,17 @@ $body .= elgg_view('input/radio',array('name'=>'params[times]','value'=>$event_c
$body .= '<br />';
+$event_calendar_restricted_times = elgg_get_plugin_setting('restricted_times', 'event_calendar');
+if (!$event_calendar_restricted_times) {
+ $event_calendar_restricted_times = 'no';
+}
+
+$body .= elgg_echo('event_calendar:settings:restricted_times:title');
+$body .= '<br />';
+$body .= elgg_view('input/radio',array('name'=>'params[restricted_times]','value'=>$event_calendar_restricted_times,'options'=>$yn_options));
+
+$body .= '<br />';
+
$event_calendar_time_format = elgg_get_plugin_setting('timeformat', 'event_calendar');
if (!$event_calendar_time_format) {
$event_calendar_time_format = '24';
@@ -158,6 +191,17 @@ $body .= elgg_view('input/radio',array('name'=>'params[venue_view]','value'=>$ev
$body .= '<br />';
+$event_calendar_fewer_fields = elgg_get_plugin_setting('fewer_fields', 'event_calendar');
+if (!$event_calendar_fewer_fields) {
+ $event_calendar_fewer_fields = 'no';
+}
+
+$body .= elgg_echo('event_calendar:settings:fewer_fields:title');
+$body .= '<br />';
+$body .= elgg_view('input/radio',array('name'=>'params[fewer_fields]','value'=>$event_calendar_fewer_fields,'options'=>$yn_options));
+
+$body .= '<br />';
+
$options = array(elgg_echo('event_calendar:settings:no')=>'no',
elgg_echo('event_calendar:settings:site_calendar:admin')=>'admin',
elgg_echo('event_calendar:settings:site_calendar:loggedin')=>'loggedin',