SILENT KILLERPanel

Current Path: > home > codekrsu > > cuddlebuds.lk > wp-content > plugins > woocommerce > src > StoreApi > Routes > V1


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home/codekrsu//cuddlebuds.lk/wp-content/plugins/woocommerce/src/StoreApi/Routes/V1

NameTypeSizeLast ModifiedActions
AI Directory - -
AbstractCartRoute.php File 9713 bytes July 14 2025 13:28:08.
AbstractRoute.php File 9904 bytes July 30 2024 19:31:16.
AbstractTermsRoute.php File 4806 bytes December 27 2023 00:45:02.
Batch.php File 3776 bytes March 03 2025 22:28:12.
Cart.php File 1371 bytes March 03 2025 22:28:12.
CartAddItem.php File 4047 bytes July 30 2024 19:31:16.
CartApplyCoupon.php File 2115 bytes July 30 2024 19:31:16.
CartCoupons.php File 4014 bytes April 30 2024 19:35:34.
CartCouponsByCode.php File 2728 bytes July 30 2024 19:31:16.
CartExtensions.php File 1973 bytes April 30 2024 19:35:34.
CartItems.php File 3907 bytes April 30 2024 19:35:34.
CartItemsByKey.php File 4172 bytes April 30 2024 19:35:34.
CartRemoveCoupon.php File 2566 bytes May 12 2025 21:07:28.
CartRemoveItem.php File 2300 bytes April 30 2024 19:35:34.
CartSelectShippingRate.php File 3650 bytes July 30 2024 19:31:16.
CartUpdateCustomer.php File 10103 bytes June 23 2025 19:46:28.
CartUpdateItem.php File 1818 bytes April 30 2024 19:35:34.
Checkout.php File 32888 bytes May 12 2025 21:07:28.
CheckoutOrder.php File 8099 bytes May 12 2025 21:07:28.
Order.php File 2291 bytes April 30 2024 19:35:34.
Patterns.php File 2927 bytes August 27 2024 23:04:44.
ProductAttributeTerms.php File 2231 bytes March 03 2025 22:28:12.
ProductAttributes.php File 1633 bytes March 03 2025 22:28:12.
ProductAttributesById.php File 2050 bytes March 03 2025 22:28:12.
ProductBrands.php File 1393 bytes March 03 2025 22:28:12.
ProductBrandsById.php File 2444 bytes March 03 2025 22:28:12.
ProductCategories.php File 1384 bytes March 03 2025 22:28:12.
ProductCategoriesById.php File 2024 bytes March 03 2025 22:28:12.
ProductCollectionData.php File 6509 bytes March 03 2025 22:28:12.
ProductReviews.php File 6902 bytes March 03 2025 22:28:12.
ProductTags.php File 1265 bytes March 03 2025 22:28:12.
Products.php File 15888 bytes May 12 2025 21:07:28.
ProductsById.php File 1944 bytes March 03 2025 22:28:12.
ProductsBySlug.php File 2774 bytes March 03 2025 22:28:12.

Reading File: /home/codekrsu//cuddlebuds.lk/wp-content/plugins/woocommerce/src/StoreApi/Routes/V1/Patterns.php

<?php

namespace Automattic\WooCommerce\StoreApi\Routes\V1;

use Automattic\WooCommerce\Blocks\BlockPatterns;
use Automattic\WooCommerce\Blocks\Package;
use Automattic\WooCommerce\Blocks\Patterns\PTKClient;
use Automattic\WooCommerce\Blocks\Patterns\PTKPatternsStore;
use Automattic\WooCommerce\StoreApi\Exceptions\RouteException;
use Exception;
use WP_Error;
use WP_REST_Request;
use WP_REST_Response;

/**
 * Patterns class.
 */
class Patterns extends AbstractRoute {
	/**
	 * The route identifier.
	 *
	 * @var string
	 */
	const IDENTIFIER = 'patterns';

	/**
	 * The schema item identifier.
	 *
	 * @var string
	 */
	const SCHEMA_TYPE = 'patterns';

	/**
	 * Get the path of this REST route.
	 *
	 * @return string
	 */
	public function get_path() {
		return self::get_path_regex();
	}

	/**
	 * Get the path of this rest route.
	 *
	 * @return string
	 */
	public static function get_path_regex() {
		return '/patterns';
	}

	/**
	 * Get method arguments for this REST route.
	 *
	 * @return array An array of endpoints.
	 */
	public function get_args() {
		return [
			[
				'methods'             => \WP_REST_Server::READABLE,
				'callback'            => [ $this, 'get_response' ],
				'permission_callback' => function () {
					return is_user_logged_in();
				},
			],
			[
				'methods'             => \WP_REST_Server::CREATABLE,
				'callback'            => [ $this, 'get_response' ],
				'permission_callback' => function () {
					return is_user_logged_in();
				},
			],
			'schema' => [ $this->schema, 'get_public_item_schema' ],
		];
	}

	/**
	 * Fetch a single pattern from the PTK to ensure the API is available.
	 *
	 * @param WP_REST_Request $request Request object.
	 *
	 * @return WP_Error|\WP_HTTP_Response|WP_REST_Response
	 * @throws RouteException If the patterns cannot be fetched.
	 */
	protected function get_route_response( WP_REST_Request $request ) {
		$ptk_client = Package::container()->get( PTKClient::class );

		$response = $ptk_client->fetch_patterns(
			array(
				'per_page' => 1,
			)
		);

		if ( is_wp_error( $response ) ) {
			throw new RouteException(
				wp_kses( $response->get_error_message(), array() ),
				wp_kses( $response->get_error_code(), array() )
			);
		}

		return rest_ensure_response(
			array(
				'success' => true,
			)
		);
	}

	/**
	 * Fetch the patterns from the PTK and update the transient.
	 *
	 * @param WP_REST_Request $request Request object.
	 *
	 * @return WP_REST_Response
	 * @throws Exception If the patterns cannot be fetched.
	 */
	protected function get_route_post_response( WP_REST_Request $request ) {
		$ptk_patterns_store = Package::container()->get( PTKPatternsStore::class );

		$patterns = $ptk_patterns_store->fetch_patterns();

		$block_patterns = Package::container()->get( BlockPatterns::class );

		$block_patterns->register_ptk_patterns( $patterns );

		return rest_ensure_response(
			array(
				'success' => true,
			)
		);
	}
}

SILENT KILLER Tool