Function Reference: geodir_event_link_businesses_data
Summary
This function has not been documented yet.
Source File
geodir_event_link_businesses_data() is located in geodir_event_manager/gdevents_functions.php [Line: 1046]
Source Code
function geodir_event_link_businesses_data( $post_ids, $event_type = 'all', $list_sort = 'latest', $post_number = 5 ) {
global $wpdb, $plugin_prefix;
$table = $plugin_prefix . 'gd_event_detail';
if ( $post_ids == '' || ( is_array( $post_ids ) && empty( $post_ids ) ) ) {
return NULL;
}
$post_ids = is_array( $post_ids ) ? implode( "','", $post_ids ) : '';
$current_date = date_i18n( 'Y-m-d', current_time( 'timestamp' ) );
$limit = $post_number < 1 || $post_number > 100 ? 5 : $post_number;
$orderby = geodir_event_widget_events_get_order( array( 'order_by' => $list_sort ) );
if ($list_sort == 'upcoming') {
$orderby = '';
}
$where = '';
switch( $event_type ) {
case 'today':
$where .= " AND ( " . EVENT_SCHEDULE . ".event_date LIKE '" . $current_date . "%%' OR ( " . EVENT_SCHEDULE . ".event_date <= '" . $current_date . "' AND " . EVENT_SCHEDULE . ".event_enddate >= '" . $current_date . "' ) ) ";
break;
case 'upcoming':
$where .= " AND ( " . EVENT_SCHEDULE . ".event_date >= '" . $current_date . "' OR ( " . EVENT_SCHEDULE . ".event_date <= '" . $current_date . "' AND " . EVENT_SCHEDULE . ".event_enddate >= '" . $current_date . "' ) ) ";
break;
case 'past':
$where .= " AND " . EVENT_SCHEDULE . ".event_date < '" . $current_date . "' ";
break;
}
$sql = $wpdb->prepare( "SELECT SQL_CALC_FOUND_ROWS " . $wpdb->posts . ".*, " . $table . ".*, " . EVENT_SCHEDULE . ".*
FROM " . $wpdb->posts . "
INNER JOIN " . $table ." ON (" . $table . ".post_id = " . $wpdb->posts . ".ID)
INNER JOIN " . EVENT_SCHEDULE . " AS " . EVENT_SCHEDULE . " ON (" . EVENT_SCHEDULE . ".event_id = " . $wpdb->posts . ".ID)
WHERE " . $wpdb->posts . ".ID IN ('" . $post_ids . "')
AND " . $wpdb->posts . ".post_type = 'gd_event'
AND " . $wpdb->posts . ".post_status = 'publish'
" . $where . "
ORDER BY " . $orderby . " (CASE WHEN DATEDIFF(DATE(" . EVENT_SCHEDULE . ".event_date), '" . $current_date . "') < 0 THEN 1 ELSE 0 END), ABS(DATEDIFF(DATE(" . EVENT_SCHEDULE . ".event_date), '" . $current_date . "')) ASC, " . EVENT_SCHEDULE . ".event_starttime ASC, " . $table . ".is_featured ASC, " . $wpdb->posts . ".post_title ASC
LIMIT %d", array( $limit) );
$rows = $wpdb->get_results($sql);
return $rows;
}