Esempio n. 1
0
function event_calendar_get_page_content_list($page_type, $container_guid, $start_date, $display_mode, $filter, $region = '-')
{
    elgg_load_js('elgg.event_calendar');
    global $autofeed;
    $autofeed = true;
    if ($page_type == 'group') {
        if (!event_calendar_activated_for_group($container_guid)) {
            forward();
        }
        elgg_push_breadcrumb(elgg_echo('event_calendar:group_breadcrumb'));
        elgg_push_context('groups');
        elgg_set_page_owner_guid($container_guid);
        $user_guid = elgg_get_logged_in_user_guid();
        if (event_calendar_can_add($container_guid)) {
            elgg_register_menu_item('title', array('name' => 'add', 'href' => "event_calendar/add/" . $container_guid, 'text' => elgg_echo('event_calendar:add'), 'class' => 'elgg-button elgg-button-action event-calendar-button-add'));
        }
    } else {
        elgg_push_breadcrumb(elgg_echo('item:object:event_calendar'));
        $user_guid = elgg_get_logged_in_user_guid();
        if (event_calendar_can_add($container_guid)) {
            elgg_register_menu_item('title', array('name' => 'add', 'href' => "event_calendar/add", 'text' => elgg_echo('event_calendar:add'), 'class' => 'elgg-button elgg-button-action event-calendar-button-add'));
        }
    }
    $params = event_calendar_generate_listing_params($page_type, $container_guid, $start_date, $display_mode, $filter, $region);
    $url = current_page_url();
    if (substr_count($url, '?')) {
        $url .= "&view=ical";
    } else {
        $url .= "?view=ical";
    }
    $url = elgg_format_url($url);
    $menu_options = array('name' => 'ical', 'id' => 'event-calendar-ical-link', 'text' => elgg_view_icon('calendar'), 'href' => $url, 'title' => elgg_echo('feed:ical'), 'priority' => 800, 'rel' => 'popup');
    $menu_item = ElggMenuItem::factory($menu_options);
    elgg_register_menu_item('extras', $menu_item);
    $body = elgg_view_layout("content", $params);
    $body .= elgg_view_module('popup', elgg_echo('feed:ical'), elgg_echo('event_calendar:ical_popup_message') . elgg_view('output/url', array('href' => $url, 'text' => elgg_echo('export'), 'class' => 'elgg-button elgg-button-action')), array('id' => 'event-calendar-ical', 'class' => 'event-calendar-ical hidden'));
    return elgg_view_page($title, $body);
}
Esempio n. 2
0
function event_calendar_get_page_content_list($page_type, $container_guid, $start_date, $display_mode, $filter, $region = '-')
{
    elgg_load_js('elgg.event_calendar');
    global $autofeed;
    $autofeed = true;
    if ($page_type == 'group') {
        if (!event_calendar_activated_for_group($container_guid)) {
            forward();
        }
        elgg_push_breadcrumb(elgg_echo('event_calendar:group_breadcrumb'));
        elgg_push_context('groups');
        elgg_set_page_owner_guid($container_guid);
        $user_guid = elgg_get_logged_in_user_guid();
        $group_calendar = elgg_get_plugin_setting('group_calendar', 'event_calendar');
        if (!$group_calendar || $group_calendar == 'members') {
            if (elgg_get_page_owner_entity()->canWriteToContainer($user_guid)) {
                elgg_register_menu_item('title', array('name' => 'add', 'href' => "event_calendar/add/" . $container_guid, 'text' => elgg_echo('event_calendar:add'), 'class' => 'elgg-button elgg-button-action'));
            }
        } else {
            if ($group_calendar == 'admin') {
                if (elgg_is_admin_logged_in() || $group->owner_guid == $user_guid) {
                    elgg_register_menu_item('title', array('name' => 'add', 'href' => "event_calendar/add/" . $container_guid, 'text' => elgg_echo('event_calendar:add'), 'class' => 'elgg-button elgg-button-action'));
                }
            }
        }
    } else {
        elgg_push_breadcrumb(elgg_echo('item:object:event_calendar'));
        $site_calendar = elgg_get_plugin_setting('site_calendar', 'event_calendar');
        if (!$site_calendar || $site_calendar == 'admin') {
            // only admins can post directly to the site-wide calendar
            if (elgg_is_admin_logged_in()) {
                elgg_register_menu_item('title', array('name' => 'add', 'href' => "event_calendar/add", 'text' => elgg_echo('event_calendar:add'), 'class' => 'elgg-button elgg-button-action'));
            }
        } else {
            if ($site_calendar == 'loggedin') {
                // any logged-in user can post to the site calendar
                if (elgg_is_logged_in()) {
                    elgg_register_menu_item('title', array('name' => 'add', 'href' => "event_calendar/add", 'text' => elgg_echo('event_calendar:add'), 'class' => 'elgg-button elgg-button-action'));
                }
            }
        }
    }
    $params = event_calendar_generate_listing_params($page_type, $container_guid, $start_date, $display_mode, $filter, $region);
    $url = full_url();
    if (substr_count($url, '?')) {
        $url .= "&view=ical";
    } else {
        $url .= "?view=ical";
    }
    $url = elgg_format_url($url);
    $menu_options = array('name' => 'ical', 'id' => 'event-calendar-ical-link', 'text' => '<img src="' . elgg_get_site_url() . 'mod/event_calendar/images/ics.png" />', 'href' => $url, 'title' => elgg_echo('feed:ical'), 'priority' => 800);
    $menu_item = ElggMenuItem::factory($menu_options);
    elgg_register_menu_item('extras', $menu_item);
    $body = elgg_view_layout("content", $params);
    return elgg_view_page($title, $body);
}
Esempio n. 3
0
function event_calendar_get_page_content_list($page_type, $container_guid, $start_date, $display_mode, $filter, $region = '-')
{
    elgg_require_js('event_calendar/event_calendar');
    global $autofeed;
    $autofeed = true;
    elgg_push_breadcrumb(elgg_echo('item:object:event_calendar'), 'event_calendar/list');
    if ($page_type == 'group') {
        $group = get_entity($container_guid);
        if (!event_calendar_activated_for_group($group)) {
            forward();
        }
        elgg_push_breadcrumb($group->name, 'event_calendar/group/' . $group->getGUID());
        elgg_push_context('groups');
        elgg_set_page_owner_guid($container_guid);
        if (event_calendar_can_add($container_guid)) {
            elgg_register_menu_item('title', array('name' => 'add', 'href' => "event_calendar/add/" . $container_guid, 'text' => elgg_echo('event_calendar:add'), 'link_class' => 'elgg-button elgg-button-action event-calendar-button-add'));
        }
    } else {
        if ($page_type == 'list') {
            if ($filter == 'mine') {
                $logged_in_user = elgg_get_logged_in_user_entity();
                elgg_push_breadcrumb($logged_in_user->name, 'event_calendar/owner/' . $logged_in_user->username);
            } else {
                if ($filter == 'friends') {
                    $logged_in_user = elgg_get_logged_in_user_entity();
                    elgg_push_breadcrumb($logged_in_user->name, 'event_calendar/owner/' . $logged_in_user->username);
                    elgg_push_breadcrumb(elgg_echo('friends'));
                } else {
                    if ($filter == 'open') {
                        elgg_push_breadcrumb(elgg_echo('event_calendar:show_open'));
                    }
                }
            }
            if (event_calendar_can_add()) {
                elgg_register_menu_item('title', array('name' => 'add', 'href' => "event_calendar/add", 'text' => elgg_echo('event_calendar:add'), 'link_class' => 'elgg-button elgg-button-action event-calendar-button-add'));
            }
        } else {
            $owner = get_entity($container_guid);
            elgg_set_page_owner_guid($container_guid);
            elgg_push_breadcrumb($owner->name, 'event_calendar/owner/' . $owner->username);
            if (event_calendar_can_add()) {
                elgg_register_menu_item('title', array('name' => 'add', 'href' => "event_calendar/add", 'text' => elgg_echo('event_calendar:add'), 'link_class' => 'elgg-button elgg-button-action event-calendar-button-add'));
            }
        }
    }
    $params = event_calendar_generate_listing_params($page_type, $container_guid, $start_date, $display_mode, $filter, $region);
    $title = $params['title'];
    if (elgg_get_plugin_setting('ical_import_export', 'event_calendar') == "yes") {
        $url = current_page_url();
        if (substr_count($url, '?')) {
            $url .= "&view=ical";
        } else {
            $url .= "?view=ical";
        }
        $url = elgg_format_url($url);
        $menu_options = array('name' => 'ical', 'id' => 'event-calendar-ical-link', 'text' => '<img src="' . elgg_get_simplecache_url('event_calendar/ics.png') . '" />', 'href' => $url, 'title' => elgg_echo('feed:ical'), 'priority' => 800);
        $menu_item = ElggMenuItem::factory($menu_options);
        elgg_register_menu_item('extras', $menu_item);
    }
    $body = elgg_view_layout("content", $params);
    return elgg_view_page($title, $body);
}