From 2d19bfa232be5eff43bb6c1d1eef12e681552956 Mon Sep 17 00:00:00 2001 From: Kevin Jardine Date: Mon, 19 Mar 2012 17:09:30 +0100 Subject: full calendar click to view, time system revamp --- languages/en.php | 5 ++ models/model.php | 45 +++++++++------- views/default/event_calendar/css.php | 11 ++++ .../default/event_calendar/full_calendar_view.php | 22 +++++--- views/default/forms/event_calendar/edit.php | 41 ++++++++------- views/default/input/timepicker.php | 61 ++++++++++++++-------- views/default/input/timepicker_old.php | 38 ++++++++++++++ views/default/plugins/event_calendar/settings.php | 13 +++++ 8 files changed, 167 insertions(+), 69 deletions(-) create mode 100644 views/default/input/timepicker_old.php diff --git a/languages/en.php b/languages/en.php index 1a356524b..2e4c3373a 100644 --- a/languages/en.php +++ b/languages/en.php @@ -256,6 +256,11 @@ You can manage calendar requests for this event here: '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 diff --git a/models/model.php b/models/model.php index f1ed39369..aa97bfddb 100644 --- a/models/model.php +++ b/models/model.php @@ -92,23 +92,15 @@ function event_calendar_set_event_from_form($event_guid,$group_guid) { } 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 = ''; } @@ -874,9 +866,21 @@ function event_calendar_handle_leave($event, $object_type, $object) { } 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='') { @@ -970,13 +974,15 @@ function event_calendar_get_formatted_time($event) { $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); @@ -1243,6 +1249,7 @@ function event_calendar_get_page_content_edit($page_type,$guid) { } 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); diff --git a/views/default/event_calendar/css.php b/views/default/event_calendar/css.php index 469f72de8..a2437e065 100644 --- a/views/default/event_calendar/css.php +++ b/views/default/event_calendar/css.php @@ -164,4 +164,15 @@ li.event-calendar-filter-menu-show-only { 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 diff --git a/views/default/event_calendar/full_calendar_view.php b/views/default/event_calendar/full_calendar_view.php index d4e85724e..58aefe741 100644 --- a/views/default/event_calendar/full_calendar_view.php +++ b/views/default/event_calendar/full_calendar_view.php @@ -9,7 +9,9 @@ $times_supported = elgg_get_plugin_setting('times','event_calendar') != 'no'; foreach($events as $e) { $event_item = array( 'guid' => $e->guid, + //'title' => ''.$e->title.'', 'title' => $e->title, + 'url' => $e->getURL(), 'start_date' => $e->start_date, 'end_date' => $e->real_end_time, ); @@ -28,13 +30,14 @@ $json_events_string = json_encode($event_array); ?>