コード例 #1
0
ファイル: export.php プロジェクト: iionly/event_calendar
<?php

elgg_load_library('elgg:event_calendar');
elgg_load_library('event_calendar:ical');
$filter = get_input('filter', 'mine');
$container_guid = get_input('container_guid', 0);
$region = get_input('region');
$start_date = get_input('start_date', date('Y-n-j'));
$end_date = get_input('end_date', date('Y-n-j'));
$start_ts = strtotime($start_date . " " . date_default_timezone_get());
$end_ts = strtotime($end_date . " " . date_default_timezone_get()) + 60 * 60 * 24 - 1;
$user_guid = elgg_get_logged_in_user_guid();
switch ($filter) {
    case 'mine':
        $events = event_calendar_get_events_for_user_between($start_ts, $end_ts, false, 0, 0, $user_guid, $container_guid, $region);
        break;
    case 'friends':
        $events = event_calendar_get_events_for_friends_between($start_ts, $end_ts, false, 0, 0, $user_guid, $container_guid, $region);
        break;
    case 'site':
        $container_guid = 0;
    case 'all':
        $events = event_calendar_get_events_between($start_ts, $end_ts, false, 0, 0, $container_guid, $region);
        break;
    default:
        // see if we're exporting just a single event
        $events = false;
        $event = get_entity($filter);
        if (elgg_instanceof($event, 'object', 'event_calendar')) {
            $events = array(array('event' => $event));
        }
コード例 #2
0
ファイル: model.php プロジェクト: iionly/event_calendar
function event_calendar_get_page_content_fullcalendar_events($start_date, $end_date, $filter = 'all', $container_guid = 0, $region = '-')
{
    $start_ts = strtotime($start_date);
    $end_ts = strtotime($end_date);
    if ($filter == 'all') {
        $events = event_calendar_get_events_between($start_ts, $end_ts, false, 0, 0, $container_guid, $region);
    } else {
        if ($filter == 'open') {
            $events = event_calendar_get_open_events_between($start_ts, $end_ts, false, 0, 0, $container_guid, $region);
        } else {
            if ($filter == 'friends') {
                $user_guid = elgg_get_logged_in_user_guid();
                $events = event_calendar_get_events_for_friends_between($start_ts, $end_ts, false, 0, 0, $user_guid, $container_guid, $region);
            } else {
                if ($filter == 'mine') {
                    $user_guid = elgg_get_logged_in_user_guid();
                    $events = event_calendar_get_events_for_user_between($start_ts, $end_ts, false, 0, 0, $user_guid, $container_guid, $region);
                }
            }
        }
    }
    $event_array = array();
    $times_supported = elgg_get_plugin_setting('times', 'event_calendar') != 'no';
    $type_display = elgg_get_plugin_setting('type_display', 'event_calendar');
    $polls_supported = elgg_is_active_plugin('event_poll');
    foreach ($events as $e) {
        $event = $e['event'];
        $event_data = $e['data'];
        $c = count($event_data);
        foreach ($event_data as $ed) {
            $event_item = array('guid' => $event->guid, 'title' => $event->title, 'start' => date('c', $ed['start_time']), 'end' => date('c', $ed['end_time']));
            if (!$times_supported || $event->schedule_type == 'all_day') {
                $event_item['allDay'] = true;
            } else {
                $event_item['allDay'] = false;
            }
            if ($type_display == 'yes' && $event->event_type) {
                $color = event_calendar_map_type_to_color($event->event_type);
                if ($color) {
                    $event_item['backgroundColor'] = $color;
                    $event_item['borderColor'] = $color;
                }
            }
            if ($polls_supported && isset($e['is_event_poll']) && $e['is_event_poll']) {
                $event_item['className'] = 'event-poll-class';
                $event_item['title'] .= ' ' . elgg_echo('event_calendar:poll_suffix');
                $event_item['is_event_poll'] = true;
                $event_item['url'] = elgg_get_site_url() . 'event_poll/vote/' . $event->guid;
                $event_item['minutes'] = $ed['minutes'];
                $event_item['iso_date'] = $ed['iso_date'];
            } else {
                $event_item['id'] = $event->guid;
                $event_item['is_event_poll'] = false;
                $event_item['url'] = elgg_get_site_url() . 'ajax/view/event_calendar/popup?guid=' . $event->guid;
            }
            // Allow other plugins to modify the data
            $params = array('entity' => $event);
            $event_item = elgg_trigger_plugin_hook('prepare', 'event_calendar:json', $params, $event_item);
            $event_array[] = $event_item;
        }
    }
    $json_events_string = json_encode($event_array);
    return $json_events_string;
}