'event_calendar:remove_from_my_calendar_response' => "This event has been removed from your personal calendar.",
'event_calendar:add_to_the_calendar' => "Add to calendar",
'event_calendar:remove_from_the_calendar' => "Remove",
+ 'event_calendar:add_to_the_calendar_menu_text' => "Add to mine",
+ 'event_calendar:remove_from_the_calendar_menu_text' => "Remove from mine",
'event_calendar:remove_from_the_calendar_button' => "Remove from calendar",
'event_calendar:added_to_the_calendar' => "Added to calendar",
'event_calendar:removed_from_the_calendar' => "Removed calendar",
'event_calendar:users_for_event_menu_title' => "People listing this event on their personal calendars",
'event_calendar:users_for_event_title' => "Personal calendars for \"%s'\"",
- 'event_calendar:personal_event_calendars_link' => "Calendars (%s)",
+ 'event_calendar:personal_event_calendars_link' => "On %s calendars",
+ 'event_calendar:personal_event_calendars_link_one' => "On 1 calendar",
'event_calendar:users_for_event_breadcrumb' => "Personal calendars",
'event_calendar:settings:group_profile_display:title' => "Group calendar profile display (if group calendars are enabled)",
'event_calendar:settings:group_profile_display_option:left' => "left column",
'event_calendar:add_to_group:success' => "Event added to group calendar",
'event_calendar:settings:add_to_group_calendar:title' => "Allow group admins to add any existing event to a group calendar",
- 'event_calendar:group_breadcrumb' => "Group event calendar",
+ 'event_calendar:group_breadcrumb' => "Group calendar",
'event_calendar:no_group' => "There is no such group.",
'event_calendar:generic_error_title' => "Error",
'event_calendar:error_event_edit' => "Error: there is no such event or you do not have permission to edit it.",
'event_calendar:show_friends' => "My friends' calendars",
'event_calendar:show_only' => "Show only those on:",
+ 'event_calendar:listing_title:all' => "All events",
+ 'event_calendar:listing_title:open' => "Open events",
+ 'event_calendar:listing_title:mine' => "My calendar",
+ 'event_calendar:listing_title:friends' => "Friends' calendars",
+
/**
* Event calendar river
**/
global $autofeed;
$autofeed = true;
if ($page_type == 'group') {
- if (!event_calendar_activated_for_group($container__guid)) {
+ if (!event_calendar_activated_for_group($container_guid)) {
forward();
}
elgg_push_breadcrumb(elgg_echo('event_calendar:group_breadcrumb'));
));
}
}
- }
+ }
$params = event_calendar_generate_listing_params($page_type,$container_guid,$start_date,$display_mode,$filter,$region);
if ($event_calendar_listing_format == 'paged') {
$title = elgg_echo('event_calendar:upcoming_events_title');
+ } else if ($page_type == 'group') {
+ $title = elgg_echo('event_calendar:group'). ' ('.$subtitle.')';
} else {
- $title = elgg_echo('event_calendar:show_events_title'). ' ('.$subtitle.')';
+ $title = elgg_echo('event_calendar:listing_title:'.$filter). ' ('.$subtitle.')';
}
$params = array('title' => $title, 'content' => $content, 'filter_override'=>$filter_override);
function event_calendar_get_page_content_view($event_guid) {
// add personal calendar button and links
+ elgg_push_context('event_calendar:view');
$event = get_entity($event_guid);
if (!elgg_instanceof($event, 'object', 'event_calendar')) {
// entity menu
elgg_register_plugin_hook_handler('register', 'menu:entity', 'event_calendar_entity_menu_setup');
+ elgg_register_plugin_hook_handler('prepare', 'menu:entity', 'event_calendar_entity_menu_prepare');
// register actions
$action_path = elgg_get_plugins_path() . 'event_calendar/actions/event_calendar';
if (event_calendar_has_personal_event($entity->guid,$user_guid)) {
$options = array(
'name' => 'personal_calendar',
- 'text' => elgg_echo('event_calendar:remove_from_the_calendar'),
+ 'text' => elgg_echo('event_calendar:remove_from_the_calendar_menu_text'),
'title' => elgg_echo('event_calendar:remove_from_my_calendar'),
'href' => elgg_add_action_tokens_to_url("action/event_calendar/remove_personal?guid={$entity->guid}"),
'priority' => 150,
if (!event_calendar_is_full($entity->guid) && !event_calendar_has_collision($entity->guid,$user_guid)) {
$options = array(
'name' => 'personal_calendar',
- 'text' => elgg_echo('event_calendar:add_to_the_calendar'),
+ 'text' => elgg_echo('event_calendar:add_to_the_calendar_menu_text'),
'title' => elgg_echo('event_calendar:add_to_my_calendar'),
'href' => elgg_add_action_tokens_to_url("action/event_calendar/add_personal?guid={$entity->guid}"),
'priority' => 150,
}
}
+ $count = event_calendar_get_users_for_event($entity->guid,0,0,true);
+ if ($count == 1) {
+ $calendar_text = elgg_echo('event_calendar:personal_event_calendars_link_one');
+ } else {
+ $calendar_text = elgg_echo('event_calendar:personal_event_calendars_link',array($count));
+ }
+
$options = array(
'name' => 'calendar_listing',
- 'text' => elgg_echo('event_calendar:personal_event_calendars_link',array(event_calendar_get_users_for_event($entity->guid,0,0,true))),
+ 'text' => $calendar_text,
'title' => elgg_echo('event_calendar:users_for_event_menu_title'),
'href' => "event_calendar/display_users/{$entity->guid}",
'priority' => 150,
return $return;
}
+
+function event_calendar_entity_menu_prepare($hook, $type, $return, $params) {
+ // remove access level from listings
+ if (!elgg_in_context('event_calendar:view')) {
+ $new_return = array();
+ foreach($return['default'] AS $item) {
+ if ($item->getName() != 'access') {
+ $new_return[] = $item;
+ }
+ }
+ $return['default'] = $new_return;
+ }
+
+ return $return;
+}
if (elgg_in_context('widgets')) {
$metadata = '';
- } else {
+ } else {
$metadata = elgg_view_menu('entity', array(
'entity' => $event,
'handler' => 'event_calendar',
ACCESS_LOGGED_IN => elgg_echo("LOGGED_IN"),
ACCESS_PUBLIC => elgg_echo("PUBLIC"));
-// TODO - merge the agenda view into the list format options
-
$listing_options = array(elgg_echo('event_calendar:settings:paged')=>'paged',
elgg_echo('event_calendar:settings:agenda')=>'agenda',
elgg_echo('event_calendar:settings:month')=>'month',
$body .= elgg_view('input/text',array('name'=>'params[ical_auth_file_name]','value'=>$ical_auth_file_name, 'class'=>'event-calendar-ical-auth-setting'));
echo $body;
-?>
\ No newline at end of file