Ejemplo n.º 1
0
function event_calendar_get_events_for_user_between2($start_date, $end_date, $is_count, $limit = 10, $offset = 0, $user_guid, $container_guid = 0, $region = '-')
{
    $options_new_way = array('type' => 'object', 'subtype' => 'event_calendar', 'relationship' => 'personal_event', 'relationship_guid' => $user_guid, 'metadata_name_value_pairs' => array(array('name' => 'start_date', 'value' => $start_date, 'operand' => '>='), array('name' => 'real_end_time', 'value' => $end_date, 'operand' => '<=')));
    if ($container_guid) {
        $options_new_way['container_guid'] = $container_guid;
    }
    if ($region && $region != '-') {
        $options_new_way['metadata_name_value_pairs'][] = array('name' => 'region', 'value' => sanitize_string($region));
    }
    if ($is_count) {
        // old way
        $count_old_way = event_calendar_get_entities_from_metadata_between('start_date', 'real_end_time', $start_date, $end_date, "object", "event_calendar", $user_guid, $container_guid, $limit, $offset, "", 0, true, true, $region);
        // new way
        $options_new_way['count'] = TRUE;
        $count_new_way = elgg_get_entities_from_relationship($options_new_way);
        return $count_old_way + $count_new_way;
    } else {
        $events_old_way = event_calendar_get_entities_from_metadata_between('start_date', 'real_end_time', $start_date, $end_date, "object", "event_calendar", $user_guid, $container_guid, $limit, $offset, "", 0, true, false, $region);
        $options_new_way['limit'] = $limit;
        $options_new_way['offset'] = $offset;
        $options_new_way['order_by_metadata'] = array(array('name' => 'start_date', 'direction' => 'ASC', 'as' => 'integer'));
        //print_r($options_new_way);
        $events_new_way = elgg_get_entities_from_relationship($options_new_way);
        //return event_calendar_vsort($events,'start_date');
        $repeating_events = event_calendar_get_repeating_events_for_user_between($user_guid, $start_date, $end_date, $container_guid, $region);
        $all_events = event_calendar_merge_repeating_events(array_merge($events_old_way, $events_new_way), $repeating_events);
        return $all_events;
    }
}
Ejemplo n.º 2
0
function event_calendar_get_events_for_user_between($start_date, $end_date, $is_count, $limit = 10, $offset = 0, $user_guid, $container_guid = 0, $region = '-')
{
    $options = array('type' => 'object', 'subtype' => 'event_calendar', 'relationship' => 'personal_event', 'relationship_guid' => $user_guid, 'metadata_name_value_pairs' => array(array('name' => 'start_date', 'value' => $start_date, 'operand' => '>='), array('name' => 'real_end_time', 'value' => $end_date, 'operand' => '<=')));
    if ($container_guid) {
        $options['container_guid'] = $container_guid;
    }
    if ($region && $region != '-') {
        $options['metadata_name_value_pairs'][] = array('name' => 'region', 'value' => sanitize_string($region));
    }
    if ($is_count) {
        $options['count'] = true;
        $count = elgg_get_entities_from_relationship($options);
        return $count;
    } else {
        $options['limit'] = $limit;
        $options['offset'] = $offset;
        $options['order_by_metadata'] = array(array('name' => 'start_date', 'direction' => 'ASC', 'as' => 'integer'));
        $events = elgg_get_entities_from_relationship($options);
        $repeating_events = event_calendar_get_repeating_events_for_user_between($user_guid, $start_date, $end_date, $container_guid, $region);
        $all_events = event_calendar_merge_repeating_events($events, $repeating_events);
        return $all_events;
    }
}