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