Пример #1
0
/**
 * Serves pages for upload and embed.
 *
 * @param $page
 */
function embed_page_handler($page)
{
    if (!isset($page[0])) {
        $page[0] = 'embed';
    }
    switch ($page[0]) {
        case 'upload':
            echo elgg_view('embed/upload');
            break;
        case 'embed':
        default:
            // trigger hook to get section tabs
            // use views for embed/section/
            //	listing
            //	item
            // default to embed/listing | item if not found.
            // @todo trigger for all right now. If we categorize these later we can trigger
            // for certain categories.
            $sections = elgg_trigger_plugin_hook('embed_get_sections', 'all', NULL, array());
            $upload_sections = elgg_trigger_plugin_hook('embed_get_upload_sections', 'all', NULL, array());
            elgg_sort_3d_array_by_value($sections, 'name');
            elgg_sort_3d_array_by_value($upload_sections, 'name');
            $active_section = get_input('active_section', NULL);
            $internal_name = get_input('internal_name', NULL);
            echo elgg_view('embed/embed', array('sections' => $sections, 'active_section' => $active_section, 'upload_sections' => $upload_sections, 'internal_name' => $internal_name));
            break;
    }
    // exit because this is in a modal display.
    exit;
}
Пример #2
0
        return;
    }
}
$timezone = Util::getClientTimezone();
$start_local = $start - Util::getOffset($start, Util::UTC, $timezone);
$end_local = $end - Util::getOffset($end, Util::UTC, $timezone);
$events = array();
foreach ($calendars as $c) {
    $cevents = $c->getAllEventInstances($start_local, $end_local);
    $events = array_merge($events, $cevents);
}
// need to weed out duplicates
// since some events can show up on multiple calendars
// $events = array_map('unserialize', array_unique(array_map('serialize', $events))); // calendar param on urls makes this not work :(
$dupes = array();
foreach ($events as $key => $instance) {
    $test = $instance['guid'] . ':' . $instance['start_timestamp'];
    if (in_array($test, $dupes)) {
        unset($events[$key]);
        continue;
    }
    $dupes[] = $test;
}
// also re-order by time
elgg_sort_3d_array_by_value($events, 'start_timestamp', SORT_ASC, SORT_NUMERIC);
// finally limit the number of results
$limit = $vars['entity']->num_results ? $vars['entity']->num_results : 10;
if (count($events) > $limit) {
    $events = array_slice($events, 0, $limit);
}
echo elgg_view('events_ui/feed', array('events' => $events));