コード例 #1
0
<?php

/**
 * Elgg event_calendar group profile content
 *
 * @package event_calendar
 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
 * @author Kevin Jardine <*****@*****.**>
 * @copyright Radagast Solutions 2008
 * @link http://radagast.biz/
 *
 */
elgg_load_library('elgg:event_calendar');
$page_owner_entity = elgg_get_page_owner_entity();
if (event_calendar_activated_for_group($page_owner_entity)) {
    $num = 4;
    // Get the upcoming events
    $start_date = time();
    // now
    $end_date = $start_date + 60 * 60 * 24 * 365 * 2;
    // maximum is two years from now
    $events = event_calendar_get_events_between($start_date, $end_date, false, $num, 0, elgg_get_page_owner_guid());
    // If there are any events to view, view them
    if (is_array($events) && sizeof($events) > 0) {
        foreach ($events as $event) {
            echo elgg_view("object/event_calendar", array('entity' => $event['event']));
        }
    }
}
コード例 #2
0
ファイル: start.php プロジェクト: amcfarlane1251/ongarde
/**
 * Add a menu item to an ownerblock
 */
function event_calendar_owner_block_menu($hook, $type, $return, $params)
{
    elgg_load_library('elgg:event_calendar');
    if (elgg_instanceof($params['entity'], 'group')) {
        if (event_calendar_activated_for_group($params['entity'])) {
            $url = "event_calendar/group/{$params['entity']->guid}";
            $item = new ElggMenuItem('event_calendar', elgg_echo('event_calendar:group'), $url);
            $return[] = $item;
        }
    }
    return $return;
}
コード例 #3
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);
}
コード例 #4
0
ファイル: container.php プロジェクト: smellems/wet4
<?php

elgg_load_library('elgg:event_calendar');
$fd = $vars['event'];
$group_id = $vars['group_guid'];
$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();
$user = elgg_get_logged_in_user_entity();
$groups = $user->getGroups(array('limit' => false));
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;
            }
        }
    }
}
$value = $vars['container_guid'];
if ($vars['container_guid']) {
    $value = $vars['container_guid'];
} else {
    $value = 0;
}
natcasesort($containers);
コード例 #5
0
ファイル: model.php プロジェクト: lorea/Hydra-dev
function event_calendar_can_add($group_guid = 0, $user_guid = 0)
{
    if (!$user_guid) {
        if (elgg_is_logged_in()) {
            $user_guid = elgg_get_logged_in_user_guid();
        } else {
            return FALSE;
        }
    }
    if ($group_guid) {
        if (!event_calendar_activated_for_group($group_guid)) {
            return FALSE;
        }
        $group = get_entity($group_guid);
        if (elgg_instanceof($group, 'group')) {
            $group_calendar = elgg_get_plugin_setting('group_calendar', 'event_calendar');
            if (!$group_calendar || $group_calendar == 'members') {
                return $group->canWriteToContainer($user_guid);
            } else {
                if ($group_calendar == 'admin') {
                    if ($group->canEdit($user_guid)) {
                        return TRUE;
                    } else {
                        return FALSE;
                    }
                }
            }
        } else {
            return FALSE;
        }
    } else {
        $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
            return elgg_is_admin_user($user_guid);
        } else {
            if ($site_calendar == 'loggedin') {
                // any logged-in user can post to the site calendar
                return TRUE;
            }
        }
    }
    return FALSE;
}