Logs_List_Table::prepare_items()
Prepare items/data
Source Source
File: src/core/admin/class-logs-list-table.php
public function prepare_items() { global $wpdb, $_wp_column_headers; $screen = get_current_screen(); $columns = $this->get_columns(); $hidden = array(); $sortable = $this->get_sortable_columns(); $this->_column_headers = array( $columns, $hidden, $sortable ); if ( class_exists( '\Uncanny_Automator_Pro\Pro_Filters' ) ) { if ( 'recipe-log' === $this->tab ) { $query = Pro_Filters::get_recipe_query(); } elseif ( 'recipe-activity' === $this->tab ) { $query = Pro_Filters::get_recipe_query(); } elseif ( 'trigger-log' === $this->tab ) { $query = Pro_Filters::get_trigger_query(); } elseif ( 'action-log' === $this->tab ) { $query = Pro_Filters::get_action_query(); } } else { if ( 'recipe-log' === $this->tab ) { $query = $this->get_recipe_query(); } elseif ( 'recipe-activity' === $this->tab ) { $query = $this->get_recipe_query(); } elseif ( 'trigger-log' === $this->tab ) { $query = $this->get_trigger_query(); } elseif ( 'action-log' === $this->tab ) { $query = $this->get_action_query(); } } /* -- Ordering parameters -- */ $order = ! empty( automator_filter_input( 'order' ) ) ? $wpdb->_real_escape( automator_filter_input( 'order' ) ) : 'DESC'; if ( 'recipe-log' === $this->tab ) { $orderby = ! empty( automator_filter_input( 'orderby' ) ) ? $wpdb->_real_escape( automator_filter_input( 'orderby' ) ) : 'recipe_date_time'; } elseif ( 'recipe-activity' === $this->tab ) { $orderby = ! empty( automator_filter_input( 'orderby' ) ) ? $wpdb->_real_escape( automator_filter_input( 'orderby' ) ) : 'recipe_date_time'; } elseif ( 'trigger-log' === $this->tab ) { $orderby = ! empty( automator_filter_input( 'orderby' ) ) ? $wpdb->_real_escape( automator_filter_input( 'orderby' ) ) : 'trigger_date'; } elseif ( 'action-log' === $this->tab ) { $orderby = ! empty( automator_filter_input( 'orderby' ) ) ? $wpdb->_real_escape( automator_filter_input( 'orderby' ) ) : 'action_date'; } if ( ! empty( $query ) && ! empty( $orderby ) && ! empty( $order ) ) { $query .= ' ORDER BY ' . $orderby . ' ' . $order; } /* -- Pagination parameters -- */ $total_items = $wpdb->query( $query ); //phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared $perpage = 100; $paged = $this->get_pagenum(); if ( empty( $paged ) || ! is_numeric( $paged ) || $paged <= 0 ) { $paged = 1; } $totalpages = ceil( $total_items / $perpage ); //adjust the query to take pagination into account if ( ! empty( $paged ) && ! empty( $perpage ) ) { $offset = ( $paged - 1 ) * $perpage; $query .= ' LIMIT ' . (int) $offset . ',' . $perpage; } /* -- Register the pagination -- */ $this->set_pagination_args( array( 'total_items' => $total_items, 'total_pages' => $totalpages, 'per_page' => $perpage, ) ); /* -- Register the Columns -- */ $columns = $this->get_columns(); $_wp_column_headers[ $screen->id ] = $columns; /* -- Fetch the items -- */ if ( 'recipe-log' === $this->tab ) { $this->items = $this->format_recipe_data( $wpdb->get_results( $query ) ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared } elseif ( 'recipe-activity' === $this->tab ) { $this->items = $this->format_recipe_activity_data( $wpdb->get_results( $query ) ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared } elseif ( 'trigger-log' === $this->tab ) { $this->items = $this->format_trigger_data( $wpdb->get_results( $query ) ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared } elseif ( 'action-log' === $this->tab ) { $this->items = $this->format_action_data( $wpdb->get_results( $query ) ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared } }
Expand full source code Collapse full source code View on Github