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; } }
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; } }