📁 File Manager Pro
v10.0.3 | PHP: 8.1.34
Server: LiteSpeed
2026-06-28 15:11:31
📂
/ (Root)
/
home
/
apkbfjox
/
y888.online
/
wp-content
/
plugins
/
kadence-blocks
/
includes
📍 /home/apkbfjox/y888.online/wp-content/plugins/kadence-blocks/includes
🔄 Refresh
✏️
Editing: class-kadence-blocks-image-picker-rest.php
Writable
<?php /** * REST API for Kadence Image Picker */ use KadenceWP\KadenceBlocks\Image_Downloader\Image_Downloader; use KadenceWP\KadenceBlocks\StellarWP\ProphecyMonorepo\ImageDownloader\Exceptions\ImageDownloadException; use KadenceWP\KadenceBlocks\Traits\Rest\Image_Trait; if ( ! defined( 'ABSPATH' ) ) { exit; } /** * REST API prebuilt library. */ class Kadence_Blocks_Image_Picker_REST_Controller extends WP_REST_Controller { use Image_Trait; /** * Handle image Type. */ const PROP_IMAGE_TYPE = 'image_type'; /** * Handle image sizes. */ const PROP_IMAGE_SIZES = 'image_sizes'; /** * Constructor. */ public function __construct() { $this->namespace = 'kb-image-picker/v1'; } /** * Registers the routes for the objects of the controller. * * @see register_rest_route() */ public function register_routes() { register_rest_route( $this->namespace, '/process_images', array( array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'process_images' ), 'permission_callback' => array( $this, 'get_items_permission_check' ), 'args' => $this->get_collection_params(), ), ) ); } /** * Checks if a given request has access to search content. * * @param WP_REST_Request $request Full details about the request. * @return true|WP_Error True if the request has search access, WP_Error object otherwise. */ public function get_items_permission_check( $request ) { return current_user_can( 'edit_posts' ); } /** * Imports a collection of images. * * @param WP_REST_Request $request Full details about the request. * * @return array<array{id: int, url: string}>|\WP_Error A list of local or pexels images, or WP_Error on permission failure. * @throws InvalidArgumentException * @throws Throwable * @throws ImageDownloadException */ public function process_images( $request ) { // Require upload capability; this endpoint downloads images and adds them to the media library. if ( ! current_user_can( 'upload_files' ) ) { return new WP_Error( 'rest_forbidden', __( 'You do not have permission to upload files.', 'kadence-blocks' ), array( 'status' => 403 ) ); } $parameters = (array) $request->get_json_params(); return kadence_blocks()->get( Image_Downloader::class )->download( $parameters ); } /** * Retrieves the query params for the search results collection. * * @return array Collection parameters. */ public function get_collection_params(): array { $query_params = parent::get_collection_params(); $query_params[ self::PROP_IMAGE_TYPE ] = array( 'description' => __( 'The Image type to return', 'kadence-blocks' ), 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', ); $query_params[ self::PROP_IMAGE_SIZES ] = array( 'description' => __( 'The Image type to return', 'kadence-blocks' ), 'type' => 'array', 'sanitize_callback' => array( $this, 'sanitize_image_sizes_array' ), ); return $query_params; } }
💾 Save Changes
❌ Cancel