diff options
Diffstat (limited to 'views/default')
31 files changed, 946 insertions, 729 deletions
diff --git a/views/default/css/elements/forms/datepicker_multi.php b/views/default/css/elements/forms/datepicker_multi.php new file mode 100644 index 000000000..4a18bdad1 --- /dev/null +++ b/views/default/css/elements/forms/datepicker_multi.php @@ -0,0 +1,39 @@ +<?php + +?> + +.ui-datepicker.ui-datepicker-multi { + width: auto; +} +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} +.ui-datepicker-multi .ui-datepicker-group table { + margin-bottom: 0.4em; + margin-left: auto; + margin-right: auto; + margin-top: 0; + width: 95%; +} +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { + border-left-width-ltr-source: physical; + border-left-width-rtl-source: physical; + border-left-width-value: 0; +} +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width-ltr-source: physical; + border-left-width-rtl-source: physical; + border-left-width-value: 0; +} +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} diff --git a/views/default/event_calendar/conference_button.php b/views/default/event_calendar/conference_button.php new file mode 100644 index 000000000..f6fedf4f6 --- /dev/null +++ b/views/default/event_calendar/conference_button.php @@ -0,0 +1,32 @@ +<?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 conference ends. + +$event = $vars['event']; + +if ($event) { + elgg_load_library('elgg:event_calendar'); + $user_guid = elgg_get_logged_in_user_guid(); + $termination_time = $event->real_end_time + 60*60*24; + 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) && ($event->start_date - 15*60) >= time()) { + $in_time_window = TRUE; + } else { + $in_time_window = FALSE; + } + if ( $in_time_window ) { + $button = elgg_view('output/url', array( + 'href' => event_calendar_get_join_bbb_url($event), + 'text' => elgg_echo('event_calendar:join_conf_button'), + 'class' => 'elgg-button elgg-button-action', + 'target' => '_blank', + )); + + echo '<div class="event-calendar-conf-join-button">'.$button.'</div>'; + } +} diff --git a/views/default/event_calendar/container.php b/views/default/event_calendar/container.php new file mode 100644 index 000000000..cb5c8620c --- /dev/null +++ b/views/default/event_calendar/container.php @@ -0,0 +1,28 @@ +<?php +elgg_load_library('elgg:event_calendar'); +$site_calendar = elgg_get_plugin_setting('site_calendar', 'event_calendar'); +$group_calendar = elgg_get_plugin_setting('group_calendar', 'event_calendar'); +$admin = elgg_is_admin_logged_in(); +$containers = array(); +if (($site_calendar != 'no') && ($admin || !$site_calendar || ($site_calendar == 'loggedin'))) { + $containers[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..00cfd6cbb 100644 --- a/views/default/event_calendar/css.php +++ b/views/default/event_calendar/css.php @@ -38,6 +38,10 @@ ul#calendarmenu li a:hover, ul#calendarmenu li.sys_selected a{ background: <?php echo $highlight_colour; ?>; } +.event-calendar-ical { + width: 200px; +} + td.ui-datepicker-unselectable { background-color: #FFFFFF !important; color: #888888 !important; @@ -171,8 +175,90 @@ li.event-calendar-filter-menu-show-only { margin-right: 10px; } -.event-calendar-date-time-setter label { - float: left; - width: 50px; +fieldset > legend { + font-weight: bold; + font-size: 1.2em; + line-height: 1.1em; + padding-bottom: 5px; +} +.event-calendar-repeating-wrapper { + padding: 0; margin-top: 5px; -}
\ No newline at end of file +} +.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; + display: none; +} + +.event-calendar-edit-reminder-wrapper { + margin-top: 10px; + display: none; +} + +.event-calendar-edit-form-membership-block, .event-calendar-edit-form-share-block { + display: none; +} + +.event-calendar-description { + display: none; +} + +.event-calendar-edit-bottom { + clear: both; + margin-bottom: 5px; +} + +.event-calendar-date-selected { + background-color: #DDDDFF; +} diff --git a/views/default/event_calendar/datetime_edit.php b/views/default/event_calendar/datetime_edit.php new file mode 100644 index 000000000..2e0830167 --- /dev/null +++ b/views/default/event_calendar/datetime_edit.php @@ -0,0 +1,46 @@ +<?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("input/date", array( + 'class'=>'event-calendar-compressed-date', + 'name' => 'start_date', + 'value'=>$vars['start_date'], + )); + $body .= '<span id="event-calendar-start-time-wrapper">'; + $body .= elgg_view("input/timepicker",array('name' => 'start_time','value'=>$vars['start_time'])); + $body .= '</span>'; + if ($event_calendar_hide_end != 'yes') { + $body .= '</p><p id="event-calendar-to-time-wrapper"><label>'.elgg_echo('event_calendar:to_label').'</label>'; + $body .= elgg_view("input/date", array( + 'class'=>'event-calendar-compressed-date', + 'name' => 'end_date', + 'value'=>$vars['end_date'], + )); + $body .= '<span id="event-calendar-end-time-wrapper">'; + $body .= elgg_view("input/timepicker",array('name' => 'end_time','value'=>$vars['end_time'])); + $body .= '</span>'; + } + $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 id="event-calendar-to-time-wrapper"><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/filter_menu.php b/views/default/event_calendar/filter_menu.php index 369d09e5f..1364902a8 100644 --- a/views/default/event_calendar/filter_menu.php +++ b/views/default/event_calendar/filter_menu.php @@ -15,19 +15,22 @@ $tabs = array( 'selected' => ($filter_context == 'all'), 'priority' => 200, ), - 'mine' => array( +); + +if (elgg_is_logged_in()) { + $tabs ['mine'] = array( 'text' => elgg_echo('event_calendar:show_mine'), 'href' => "$url_start/mine", 'selected' => ($filter_context == 'mine'), 'priority' => 300, - ), - 'friend' => array( + ); + $tabs['friend'] = array( 'text' => elgg_echo('event_calendar:show_friends'), 'href' => "$url_start/friends", 'selected' => ($filter_context == 'friends'), 'priority' => 400, - ), -); + ); +} $tab_rendered = array(); @@ -56,13 +59,10 @@ foreach ($tabs as $name => $tab) { //echo elgg_view_menu('filter', array('sort_by' => 'priority', 'class' => 'elgg-menu-hz')); -$text_bit = '<li class="event-calendar-filter-menu-show-only">'.elgg_echo('event_calendar:show_only').'</li>'; - $menu = <<<__MENU <ul class="elgg-menu elgg-menu-filter elgg-menu-hz elgg-menu-filter-default"> {$tab_rendered['open']} {$tab_rendered['all']} - $text_bit {$tab_rendered['mine']} {$tab_rendered['friend']} </ul> diff --git a/views/default/event_calendar/forms/add_to_group.php b/views/default/event_calendar/forms/add_to_group.php index f9640733c..2c8fdec53 100644 --- a/views/default/event_calendar/forms/add_to_group.php +++ b/views/default/event_calendar/forms/add_to_group.php @@ -72,5 +72,3 @@ if ($add_options || $remove_options) { } echo '</div>'; } - -?>
\ No newline at end of file diff --git a/views/default/event_calendar/forms/delete_confirm.php b/views/default/event_calendar/forms/delete_confirm.php deleted file mode 100644 index 37134e695..000000000 --- a/views/default/event_calendar/forms/delete_confirm.php +++ /dev/null @@ -1,13 +0,0 @@ -<?php - -$body = '<p class="description">'.sprintf(elgg_echo('event_calendar:delete_confirm_description'),$vars['title']).'</p>'; - -$body .= '<form action="'.$vars['url'].'action/event_calendar/manage" method="post" >'; -$body .= elgg_view('input/securitytoken'); -$body .= elgg_view('input/hidden',array('internalname'=>'event_action', 'value'=>'delete_event')); -$body .= elgg_view('input/hidden',array('internalname'=>'event_id', 'value'=>$vars['event_id'])); -$body .= elgg_view('input/submit', array('internalname'=>'submit','value'=>elgg_echo('event_calendar:submit'))); -$body .= '</form>'; - -echo elgg_view('page_elements/contentwrapper', array('body'=>$body)); -?>
\ No newline at end of file diff --git a/views/default/event_calendar/forms/manage_event.php b/views/default/event_calendar/forms/manage_event.php deleted file mode 100644 index f9d78e3f4..000000000 --- a/views/default/event_calendar/forms/manage_event.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php - -/** - * Elgg manage event view - * - * @package event_calendar - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Kevin Jardine <kevin@radagast.biz> - * @copyright Radagast Solutions 2008 - * @link http://radagast.biz/ - * - */ - -elgg_extend_view('metatags','event_calendar/metatags'); - -$body = elgg_view('event_calendar/forms/manage_event_content',$vars); - -$body .= elgg_view('input/submit', array('internalname'=>'submit','value'=>elgg_echo('event_calendar:submit'))); -$form = elgg_view('input/form',array('action'=>$vars['url'].'action/event_calendar/manage','body'=>$body)); - -print elgg_view('page_elements/contentwrapper',array('body'=>$form)); -?>
\ No newline at end of file diff --git a/views/default/event_calendar/forms/manage_event_content.php b/views/default/event_calendar/forms/manage_event_content.php deleted file mode 100644 index f28788132..000000000 --- a/views/default/event_calendar/forms/manage_event_content.php +++ /dev/null @@ -1,254 +0,0 @@ -<?php -$event = $vars['event']; -$event_id = $vars['event_id']; -$event_calendar_times = get_plugin_setting('times', 'event_calendar'); -$event_calendar_region_display = get_plugin_setting('region_display', 'event_calendar'); -$event_calendar_type_display = get_plugin_setting('type_display', 'event_calendar'); -$event_calendar_spots_display = get_plugin_setting('spots_display', 'event_calendar'); -$event_calendar_add_users = get_plugin_setting('add_users', 'event_calendar'); -$event_calendar_hide_access = get_plugin_setting('hide_access', 'event_calendar'); -$event_calendar_hide_end = get_plugin_setting('hide_end', 'event_calendar'); -$event_calendar_more_required = get_plugin_setting('more_required', 'event_calendar'); - -if ($event_calendar_more_required == 'yes') { - $required_fields = array('title','venue','start_date','start_time', - 'brief_description','region','event_type','fees','contact','organiser', - 'event_tags','spots'); -} else { - $required_fields = array('title','venue','start_date'); -} -$all_fields = array('title','venue','start_time','start_date','end_time','end_date', - 'brief_description','region','event_type','fees','contact','organiser','event_tags', - 'long_description','spots'); -$prefix = array(); -foreach ($all_fields as $fn) { - if (in_array($fn,$required_fields)) { - $prefix[$fn] = elgg_echo('event_calendar:required').' '; - } else { - $prefix[$fn] = elgg_echo('event_calendar:optional').' '; - } -} - -if ($event) { - $title = $event->title; - $brief_description = $event->description; - $venue = $event->venue; - if ($event->form_data) { - // this is a form redisplay, so take the values as submitted - $start_date = $event->start_date; - $end_date = $event->end_date; - } else { - // the values are from the database, - // so convert - $start_date = date("l, F j, Y",$event->start_date); - if ($event->end_date) { - $end_date = date("l, F j, Y",$event->end_date); - } else { - $end_date = ''; - } - } - - if ($event_calendar_region_display) { - $region = $event->region; - if (!$region) { - $region = '-'; - } - } - - if ($event_calendar_spots_display) { - $spots = trim($event->spots); - } - if ($event_calendar_type_display) { - $event_type = $event->event_type; - if (!$event_type) { - $event_type = '-'; - } - } - $fees = $event->fees; - $contact = $event->contact; - $organiser = $event->organiser; - $event_tags = $event->event_tags; - $long_description = $event->long_description; - $access = $event->access_id; - if ($event_calendar_times == 'yes') { - $start_time = $event->start_time; - $end_time = $event->end_time; - } - $event_action = 'manage_event'; -} else { - $event_id = 0; - $title = ''; - $brief_description = ''; - $venue = ''; - $start_date = ''; - $end_date = ''; - $fees = ''; - if ($event_calendar_spots_display) { - $spots = ''; - } - if ($event_calendar_region_display) { - $region = '-'; - } - if ($event_calendar_type_display) { - $event_type = '-'; - } - $contact = ''; - $organiser = ''; - $event_tags = ''; - $long_description = ''; - $access = get_default_access(); - if ($event_calendar_times == 'yes') { - $start_time = ''; - $end_time = ''; - } - $event_action = 'add_event'; -} -$body = ''; - -$body .= elgg_view('input/hidden',array('internalname'=>'event_action', 'value'=>$event_action)); -$body .= elgg_view('input/hidden',array('internalname'=>'event_id', 'value'=>$event_id)); -$body .= elgg_view('input/hidden',array('internalname'=>'group_guid', 'value'=>$vars['group_guid'])); - -$body .= '<p><label>'.elgg_echo("event_calendar:title_label").'<br />'; -$body .= elgg_view("input/text",array('internalname' => 'title','value'=>$title)); -$body .= '</label></p>'; -$body .= '<p class="description">'.$prefix['title'].elgg_echo('event_calendar:title_description').'</p>'; - -$body .= '<p><label>'.elgg_echo("event_calendar:venue_label").'<br />'; -$body .= elgg_view("input/text",array('internalname' => 'venue','value'=>$venue)); -$body .= '</label></p>'; -$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 .= elgg_view("input/timepicker",array('internalname' => '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("input/datepicker_popup",array('internalname' => '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 />'; - $body .= elgg_view("input/timepicker",array('internalname' => '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("input/datepicker_popup",array('internalname' => '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') { - $body .= '<p><label>'.elgg_echo("event_calendar:spots_label").'<br />'; - $body .= elgg_view("input/text",array('internalname' => 'spots','value'=>$spots)); - $body .= '</label></p>'; - $body .= '<p class="description">'.$prefix['spots'].elgg_echo('event_calendar:spots_description').'</p>'; -} - -if ($event_calendar_add_users == 'yes') { - $body .= '<p><label>'.elgg_echo("event_calendar:add_user_label").'<br />'; - $body .= elgg_view("input/adduser",array('internalname' => 'adduser','internalid' => 'do_adduser','width'=> 200, 'minChars'=>2)); - $body .= '</label></p><br /><br />'; - $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('internalname' => 'brief_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('internalname' => '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('internalname' => '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('internalname' => '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('internalname' => '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('internalname' => 'organiser','value'=>$organiser)); -$body .= '</label></p>'; -$body .= '<p class="description">'.$prefix['organiser'].elgg_echo('event_calendar:organiser_description').'</p>'; - -$body .= '<p><label>'.elgg_echo("event_calendar:event_tags_label").'<br />'; -$body .= elgg_view("input/tags",array('internalname' => 'event_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('internalname' => 'long_description','value'=>$long_description)); -$body .= '</label></p>'; -$body .= '<p class="description">'.$prefix['long_description'].elgg_echo('event_calendar:long_description_description').'</p>'; - -if($event_calendar_hide_access == 'yes') { - $event_calendar_default_access = get_plugin_setting('default_access', 'event_calendar'); - if($event_calendar_default_access) { - $body .= elgg_view("input/hidden",array('internalname' => 'access','value'=>$event_calendar_default_access)); - } else { - $body .= elgg_view("input/hidden",array('internalname' => 'access','value'=>ACCESS_PRIVATE)); - } -} else { - $body .= '<p><label>'.elgg_echo("access").'<br />'; - $body .= elgg_view("input/access",array('internalname' => 'access','value'=>$access)); - $body .= '</label></p>'; -} - -print $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..1a58321b5 100644 --- a/views/default/event_calendar/full_calendar_view.php +++ b/views/default/event_calendar/full_calendar_view.php @@ -1,56 +1,82 @@ <?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); +$timeformat = elgg_get_plugin_setting('timeformat', 'event_calendar') == 24 ? 'H(:mm)' : 'h(:mm)t'; // TODO: is there an easy way to avoid embedding JS? ?> <script> +var goToDateFlag = 0; + handleEventClick = function(event) { if (event.url) { window.location.href = event.url; - return false; + event.preventDefault(); } }; -handleEventDrop = function(event,dayDelta,minuteDelta,allDay,revertFunc) { +handleDayClick = function(date,allDay,jsEvent,view) { + var iso = getISODate(date); + var link = $('.elgg-menu-item-event-calendar-0add').find('a').attr('href'); + var ss = link.split('/'); + var link = $('.elgg-menu-item-event-calendar-0add').find('a').attr('href'); + var ss = link.split('/'); + var last_ss = ss[ss.length-1]; + var group_guid; + if (last_ss == 'add') { + group_guid = 0; + } else if (last_ss.split('-').length == 3) { + group_guid = ss[ss.length-2]; + } else { + group_guid = last_ss; + } + var url = elgg.get_site_url(); + $('.fc-widget-content').removeClass('event-calendar-date-selected'); + var current_iso = $('#event-calendar-selected-date').val(); + if (current_iso == iso) { + // deselect + $('#event-calendar-selected-date').val(""); + $('.elgg-menu-item-event-calendar-0add').find('a').attr('href',url+'event_calendar/add/'+group_guid); + $('.event-calendar-button-add').attr('href',url+'event_calendar/add/'+group_guid); + $('.elgg-menu-item-event-calendar-1schedule').find('a').attr('href',url+'event_calendar/schedule/'+group_guid); + } else { + $('#event-calendar-selected-date').val(iso); + $('.elgg-menu-item-event-calendar-0add').find('a').attr('href',url+'event_calendar/add/'+group_guid+'/'+iso); + $('.event-calendar-button-add').attr('href',url+'event_calendar/add/'+group_guid+'/'+iso); + $('.elgg-menu-item-event-calendar-1schedule').find('a').attr('href',url+'event_calendar/schedule/'+group_guid+'/'+iso); + + $(this).addClass('event-calendar-date-selected'); + } +} - if (!confirm("Are you sure about this change?")) { +handleEventDrop = function(event,dayDelta,minuteDelta,allDay,revertFunc) { + + if (!event.is_event_poll && !confirm("<?php echo elgg_echo('event_calendar:are_you_sure'); ?>")) { revertFunc(); } else { + if (event.is_event_poll) { + if (confirm("<?php echo elgg_echo('event_calendar:resend_poll_invitation'); ?>")) { + var resend = 1; + } else { + resend = 0; + } + var data = {event_guid: event.guid, startTime: event.start.toISOString(), dayDelta: dayDelta, minuteDelta: minuteDelta, resend: resend, minutes: event.minutes, iso_date: event.iso_date}; + } else { + data = {event_guid: event.guid, startTime: event.start.toISOString(), dayDelta: dayDelta, minuteDelta: minuteDelta}; + } elgg.action('event_calendar/modify_full_calendar', { - data: {event_guid: event.guid,dayDelta: dayDelta, minuteDelta: minuteDelta}, + data: data, success: function (res) { var success = res.success; var msg = res.message; if (!success) { elgg.register_error(msg,2000); revertFunc() + } else { + event.minutes = res.minutes; + event.iso_date = res.iso_date; } } } @@ -58,32 +84,117 @@ 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.getDate(); + day = day < 10 ? '0' + day : day; + return year +"-"+month+"-"+day; +} + +handleEventRender = function(event, element, view) { + /*if (event.is_event_poll) { + element.draggable = false; + }*/ +} + +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); + } + }); + // reset date links and classes + //$('.fc-widget-content').removeClass('event-calendar-date-selected'); + var link = $('.elgg-menu-item-event-calendar-0add').find('a').attr('href'); + if (link != undefined) { + var ss = link.split('/'); + var last_ss = ss[ss.length-1]; + var group_guid; + if (last_ss == 'add') { + group_guid = 0; + } else if (last_ss.split('-').length == 3) { + group_guid = ss[ss.length-2]; + } else { + group_guid = last_ss; + } + var url = elgg.get_site_url(); + $('.elgg-menu-item-event-calendar-0add').find('a').attr('href',url+'event_calendar/add/'+group_guid); + $('.elgg-menu-item-event-calendar-1schedule').find('a').attr('href',url+'event_calendar/schedule/'+group_guid); + } +} + +handleViewDisplay = function(view) { + // TODO: finish this, need to highlight selected date if any + var current_iso = $('#event-calendar-selected-date').val(); + if (view == 'month') { + goToDateFlag = 0; + } else if (goToDateFlag == 0 && current_iso != "") { + goToDateFlag = 1; + var a = current_iso.split("-"); + $('#calendar').fullCalendar('gotoDate',parseInt(a[0],10),parseInt(a[1],10)-1,parseInt(a[2],10)); + //$('.fc-widget-content').removeClass('event-calendar-date-selected'); + //$(".fc-widget-content[data-date='"+ciso+"']").addClass('event-calendar-date-selected'); + } + + //$(".fc-widget-content[data-date='20120105']") +} + +fullcalendarInit = function() { + + var loadFullCalendar = function() { + var locale = $.datepicker.regional[elgg.get_language()]; + if (!locale) { + locale = $.datepicker.regional['']; + } + $('#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, + eventRender: handleEventRender, + eventDrop: handleEventDrop, + eventClick: handleEventClick, + dayClick: handleDayClick, + events: handleGetEvents, + viewDisplay: handleViewDisplay, + + isRTL: locale.isRTL, + firstDay: locale.firstDay, + monthNames: locale.monthNames, + monthNamesShort: locale.monthNamesShort, + dayNames: locale.dayNames, + dayNamesShort: locale.dayNamesShort, + buttonText: { + today: locale.currentText, + month: elgg.echo('event_calendar:month_label'), + week: elgg.echo('event_calendar:week_label'), + day: elgg.echo('event_calendar:day_label') + }, + timeFormat: "<?php echo $timeformat; ?>", }); } - $('#calendar').fullCalendar({ - header: { - left: 'prev,next today', - center: 'title', - right: 'month,agendaWeek,agendaDay' - }, - editable: true, - slotMinutes: 15, - eventDrop: handleEventDrop, - eventClick: handleEventClick, - events: cal_events + elgg.get({ + url: elgg.config.wwwroot + 'vendors/jquery/i18n/jquery.ui.datepicker-'+ elgg.get_language() +'.js', + dataType: "script", + cache: true, + success: loadFullCalendar, + error: loadFullCalendar, // english language is already loaded. }); -}); +} + +elgg.register_hook_handler('init', 'system', fullcalendarInit); + </script> <div id='calendar'></div> +<input type="hidden" id="event-calendar-selected-date" /> diff --git a/views/default/event_calendar/groupprofile_calendar.php b/views/default/event_calendar/groupprofile_calendar.php index 7ee09104f..c71780be8 100644 --- a/views/default/event_calendar/groupprofile_calendar.php +++ b/views/default/event_calendar/groupprofile_calendar.php @@ -26,10 +26,8 @@ if (event_calendar_activated_for_group($page_owner_entity)) { if (is_array($events) && sizeof($events) > 0) { foreach($events as $event) { - echo elgg_view("object/event_calendar",array('entity' => $event)); + echo elgg_view("object/event_calendar",array('entity' => $event['event'])); } } } - -?>
\ No newline at end of file diff --git a/views/default/event_calendar/input/date_local.php b/views/default/event_calendar/input/date_local.php index f4cb48d11..a0ce7f4d3 100644 --- a/views/default/event_calendar/input/date_local.php +++ b/views/default/event_calendar/input/date_local.php @@ -44,7 +44,6 @@ if ($timestamp) { $vars['class'] = "{$vars['class']} elgg-input-timestamp"; $vars['id'] = $vars['name']; unset($vars['name']); - unset($vars['internalname']); } // convert timestamps to text for display diff --git a/views/default/event_calendar/input/longtext.php b/views/default/event_calendar/input/longtext.php deleted file mode 100644 index 86b0f3fc4..000000000 --- a/views/default/event_calendar/input/longtext.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php - - /** - * Elgg long text input - * Displays a long text input field - * - * @package Elgg - * @subpackage Core - - * @author Curverider Ltd - - * @link http://elgg.org/ - * - * @uses $vars['value'] The current value, if any - * @uses $vars['js'] Any Javascript to enter into the input tag - * @uses $vars['internalname'] The name of the input field - * - */ - - $class = $vars['class']; - if (!$class) $class = "input-textarea"; - -?> - -<textarea class="<?php echo $class; ?>" name="<?php echo $vars['internalname']; ?>" <?php if (isset($vars['internalid'])) echo "id=\"{$vars['internalid']}\""; ?> <?php if ($vars['disabled']) echo ' disabled="yes" '; ?> <?php echo $vars['js']; ?>><?php echo htmlentities($vars['value'], ENT_QUOTES, 'UTF-8'); ?></textarea>
\ No newline at end of file diff --git a/views/default/event_calendar/personal_manage_section.php b/views/default/event_calendar/personal_manage_section.php new file mode 100644 index 000000000..9e03db0ab --- /dev/null +++ b/views/default/event_calendar/personal_manage_section.php @@ -0,0 +1,20 @@ +<?php +$fd = $vars['form_data']; +$event_calendar_personal_manage = elgg_get_plugin_setting('personal_manage', 'event_calendar'); +$body = ''; + +if ($event_calendar_personal_manage == 'by_event') { + $personal_manage_options = array( + 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', + ); + $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'=>$fd['personal_manage'],'options'=>$personal_manage_options)); + //$body .= '<p class="event-calendar-description">'.$prefix['personal_manage'].elgg_echo('event_calendar:personal_manage:description').'</p>'; + $body .= '<br clear="both" />'; + $body .= '</div>'; +} + +echo $body; diff --git a/views/default/event_calendar/reminder_section.php b/views/default/event_calendar/reminder_section.php new file mode 100644 index 000000000..fffa6d065 --- /dev/null +++ b/views/default/event_calendar/reminder_section.php @@ -0,0 +1,28 @@ +<?php +$fd = $vars['form_data']; +$event_calendar_reminders = elgg_get_plugin_setting('reminders', 'event_calendar'); +$body = ''; +if ($event_calendar_reminders == 'yes') { + $body .= '<div class="event-calendar-edit-reminder-wrapper">'; + if ($fd['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'=>$fd['reminder_number'])); + $body .= elgg_view('input/dropdown',array('name'=>'reminder_interval','options_values'=>$intervals,'value'=>$fd['reminder_interval'])); + $body .= elgg_echo('elgg_calendar:send_reminder_before'); + $body .= '</div>'; +} +echo $body; 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..5de858caf --- /dev/null +++ b/views/default/event_calendar/repeat_form_element.php @@ -0,0 +1,32 @@ +<?php +$event = $vars['event']; +$fd = $vars['form_data']; +$days = array('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'); + +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'); + +echo '<div class="event-calendar-repeating-wrapper">'; + +foreach($days as $day) { + $label = elgg_echo("event_calendar:day_abbrev:$day"); + echo <<<HTML +<a id="event-calendar-repeating-$day" href="javascript:void(0);" class="event-calendar-repeating-unselected"> + $label +</a> +HTML; + +} + +echo '</div>'; + +foreach($days as $day) { + echo elgg_view('input/hidden', array('name' => "event-calendar-repeating-$day-value", 'value' => $fd["event-calendar-repeating-$day-value"])); +}
\ No newline at end of file diff --git a/views/default/event_calendar/schedule_section.php b/views/default/event_calendar/schedule_section.php new file mode 100644 index 000000000..3a74dc789 --- /dev/null +++ b/views/default/event_calendar/schedule_section.php @@ -0,0 +1,22 @@ +<?php +$event = $vars['event']; +$fd = $vars['form_data']; +$event_calendar_repeated_events = elgg_get_plugin_setting('repeated_events', 'event_calendar'); + +$body = '<div class="event-calendar-edit-date-wrapper">'; +$body .= elgg_view('event_calendar/datetime_edit', + array( + 'start_date' => $fd['start_date'], + 'end_date' => $fd['end_date'], + 'start_time' => $fd['start_time'], + 'end_time' => $fd['end_time'], + 'prefix' => $vars['prefix'], +)); +if ($event_calendar_repeated_events == 'yes') { + $body .= elgg_view('event_calendar/repeat_form_element',$vars); +} + +$body .= elgg_view('event_calendar/reminder_section',$vars); +$body .= '</div>'; + +echo $body; diff --git a/views/default/event_calendar/share_section.php b/views/default/event_calendar/share_section.php new file mode 100644 index 000000000..c4f6cf45f --- /dev/null +++ b/views/default/event_calendar/share_section.php @@ -0,0 +1,26 @@ +<?php +$fd = $vars['form_data']; +$event_calendar_hide_access = elgg_get_plugin_setting('hide_access', 'event_calendar'); +$body = '<fieldset>'; +$body .= '<legend>'.elgg_echo('event_calendar:permissions:header').'</legend>'; +if($event_calendar_hide_access == 'yes') { + $event_calendar_default_access = elgg_get_plugin_setting('default_access', 'event_calendar'); + if($event_calendar_default_access) { + $body .= elgg_view("input/hidden",array('name' => 'access_id','value'=>$event_calendar_default_access)); + } else { + $body .= elgg_view("input/hidden",array('name' => 'access_id','value'=>ACCESS_DEFAULT)); + } +} else { + $body .= '<p><label>'.elgg_echo('event_calendar:read_access').'</label>'; + $body .= elgg_view("input/access",array('name' => 'access_id','value'=>$fd['access_id'])); + $body .= '</p>'; +} +if (elgg_plugin_exists('entity_admins')) { + $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'=>$vars['event'])); +} +$body .= '</fieldset>'; + +echo $body; 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..d45fb387b 100644 --- a/views/default/forms/event_calendar/edit.php +++ b/views/default/forms/event_calendar/edit.php @@ -2,21 +2,24 @@ $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', +$schedule_options = array( + elgg_echo('event_calendar:all_day_label') => 'all_day', + elgg_echo('event_calendar:schedule_type:fixed')=>'fixed', ); -$event_calendar_times = elgg_get_plugin_setting('times', 'event_calendar'); +if (elgg_plugin_exists('event_poll')) { + $schedule_options = array_merge(array(elgg_echo('event_calendar:schedule_type:poll')=>'poll'),$schedule_options); +} + +$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_bbb_server_url = elgg_get_plugin_setting('bbb_server_url', 'event_calendar'); if ($event_calendar_more_required == 'yes') { $required_fields = array('title','venue','start_date','start_time', @@ -39,237 +42,192 @@ foreach ($all_fields as $fn) { } if ($event) { - $title = $event->title; - $brief_description = $event->description; - $venue = $event->venue; - // this is a form redisplay, so take the values as submitted - $start_date = $event->start_date; - $end_date = $event->end_date; - - if ($event_calendar_region_display) { - $region = $event->region; - if (!$region) { - $region = '-'; - } - } - - if ($event_calendar_spots_display) { - $spots = trim($event->spots); - } - if ($event_calendar_type_display) { - $event_type = $event->event_type; - if (!$event_type) { - $event_type = '-'; - } - } - $fees = $event->fees; - $contact = $event->contact; - $organiser = $event->organiser; - $event_tags = $event->event_tags; - $long_description = $event->long_description; - $access = $event->access_id; - if ($event_calendar_times != 'no') { - $start_time = $event->start_time; - $end_time = $event->end_time; - } - if ($event_calendar_personal_manage == 'by_event') { - $personal_manage = $event->personal_manage; - 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']; + +$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']; +$schedule_type = $fd['schedule_type']; +$long_description = $fd['long_description']; + +$body = '<div>'; $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 .= '<fieldset>'; +$body .= '<legend>' . elgg_echo('event_calendar:basic:header') . '</legend>'; -$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', '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', 'value' => $venue)); +$body .= '</p>'; +$body .= '<p class="event-calendar-description">'.$prefix['venue'].elgg_echo('event_calendar:venue_description').'</p>'; + +if ($event_calendar_fewer_fields != 'yes') { + $body .= '<p><label>'.elgg_echo("event_calendar:brief_description_label").'</label>'; + $body .= elgg_view("input/text",array('name' => 'description', 'value' => $brief_description)); $body .= '</p>'; - $body .= '</div>'; + $body .= '<p class="event-calendar-description">'.$prefix['brief_description'].elgg_echo('event_calendar:brief_description_description').'</p>'; + } else { + $body .= '<label>'.elgg_echo("event_calendar:long_description_label").'</label>'; + $body .= elgg_view("input/longtext",array('name' => 'long_description', 'value' => $long_description)); + $body .= '<p class="event-calendar-description">'.$prefix['long_description'].elgg_echo('event_calendar:long_description_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') { - $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 .= '<p><label>'.elgg_echo("event_calendar:event_tags_label").'</label>'; +$body .= elgg_view("input/tags",array('name' => 'tags', 'value' => $event_tags)); +$body .= '</p>'; +$body .= '<p class="event-calendar-description">'.$prefix['event_tags'].elgg_echo('event_calendar:event_tags_description').'</p>'; + +if ($event || !$vars['group_guid']) { + $body .= '<p><label>'.elgg_echo("event_calendar:calendar_label").'</label>'; + $body .= elgg_view('event_calendar/container',array('container_guid'=>$vars['group_guid'])); + $body .= '</p>'; + $body .= '<p class="event-calendar-description">'.$prefix['calendar'].elgg_echo('event_calendar:calendar_description').'</p>'; +} else { + $body .= elgg_view('input/hidden',array('name'=>'group_guid', 'value'=>$vars['group_guid'])); +} + +if($event_calendar_bbb_server_url) { + $body .= '<p>'; + if ($fd['web_conference']) { + $body .= elgg_view('input/checkbox',array('name'=>'web_conference','value'=>1,'checked'=>'checked')); + } else { + $body .= elgg_view('input/checkbox',array('name'=>'web_conference','value'=>1)); } + $body .= elgg_echo('event_calendar:web_conference_label'); + $body .= '</p>'; } +$body .= '</fieldset>'; + +$body .= '<fieldset>'; +$body .= '<legend>'.elgg_echo('event_calendar:schedule:header').'</legend>'; +$body .= elgg_view('input/radio',array('name'=>'schedule_type','value'=>$schedule_type,'options'=>$schedule_options)); + +$vars['prefix'] = $prefix; + +$body .= elgg_view('event_calendar/schedule_section',$vars); + 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', '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>'; } -// the following feature has been superceded by the manage subscribers feature +$body .= '<div class="event-calendar-edit-bottom"></div>'; +$body .= '</fieldset>'; -/*if ($event_calendar_add_users == 'yes') { - $body .= '<p><label>'.elgg_echo("event_calendar:add_user_label").'<br />'; - $body .= elgg_view("input/adduser",array('name' => 'adduser','internalid' => 'do_adduser','width'=> 200, 'minChars'=>2)); - $body .= '</label></p><br /><br />'; - $body .= '<p class="description">'.elgg_echo('event_calendar:add_user_description').'</p>'; -}*/ +$body .= elgg_view('event_calendar/personal_manage_section',$vars); -$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>'; +$body .= elgg_view('event_calendar/share_section',$vars); -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; +if ($event_calendar_region_display == 'yes' || $event_calendar_type_display == 'yes' || $event_calendar_fewer_fields != 'yes') { + $body .= '<fieldset>'; + + 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>'; } - $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; - } + + 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>'; } - $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 .= 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><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>'; - -if($event_calendar_hide_access == 'yes') { - $event_calendar_default_access = elgg_get_plugin_setting('default_access', 'event_calendar'); - if($event_calendar_default_access) { - $body .= elgg_view("input/hidden",array('name' => 'access_id','value'=>$event_calendar_default_access)); - } else { - $body .= elgg_view("input/hidden",array('name' => 'access_id','value'=>ACCESS_PRIVATE)); + + if ($event_calendar_fewer_fields != 'yes') { + + $body .= '<p><label>'.elgg_echo("event_calendar:fees_label").'</label>'; + $body .= elgg_view("input/text",array('name' => 'fees', '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', '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', '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', 'value' => $long_description)); + $body .= '</p>'; + $body .= '<p class="event-calendar-description">'.$prefix['long_description'].elgg_echo('event_calendar:long_description_description').'</p>'; } -} else { - $body .= '<p><label>'.elgg_echo("access").'<br />'; - $body .= elgg_view("input/access",array('name' => 'access_id','value'=>$access)); - $body .= '</label></p>'; + + $body .= '</fieldset>'; } $body .= elgg_view('input/submit', array('name'=>'submit','value'=>elgg_echo('event_calendar:submit'))); +$body .= '</div>'; + echo $body; diff --git a/views/default/input/datepicker_inline.php b/views/default/input/datepicker_inline.php index 1d0a0689d..3fd9c37af 100644 --- a/views/default/input/datepicker_inline.php +++ b/views/default/input/datepicker_inline.php @@ -65,7 +65,6 @@ $("#<?php echo $vars['name']; ?>").datepicker({ document.location.href = "<?php echo $link_bit; ?>".replace('%s', date.substring(0,10)); }, dateFormat: "yy-mm-dd", - <?php echo $vars['range_bit']; ?> defaultDate: "<?php echo $vars['start_date'] .' - '.$vars['end_date']; ?>", beforeShowDay: highlightWeek }); @@ -76,7 +75,7 @@ if ("<?php echo $vars['mode'] ?>" == "month") { end_date += 1; } $("#<?php echo $vars['name']; ?>").datepicker("setDate", start_date, end_date); -var done_loading = true; +done_loading = true; }); </script> diff --git a/views/default/input/datepicker_popup.php b/views/default/input/datepicker_popup.php deleted file mode 100644 index 0daeb7307..000000000 --- a/views/default/input/datepicker_popup.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -/** - * JQuery data picker - * - * @package event_calendar - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Kevin Jardine <kevin@radagast.biz> - * @copyright Radagast Solutions 2008 - * @link http://radagast.biz/ - * - */ - -if ($vars['dateformat']) { - $date_format = $vars['dateformat']; -} else { - $date_format = "yy/mm/dd"; -} -?> - -<script language="javascript"> -$(document).ready(function(){ -$("#<?php echo $vars['internalname']; ?>").datepicker({ - dateFormat: "<?php echo $date_format; ?>", - showOn: "both", - buttonImage: "<?php echo $vars['url']; ?>mod/event_calendar/images/calendar.gif", - buttonImageOnly: true -}) -}); -</script> -<input type="text" size="30" value="<?php echo $vars['value']; ?>" name="<?php echo $vars['internalname']; ?>" id="<?php echo $vars['internalname']; ?>"/>
\ No newline at end of file diff --git a/views/default/input/timepicker.php b/views/default/input/timepicker.php index d7df04699..2cc95ced7 100644 --- a/views/default/input/timepicker.php +++ b/views/default/input/timepicker.php @@ -1,5 +1,4 @@ <?php - $time_format = elgg_get_plugin_setting('timeformat', 'event_calendar'); if (!$time_format) { $time_format = '24'; @@ -9,45 +8,44 @@ $value = $vars['value']; if (is_numeric($value)) { $hour = floor($value/60); $minute = ($value -60*$hour); - $time = $hour*60+$minute; } else { - $time = '-'; + $hour = 0; + $minute = 0; } -$dates = array(); -$dates['-'] = '-'; +$hours = array(); +$minutes = array(); 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"; - } - } + $meridians = array('am'=>'am','pm'=>'pm'); + if ($hour == 0) { + $hour = 12; + $meridian = 'am'; + } else if ($hour == 12) { + $meridian = 'pm'; + } else if ($hour < 12) { + $meridian = 'am'; + } else { + $hour -= 12; + $meridian = '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"; - } + for($h=1;$h<=12;$h++) { + $hours[$h] = $h; } } 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"; - } + for($h=0;$h<=23;$h++) { + $hours[$h] = $h; } -} +} -echo elgg_view('input/dropdown',array('name'=>$vars['name'],'value'=>$time,'options_values'=>$dates)); +for($m=0;$m<60;$m=$m+5) { + $mt = sprintf("%02d",$m); + $minutes[$m] = $mt; +} +echo elgg_view('input/dropdown',array('name'=>$vars['name'].'_hour','value'=>$hour,'options_values'=>$hours)); +echo " <b>:</b> "; +echo elgg_view('input/dropdown',array('name'=>$vars['name'].'_minute','value'=>$minute,'options_values'=>$minutes)); +if ($time_format == '12') { + echo elgg_view('input/dropdown',array('name'=>$vars['name'].'_meridian','value'=>$meridian,'options_values'=>$meridians)); +} diff --git a/views/default/js/event_calendar/event_calendar.php b/views/default/js/event_calendar/event_calendar.php index 8c4e735a6..efa1dc1dd 100644 --- a/views/default/js/event_calendar/event_calendar.php +++ b/views/default/js/event_calendar/event_calendar.php @@ -6,6 +6,102 @@ 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); + $('input.elgg-input-radio[name="schedule_type"]').click(elgg.event_calendar.handleScheduleType); + elgg.event_calendar.handleScheduleType(); + + var all_day_field = $('[name="all_day"][type="checkbox"]'); + if (all_day_field.is(':checked')) { + //$('[name="start_time"]').val(0); + $('#event-calendar-start-time-wrapper').attr('disabled','disabled'); + //$('[name="end_time"]').val(0); + $('#event-calendar-end-time-wrapper').attr('disabled','disabled'); + } + all_day_field.change(elgg.event_calendar.handleAllDayField); + + $('.elgg-input-date[name="start_date"], .elgg-input-date[name="end_date"]').datepicker({ + dateFormat: 'yy-mm-dd', + numberOfMonths: 3, + onSelect: elgg.event_calendar.handleDateRangeSelect, + }); +} + +elgg.event_calendar.handleScheduleType = function(e) { + var st = $('input.elgg-input-radio[name="schedule_type"]:checked').val(); + if (st == 'poll') { + $(".event-calendar-edit-date-wrapper").hide(); + $(".event-calendar-edit-reminder-wrapper").hide(); + $(".event-calendar-edit-form-membership-block").hide(); + $(".event-calendar-edit-form-share-block").hide(); + } else { + $(".event-calendar-edit-date-wrapper").show(); + $(".event-calendar-edit-reminder-wrapper").show(); + $(".event-calendar-edit-form-membership-block").show(); + $(".event-calendar-edit-form-share-block").show(); + if (st == 'all_day') { + $("#event-calendar-start-time-wrapper").hide(); + $("#event-calendar-end-time-wrapper").hide(); + } else { + $("#event-calendar-start-time-wrapper").show(); + $("#event-calendar-end-time-wrapper").show(); + } + } +} + +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.handleDateRangeSelect = function(selectedDate) { + if (this.name == 'start_date') { + $('.elgg-input-date[name="end_date"]').datepicker("option", "minDate", selectedDate); + } else { + $('.elgg-input-date[name="start_date"]').datepicker("option", "maxDate", selectedDate); + } +} + +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) { @@ -14,9 +110,8 @@ elgg.event_calendar.handleRegionChange = function(e) { } elgg.event_calendar.handleIcalPopup = function(e) { - var message = elgg.echo('event_calendar:ical_popup_message')+"\n"+this.href; - alert(message); - return false; + this.href = '#event-calendar-ical'; + e.preventDefault(); } elgg.event_calendar.handlePagedPersonalCalendarToggle = function() { diff --git a/views/default/object/event_calendar.php b/views/default/object/event_calendar.php index 717e2803e..5779c004c 100644 --- a/views/default/object/event_calendar.php +++ b/views/default/object/event_calendar.php @@ -11,11 +11,17 @@ * */ +elgg_load_library('elgg:event_calendar'); + $event = $vars['entity']; $full = elgg_extract('full_view', $vars, FALSE); if ($full) { $body = elgg_view('event_calendar/strapline',$vars); + if ($event->web_conference) { + $body .= '<br />'; + $body .= elgg_view('event_calendar/conference_button',array('event'=>$event)); + } $event_items = event_calendar_get_formatted_full_items($event); $body .= '<br />'; @@ -53,9 +59,17 @@ if ($full) { } else { echo '<p>'.$event->description.'</p>'; } + if ($vars['light_box'] == TRUE) { + $event_calendar_add_users = elgg_get_plugin_setting('add_users', 'event_calendar'); + if ($event_calendar_add_users == 'yes') { + $url = "event_calendar/manage_users/$event->guid"; + echo '<p>'.elgg_view('output/url',array('text'=> elgg_echo('event_calendar:manage_users:breadcrumb'), 'href'=>$url)).'</p>'; + } + } if (elgg_get_plugin_setting('add_to_group_calendar', 'event_calendar') == 'yes') { echo elgg_view('event_calendar/forms/add_to_group',array('event' => $event)); } + } else { $time_bit = event_calendar_get_formatted_time($event); diff --git a/views/default/plugins/event_calendar/settings.php b/views/default/plugins/event_calendar/settings.php index 93724484c..db6e00913 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', @@ -314,7 +358,7 @@ if (!$event_calendar_region_list) { $body .= elgg_echo('event_calendar:settings:region_list:title'); $body .= '<br />'; -$body .= elgg_view('event_calendar/input/longtext',array('name'=>'params[region_list]','value'=>$event_calendar_region_list)); +$body .= elgg_view('input/plaintext',array('name'=>'params[region_list]','value'=>$event_calendar_region_list)); $body .= '<br />'; @@ -347,7 +391,7 @@ if (!$event_calendar_type_list) { $body .= elgg_echo('event_calendar:settings:type_list:title'); $body .= '<br />'; -$body .= elgg_view('event_calendar/input/longtext',array('name'=>'params[type_list]','value'=>$event_calendar_type_list)); +$body .= elgg_view('input/plaintext',array('name'=>'params[type_list]','value'=>$event_calendar_type_list)); $body .= '<br />'; @@ -401,4 +445,30 @@ $body .= elgg_echo('event_calendar:ical_auth_file_name:title'); $body .= '<br />'; $body .= elgg_view('input/text',array('name'=>'params[ical_auth_file_name]','value'=>$ical_auth_file_name, 'class'=>'event-calendar-ical-auth-setting')); +$body .= '<br /><br />'; + +$event_calendar_bbb_server_url = elgg_get_plugin_setting('bbb_server_url', 'event_calendar'); + +$body .= elgg_echo('event_calendar:bbb_server_url'); +$body .= '<br />'; +$body .= elgg_view('input/text', array( + 'name' => 'params[bbb_server_url]', + 'value' => $event_calendar_bbb_server_url, + 'class' => 'text_input', +)); + +$body .= '<br /><br />'; + +$event_calendar_bbb_security_salt = elgg_get_plugin_setting('bbb_security_salt', 'event_calendar'); + +$body .= elgg_echo('event_calendar:bbb_security_salt'); +$body .= '<br />'; +$body .= elgg_view('input/text', array( + 'name' => 'params[bbb_security_salt]', + 'value' => $event_calendar_bbb_security_salt, + 'class' => 'text_input', +)); + +$body .= '<br /><br />'; + echo $body; diff --git a/views/default/river/object/event_calendar/create.php b/views/default/river/object/event_calendar/create.php index e74a8f891..515389411 100644 --- a/views/default/river/object/event_calendar/create.php +++ b/views/default/river/object/event_calendar/create.php @@ -1,22 +1,13 @@ <?php - - /*$performed_by = get_entity($vars['item']->subject_guid); - $object = get_entity($vars['item']->object_guid); - - $url = "<a href=\"{$performed_by->getURL()}\">{$performed_by->name}</a>"; - $string = sprintf(elgg_echo("event_calendar:river:created"),$url) . " "; - $string .= elgg_echo("event_calendar:river:create")." <a href=\"" . $object->getURL() . "\">" . $object->title . "</a>";*/ - /** - * Event calendar river view. + * Event river view. */ +elgg_load_library('elgg:event_calendar'); + $object = $vars['item']->getObjectEntity(); -$excerpt = strip_tags($object->description); -$vars['excerpt'] = elgg_get_excerpt($excerpt); -echo elgg_view('page/components/image_block', array( - 'image' => '<img src="'.$vars['url'] . 'mod/event_calendar/images/event_icon.gif" />', - 'body' => elgg_view('river/elements/body', $vars), - 'class' => 'elgg-river-item', -));
\ No newline at end of file +echo elgg_view('river/elements/layout', array( + 'item' => $vars['item'], + 'message' => event_calendar_get_formatted_time($object), +)); diff --git a/views/default/river/object/event_calendar/update.php b/views/default/river/object/event_calendar/update.php index f4526cd2a..515389411 100644 --- a/views/default/river/object/event_calendar/update.php +++ b/views/default/river/object/event_calendar/update.php @@ -1,16 +1,13 @@ <?php +/** + * Event river view. + */ + +elgg_load_library('elgg:event_calendar'); - /*$performed_by = get_entity($vars['item']->subject_guid); - $object = get_entity($vars['item']->object_guid); - - $url = "<a href=\"{$performed_by->getURL()}\">{$performed_by->name}</a>"; - $string = sprintf(elgg_echo("event_calendar:river:updated"),$url) . " "; - $string .= elgg_echo("event_calendar:river:the_event")." <a href=\"" . $object->getURL() . "\">" . $object->title . "</a>";*/ - $object = $vars['item']->getObjectEntity(); -echo elgg_view('page/components/image_block', array( - 'image' => '<img src="'.$vars['url'] . 'mod/event_calendar/images/event_icon.gif" />', - 'body' => elgg_view('river/elements/body', $vars), - 'class' => 'elgg-river-item', +echo elgg_view('river/elements/layout', array( + 'item' => $vars['item'], + 'message' => event_calendar_get_formatted_time($object), )); diff --git a/views/default/widgets/event_calendar/content.php b/views/default/widgets/event_calendar/content.php index 329046cb0..eaedb76bd 100644 --- a/views/default/widgets/event_calendar/content.php +++ b/views/default/widgets/event_calendar/content.php @@ -20,8 +20,12 @@ $num = 5; // Get the events - - $events = event_calendar_get_personal_events_for_user(elgg_get_page_owner_guid(),$num); + $owner = elgg_get_page_owner_entity(); + if(elgg_instanceof($owner, 'group')) { + $events = event_calendar_get_events_for_group(elgg_get_page_owner_guid(),$num); + } else { + $events = event_calendar_get_personal_events_for_user(elgg_get_page_owner_guid(),$num); + } // If there are any events to view, view them if (is_array($events) && sizeof($events) > 0) { diff --git a/views/default/widgets/event_calendar/view.php b/views/default/widgets/event_calendar/view.php deleted file mode 100644 index 329046cb0..000000000 --- a/views/default/widgets/event_calendar/view.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php - -/** - * Elgg event calendar widget - * - * @package event_calendar - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Kevin Jardine <kevin@radagast.biz> - * @copyright Radagast Solutions 2008 - * @link http://radagast.biz/ - * - */ - - // Load event calendar model - elgg_load_library('elgg:event_calendar'); - - //the number of events to display - $num = (int) $vars['entity']->num_display; - if (!$num) - $num = 5; - - // Get the events - - $events = event_calendar_get_personal_events_for_user(elgg_get_page_owner_guid(),$num); - - // If there are any events to view, view them - if (is_array($events) && sizeof($events) > 0) { - - echo "<div id=\"widget_calendar\">"; - - foreach($events as $event) { - echo elgg_view("object/event_calendar",array('entity' => $event)); - } - - echo "</div>"; - - } - -?>
\ No newline at end of file |