PluginProbe
WCPOS – Point of Sale (POS) plugin for WooCommerce / 1.10.19
WCPOS – Point of Sale (POS) plugin for WooCommerce v1.10.19
1.10.19 1.10.18 1.10.17 1.10.16 1.10.15 1.10.13 1.10.14 1.10.12 1.10.11 1.10.10 1.10.9 1.10.8 untagged-3d9b7ccddc54df87c672 1.10.7 1.10.6 1.10.5 1.10.3 1.10.4 1.10.2 1.10.1 1.10.0 1.9.17 1.9.15 1.9.16 1.9.14 All 163 releases
woocommerce-pos / includes / API / class-aliases.php

class-aliases.php in WCPOS – Point of Sale (POS) plugin for WooCommerce 1.10.19, at includes/API/class-aliases.php

81 lines 6.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Permanent aliases for legacy unversioned and folded v2 WCPOS REST API class names.
4 *
5 * WCPOS Pro and third-party extensions subclass these controllers by FQCN.
6 * Keep the old names as a permanent public API while implementations live in V1.
7 *
8 * Loaded via Composer's `files` autoload (so bundled consumers like WCPOS Pro,
9 * which load this package through vendor/autoload.php and never execute
10 * woocommerce-pos.php, still get the aliases) AND required directly from the
11 * plugin bootstrap. The guard makes double-loading a no-op.
12 *
13 * @package WCPOS\WooCommercePOS\API
14 */
15
16 if ( \defined( 'WCPOS_API_CLASS_ALIASES_REGISTERED' ) ) {
17 return;
18 }
19 \define( 'WCPOS_API_CLASS_ALIASES_REGISTERED', true );
20
21 spl_autoload_register(
22 static function ( string $class ): void {
23 static $aliases = array(
24 'WCPOS\WooCommercePOS\API\Auth' => 'WCPOS\WooCommercePOS\API\V1\Auth',
25 'WCPOS\WooCommercePOS\API\Bulk_ID_Fast_Path' => 'WCPOS\WooCommercePOS\API\V1\Bulk_ID_Fast_Path',
26 'WCPOS\WooCommercePOS\API\Cashier' => 'WCPOS\WooCommercePOS\API\V1\Cashier',
27 'WCPOS\WooCommercePOS\API\Checkout_Controller' => 'WCPOS\WooCommercePOS\API\V1\Checkout_Controller',
28 'WCPOS\WooCommercePOS\API\Coupons_Controller' => 'WCPOS\WooCommercePOS\API\V1\Coupons_Controller',
29 'WCPOS\WooCommercePOS\API\Customers_Controller' => 'WCPOS\WooCommercePOS\API\V1\Customers_Controller',
30 'WCPOS\WooCommercePOS\API\Data_Order_Statuses_Controller' => 'WCPOS\WooCommercePOS\API\V1\Data_Order_Statuses_Controller',
31 'WCPOS\WooCommercePOS\API\Extensions' => 'WCPOS\WooCommercePOS\API\V1\Extensions',
32 'WCPOS\WooCommercePOS\API\Gateway_Bootstrap_Controller' => 'WCPOS\WooCommercePOS\API\V1\Gateway_Bootstrap_Controller',
33 'WCPOS\WooCommercePOS\API\Logs' => 'WCPOS\WooCommercePOS\API\V1\Logs',
34 'WCPOS\WooCommercePOS\API\Orders_Controller' => 'WCPOS\WooCommercePOS\API\V1\Orders_Controller',
35 'WCPOS\WooCommercePOS\API\Payment_Gateways' => 'WCPOS\WooCommercePOS\API\V1\Payment_Gateways',
36 'WCPOS\WooCommercePOS\API\Print_Jobs_Controller' => 'WCPOS\WooCommercePOS\API\V1\Print_Jobs_Controller',
37 'WCPOS\WooCommercePOS\API\Product_Brands_Controller' => 'WCPOS\WooCommercePOS\API\V1\Product_Brands_Controller',
38 'WCPOS\WooCommercePOS\API\Product_Categories_Controller' => 'WCPOS\WooCommercePOS\API\V1\Product_Categories_Controller',
39 'WCPOS\WooCommercePOS\API\Product_Tags_Controller' => 'WCPOS\WooCommercePOS\API\V1\Product_Tags_Controller',
40 'WCPOS\WooCommercePOS\API\Product_Variations_Controller' => 'WCPOS\WooCommercePOS\API\V1\Product_Variations_Controller',
41 'WCPOS\WooCommercePOS\API\Products_Controller' => 'WCPOS\WooCommercePOS\API\V1\Products_Controller',
42 'WCPOS\WooCommercePOS\API\Raw_Response' => 'WCPOS\WooCommercePOS\API\V1\Raw_Response',
43 'WCPOS\WooCommercePOS\API\Receipts_Controller' => 'WCPOS\WooCommercePOS\API\V1\Receipts_Controller',
44 'WCPOS\WooCommercePOS\API\Settings' => 'WCPOS\WooCommercePOS\API\V1\Settings',
45 'WCPOS\WooCommercePOS\API\Shipping_Methods_Controller' => 'WCPOS\WooCommercePOS\API\V1\Shipping_Methods_Controller',
46 'WCPOS\WooCommercePOS\API\Stores' => 'WCPOS\WooCommercePOS\API\V1\Stores',
47 'WCPOS\WooCommercePOS\API\Tax_Classes_Controller' => 'WCPOS\WooCommercePOS\API\V1\Tax_Classes_Controller',
48 'WCPOS\WooCommercePOS\API\Taxes_Controller' => 'WCPOS\WooCommercePOS\API\V1\Taxes_Controller',
49 'WCPOS\WooCommercePOS\API\Templates_Controller' => 'WCPOS\WooCommercePOS\API\V1\Templates_Controller',
50 'WCPOS\WooCommercePOS\API\Traits\Product_Helpers' => 'WCPOS\WooCommercePOS\API\V1\Traits\Product_Helpers',
51 'WCPOS\WooCommercePOS\API\Traits\Query_Helpers' => 'WCPOS\WooCommercePOS\API\V1\Traits\Query_Helpers',
52 'WCPOS\WooCommercePOS\API\Traits\Uuid_Handler' => 'WCPOS\WooCommercePOS\API\V1\Traits\Uuid_Handler',
53 'WCPOS\WooCommercePOS\API\Traits\WCPOS_REST_API' => 'WCPOS\WooCommercePOS\API\V1\Traits\WCPOS_REST_API',
54
55 // The wcpos/v2 service twins were folded into Controller_Registry in 1.10.19.
56 // It stamps every v2 entry, so subclasses registered through
57 // woocommerce_pos_rest_api_v2_controllers still answer under wcpos/v2.
58 // Outside the registry, a subclass inherits v1 and must set its own namespace.
59 'WCPOS\WooCommercePOS\API\V2\Auth' => 'WCPOS\WooCommercePOS\API\V1\Auth',
60 'WCPOS\WooCommercePOS\API\V2\Cashier' => 'WCPOS\WooCommercePOS\API\V1\Cashier',
61 'WCPOS\WooCommercePOS\API\V2\Checkout_Controller' => 'WCPOS\WooCommercePOS\API\V1\Checkout_Controller',
62 'WCPOS\WooCommercePOS\API\V2\Data_Order_Statuses_Controller' => 'WCPOS\WooCommercePOS\API\V1\Data_Order_Statuses_Controller',
63 'WCPOS\WooCommercePOS\API\V2\Extensions' => 'WCPOS\WooCommercePOS\API\V1\Extensions',
64 'WCPOS\WooCommercePOS\API\V2\Gateway_Bootstrap_Controller' => 'WCPOS\WooCommercePOS\API\V1\Gateway_Bootstrap_Controller',
65 'WCPOS\WooCommercePOS\API\V2\Logs' => 'WCPOS\WooCommercePOS\API\V1\Logs',
66 'WCPOS\WooCommercePOS\API\V2\Payment_Gateways' => 'WCPOS\WooCommercePOS\API\V1\Payment_Gateways',
67 'WCPOS\WooCommercePOS\API\V2\Print_Jobs_Controller' => 'WCPOS\WooCommercePOS\API\V1\Print_Jobs_Controller',
68 'WCPOS\WooCommercePOS\API\V2\Receipts_Controller' => 'WCPOS\WooCommercePOS\API\V1\Receipts_Controller',
69 'WCPOS\WooCommercePOS\API\V2\Settings' => 'WCPOS\WooCommercePOS\API\V1\Settings',
70 'WCPOS\WooCommercePOS\API\V2\Shipping_Methods_Controller' => 'WCPOS\WooCommercePOS\API\V1\Shipping_Methods_Controller',
71 'WCPOS\WooCommercePOS\API\V2\Stores' => 'WCPOS\WooCommercePOS\API\V1\Stores',
72 'WCPOS\WooCommercePOS\API\V2\Tax_Classes_Controller' => 'WCPOS\WooCommercePOS\API\V1\Tax_Classes_Controller',
73 'WCPOS\WooCommercePOS\API\V2\Templates_Controller' => 'WCPOS\WooCommercePOS\API\V1\Templates_Controller',
74 );
75
76 if ( isset( $aliases[ $class ] ) ) {
77 class_alias( $aliases[ $class ], $class );
78 }
79 }
80 );
81