Function Reference: geodir_event_get_widget_events
Summary
This function has not been documented yet.
Filters
‘geodir_event_filter_widget_events_fields’ [Line: 1315]
‘geodir_event_filter_widget_events_join’ [Line: 1319]
‘geodir_event_filter_widget_events_where’ [Line: 1322]
Source File
geodir_event_get_widget_events() is located in geodir_event_manager/gdevents_template_functions.php [Line: 1307]
Source Code
function geodir_event_get_widget_events( $query_args, $count_only = false ) {
global $wpdb, $plugin_prefix;
$GLOBALS['gd_query_args'] = $query_args;
$gd_query_args = $query_args;
$table = $plugin_prefix . 'gd_event_detail';
$fields = $wpdb->posts . ".*, " . $table . ".*, " . EVENT_SCHEDULE . ".*";
$fields = apply_filters( 'geodir_event_filter_widget_events_fields', $fields );
$join = "INNER JOIN " . $table ." ON (" . $table .".post_id = " . $wpdb->posts . ".ID)";
$join .= " INNER JOIN " . EVENT_SCHEDULE ." ON (" . EVENT_SCHEDULE .".event_id = " . $wpdb->posts . ".ID)";
$join = apply_filters( 'geodir_event_filter_widget_events_join', $join );
$where = " AND " . $wpdb->posts . ".post_status = 'publish' AND " . $wpdb->posts . ".post_type = 'gd_event'";
$where = apply_filters( 'geodir_event_filter_widget_events_where', $where );
$where = $where != '' ? " WHERE 1=1 " . $where : '';
if ($count_only) {
$sql = "SELECT COUNT(DISTINCT(CONCAT(" . $wpdb->posts . ".ID, '-', " . EVENT_SCHEDULE . ".event_date))) AS total FROM " . $wpdb->posts . "
" . $join . "
" . $where;
$rows = (int)$wpdb->get_var($sql);
} else {
$groupby = "";
$groupby = apply_filters( 'geodir_event_filter_widget_events_groupby', $groupby );
$orderby = geodir_event_widget_events_get_order( $query_args );
$orderby = apply_filters( 'geodir_event_filter_widget_events_orderby', $orderby );
$orderby .= $wpdb->posts . ".post_title ASC";
$orderby = $orderby != '' ? " ORDER BY " . $orderby : '';
$limit = !empty( $query_args['posts_per_page'] ) ? $query_args['posts_per_page'] : 5;
$limit = apply_filters( 'geodir_event_filter_widget_events_limit', $limit );
$page = !empty($query_args['pageno']) ? absint($query_args['pageno']) : 1;
if ( !$page )
$page = 1;
$limit = (int)$limit > 0 ? " LIMIT " . absint( ( $page - 1 ) * (int)$limit ) . ", " . (int)$limit : "";
$sql = "SELECT SQL_CALC_FOUND_ROWS " . $fields . " FROM " . $wpdb->posts . "
" . $join . "
" . $where . "
" . $groupby . "
" . $orderby . "
" . $limit;
$rows = $wpdb->get_results($sql);
}
return $rows;
}