@@ 305-333 (lines=29) @@ | ||
302 | * @param string $type Type of sync item to get the range for. |
|
303 | * @return array Array of min ID, max ID and total items in the range. |
|
304 | */ |
|
305 | public function get_range( $type ) { |
|
306 | global $wpdb; |
|
307 | if ( ! in_array( $type, array( 'comments', 'posts' ), true ) ) { |
|
308 | return array(); |
|
309 | } |
|
310 | ||
311 | switch ( $type ) { |
|
312 | case 'posts': |
|
313 | $table = $wpdb->posts; |
|
314 | $id = 'ID'; |
|
315 | $where_sql = Settings::get_blacklisted_post_types_sql(); |
|
316 | ||
317 | break; |
|
318 | case 'comments': |
|
319 | $table = $wpdb->comments; |
|
320 | $id = 'comment_ID'; |
|
321 | $where_sql = Settings::get_comments_filter_sql(); |
|
322 | break; |
|
323 | } |
|
324 | ||
325 | // TODO: Call $wpdb->prepare on the following query. |
|
326 | // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared |
|
327 | $results = $wpdb->get_results( "SELECT MAX({$id}) as max, MIN({$id}) as min, COUNT({$id}) as count FROM {$table} WHERE {$where_sql}" ); |
|
328 | if ( isset( $results[0] ) ) { |
|
329 | return $results[0]; |
|
330 | } |
|
331 | ||
332 | return array(); |
|
333 | } |
|
334 | ||
335 | /** |
|
336 | * Get the range for content (posts and comments) to sync. |
@@ 256-284 (lines=29) @@ | ||
253 | * |
|
254 | * @return array Array of min ID, max ID and total items in the range. |
|
255 | */ |
|
256 | public function get_range( $type ) { |
|
257 | global $wpdb; |
|
258 | if ( ! in_array( $type, array( 'comments', 'posts' ), true ) ) { |
|
259 | return array(); |
|
260 | } |
|
261 | ||
262 | switch ( $type ) { |
|
263 | case 'posts': |
|
264 | $table = $wpdb->posts; |
|
265 | $id = 'ID'; |
|
266 | $where_sql = Settings::get_blacklisted_post_types_sql(); |
|
267 | ||
268 | break; |
|
269 | case 'comments': |
|
270 | $table = $wpdb->comments; |
|
271 | $id = 'comment_ID'; |
|
272 | $where_sql = Settings::get_comments_filter_sql(); |
|
273 | break; |
|
274 | } |
|
275 | ||
276 | // TODO: Call $wpdb->prepare on the following query. |
|
277 | // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared |
|
278 | $results = $wpdb->get_results( "SELECT MAX({$id}) as max, MIN({$id}) as min, COUNT({$id}) as count FROM {$table} WHERE {$where_sql}" ); |
|
279 | if ( isset( $results[0] ) ) { |
|
280 | return $results[0]; |
|
281 | } |
|
282 | ||
283 | return array(); |
|
284 | } |
|
285 | ||
286 | /** |
|
287 | * Continue sending instead of enqueueing. |