![]() Server : Apache/2.4.52 (Ubuntu) System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64 User : www-data ( 33) PHP Version : 8.1.2-1ubuntu2.21 Disable Function : NONE Directory : /var/www/theprintave/wp-content/plugins/dokan-lite/includes/Abstracts/ |
<?php namespace WeDevs\Dokan\Abstracts; use WP_REST_Controller; /** * Base REST Controller for Dokan * * @since DOKAN_PRO_SINCE * * @package dokan */ abstract class DokanRESTBaseController extends WP_REST_Controller { /** * Endpoint namespace * * @var string */ protected $namespace = 'dokan/v1'; /** * Format item's collection for response * * @since DOKAN_PRO_SINCE * * @param object $response * @param object $request * @param array $items * @param int $total_items * * @return object */ public function format_collection_response( $response, $request, $total_items ) { if ( $total_items === 0 ) { return $response; } // Pagination values for headers. $per_page = (int) ( ! empty( $request['per_page'] ) ? $request['per_page'] : 20 ); $page = (int) ( ! empty( $request['page'] ) ? $request['page'] : 1 ); $response->header( 'X-WP-Total', (int) $total_items ); $max_pages = ceil( $total_items / $per_page ); $response->header( 'X-WP-TotalPages', (int) $max_pages ); $base = add_query_arg( $request->get_query_params(), rest_url( sprintf( '/%s/%s', $this->namespace, $this->base ) ) ); if ( $page > 1 ) { $prev_page = $page - 1; if ( $prev_page > $max_pages ) { $prev_page = $max_pages; } $prev_link = add_query_arg( 'page', $prev_page, $base ); $response->link_header( 'prev', $prev_link ); } if ( $max_pages > $page ) { $next_page = $page + 1; $next_link = add_query_arg( 'page', $next_page, $base ); $response->link_header( 'next', $next_link ); } return $response; } }