'event_calendar:settings:full_calendar:title' => "Support full calendar",
'event_calendar:modify_full_calendar:error' => "Error: could not modify full calendar",
+ 'event_calendar:from_label' => "From:",
+ 'event_calendar:to_label' => "To:",
+ 'event_calendar:settings:timeformat:title' => "Time format",
+ 'event_calendar:time_format:12hour' => "12 hour (am/pm)",
+ 'event_calendar:time_format:24hour' => "24 hour",
/**
* Event calendar river
}
if ($event_calendar_times != 'no') {
- $sh = get_input('start_time_h','');
- $sm = get_input('start_time_m','');
- if (is_numeric($sh) && is_numeric($sm)) {
- // workaround for pulldown zero value bug
- $sh--;
- $sm--;
- $event->start_time = $sh*60+$sm;
+ $st = get_input('start_time','');
+ if (is_numeric($st)) {
+ $event->start_time = $st;
} else {
$event->start_time = '';
}
- $eh = get_input('end_time_h','');
- $em = get_input('end_time_m','');
- if (is_numeric($eh) && is_numeric($em)) {
- // workaround for pulldown zero value bug
- $eh--;
- $em--;
- $event->end_time = $eh*60+$em;
+ $et = get_input('end_time','');
+ if (is_numeric($et)) {
+ $event->end_time = $et;
} else {
$event->end_time = '';
}
}
function event_calendar_convert_time($time) {
- $hour = floor($time/60);
- $minute = sprintf("%02d",$time-60*$hour);
- return "$hour:$minute";
+ $event_calendar_time_format = elgg_get_plugin_setting('timeformat','event_calendar');
+ if ($event_calendar_time_format == '12') {
+ $hour = floor($time/60);
+ $minute = sprintf("%02d",$time-60*$hour);
+ if ($hour < 12) {
+ return "$hour:$minute am";
+ } else {
+ $hour -= 12;
+ return "$hour:$minute pm";
+ }
+ } else {
+ $hour = floor($time/60);
+ $minute = sprintf("%02d",$time-60*$hour);
+ return "$hour:$minute";
+ }
}
function event_calendar_format_time($date,$time1,$time2='') {
$event_calendar_times = elgg_get_plugin_setting('times', 'event_calendar') != 'no';
$start_date = date($date_format,$event->start_date);
- if ((!$event->end_date) || ($event->end_date == $event->start_date)) {
+ if ($event->end_date) {
+ $end_date = date($date_format,$event->end_date);
+ }
+ if ((!$event->end_date) || ($end_date == $start_date)) {
if ($event_calendar_times) {
$start_date = event_calendar_format_time($start_date,$event->start_time,$event->end_time);
}
$time_bit = $start_date;
} else {
- $end_date = date($date_format,$event->end_date);
if ($event_calendar_times) {
$start_date = event_calendar_format_time($start_date,$event->start_time);
$end_date = event_calendar_format_time($end_date,$event->end_time);
} else {
elgg_push_breadcrumb(elgg_echo('event_calendar:show_events_title'),'event_calendar/list');
}
+ elgg_push_breadcrumb($event->title,$event->getURL());
elgg_push_breadcrumb(elgg_echo('event_calendar:manage_event_title'));
$content = elgg_view_form('event_calendar/edit', $vars,$body_vars);
padding-top:.4em;
background:#fff;
margin:0 -.3em 0 1.5em;
+}
+
+.event-calendar-compressed-date {
+ width: 150px !important;
+ margin-right: 10px;
+}
+
+.event-calendar-date-time-setter label {
+ float: left;
+ width: 50px;
+ margin-top: 5px;
}
\ No newline at end of file
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,
);
?>
<script>
-handleEventDrop = function(event,dayDelta,minuteDelta,allDay,revertFunc) {
+handleEventClick = function(event) {
+ if (event.url) {
+ window.location.href = event.url;
+ return false;
+ }
+};
- alert(
- event.title + "(" + event.guid + ") was moved " +
- dayDelta + " days and " +
- minuteDelta + " minutes."
- );
+handleEventDrop = function(event,dayDelta,minuteDelta,allDay,revertFunc) {
if (!confirm("Are you sure about this change?")) {
revertFunc();
}
);
}
-}
+};
+
$(document).ready(function() {
var events = <?php echo $json_events_string; ?>;
var cal_events = [];
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
right: 'month,agendaWeek,agendaDay'
},
editable: true,
- slotMinutes: 5,
+ slotMinutes: 15,
eventDrop: handleEventDrop,
+ eventClick: handleEventClick,
events: cal_events
});
});
$body .= '<p class="description">'.$prefix['venue'].elgg_echo('event_calendar:venue_description').'</p>';
if ($event_calendar_times != 'no') {
- $body .= '<p><label>'.elgg_echo("event_calendar:start_time_label").'</label><br />';
+ $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));
- $body .= '</p>';
- $body .= '<p class="description">'.$prefix['start_time'].elgg_echo('event_calendar:start_time_description').'</p>';
-}
-
-$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') {
- if ($event_calendar_times != 'no') {
- $body .= '<p><label>'.elgg_echo("event_calendar:end_time_label").'</label><br />';
+ 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>';
- $body .= '<p class="description">'.$prefix['end_time'].elgg_echo('event_calendar:end_time_description').'</p>';
}
-
- $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 .= '</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['end_date'].elgg_echo('event_calendar:end_date_description').'</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>';
+ }
}
if ($event_calendar_spots_display == 'yes') {
$time_format = elgg_get_plugin_setting('timeformat', 'event_calendar');
if (!$time_format) {
- $time_format = 24;
+ $time_format = '24';
}
$value = $vars['value'];
if (is_numeric($value)) {
$hour = floor($value/60);
- $minute = ($value -60*$hour);
-
- // add 1 to avoid pulldown 0 bug
- $hour++;
- $minute++;
+ $minute = ($value -60*$hour);
+ $time = $hour*60+$minute;
} else {
- $hour = '-';
- $minute = '-';
+ $time = '-';
}
-$hours = array();
-$hours['-'] = '-';
-
-for($i=0;$i<$time_format;$i++) {
- $hours[$i+1] = $i;
-}
-
-$minutes = array();
-$minutes['-'] = '-';
-
-for($i=0;$i<60;$i=$i+5) {
- $minutes[$i+1] = sprintf("%02d",$i);
+$dates = array();
+$dates['-'] = '-';
+
+if ($time_format == '12') {
+ for($h=0;$h<=12;$h++) {
+ $ht = sprintf("%02d",$h);
+ for($m=0;$m<60;$m=$m+15) {
+ $mt = sprintf("%02d",$m);
+ $t = $h*60+$m;
+ if ($h < 12) {
+ $dates[$t] = "$ht:$mt am";
+ } else {
+ $dates[$t] = "$ht:$mt pm";
+ }
+ }
+ }
+ for($h=1;$h<12;$h++) {
+ $ht = sprintf("%02d",$h);
+ for($m=0;$m<60;$m=$m+15) {
+ $mt = sprintf("%02d",$m);
+ $t = 12*60+$h*60+$m;
+ $dates[$t] = "$ht:$mt pm";
+ }
+ }
+} else {
+ for($h=0;$h<24;$h++) {
+ $ht = sprintf("%02d",$h);
+ for($m=0;$m<60;$m=$m+15) {
+ $mt = sprintf("%02d",$m);
+ $t = $h*60+$m;
+ $dates[$t] = "$ht:$mt";
+ }
+ }
}
-echo elgg_view('input/dropdown',array('name'=>$vars['name'].'_h','value'=>$hour,'options_values'=>$hours));
-echo elgg_view('input/dropdown',array('name'=>$vars['name'].'_m','value'=>$minute,'options_values'=>$minutes));
+echo elgg_view('input/dropdown',array('name'=>$vars['name'],'value'=>$time,'options_values'=>$dates));
-?>
\ No newline at end of file
--- /dev/null
+<?php
+
+$time_format = elgg_get_plugin_setting('timeformat', 'event_calendar');
+if (!$time_format) {
+ $time_format = 24;
+}
+
+$value = $vars['value'];
+if (is_numeric($value)) {
+ $hour = floor($value/60);
+ $minute = ($value -60*$hour);
+
+ // add 1 to avoid pulldown 0 bug
+ $hour++;
+ $minute++;
+} else {
+ $hour = '-';
+ $minute = '-';
+}
+
+$hours = array();
+$hours['-'] = '-';
+
+for($i=0;$i<$time_format;$i++) {
+ $hours[$i+1] = $i;
+}
+
+$minutes = array();
+$minutes['-'] = '-';
+
+for($i=0;$i<60;$i=$i+15) {
+ $minutes[$i+1] = sprintf("%02d",$i);
+}
+
+echo elgg_view('input/dropdown',array('name'=>$vars['name'].'_h','value'=>$hour,'options_values'=>$hours));
+echo elgg_view('input/dropdown',array('name'=>$vars['name'].'_m','value'=>$minute,'options_values'=>$minutes));
+
+?>
\ No newline at end of file
elgg_echo('event_calendar:settings:no')=>'no',
);
+$time_format_options = array(elgg_echo('event_calendar:time_format:12hour')=>'12',elgg_echo('event_calendar:time_format:24hour')=>'24');
+
$membership_options = array(
elgg_echo('event_calendar:personal_manage:open') => 'open' ,
elgg_echo('event_calendar:personal_manage:closed') => 'closed',
$body .= '<br />';
+$event_calendar_time_format = elgg_get_plugin_setting('timeformat', 'event_calendar');
+if (!$event_calendar_time_format) {
+ $event_calendar_time_format = '24';
+}
+
+$body .= elgg_echo('event_calendar:settings:timeformat:title');
+$body .= '<br />';
+$body .= elgg_view('input/radio',array('name'=>'params[timeformat]','value'=>$event_calendar_time_format,'options'=>$time_format_options));
+
+$body .= '<br />';
+
$event_calendar_autopersonal = elgg_get_plugin_setting('autopersonal', 'event_calendar');
if (!$event_calendar_autopersonal) {
$event_calendar_autopersonal = 'yes';