PluginProbe ʕ •ᴥ•ʔ
WooCommerce Square / 5.4.2
WooCommerce Square v5.4.2
5.4.2 5.4.1 5.4.0 trunk 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.6.0 2.7.0 2.8.0 2.9.0 2.9.1 3.0.0 3.0.1 3.0.2 3.0.3 3.1.0 3.2.0 3.3.0 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.7.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 4.0.0 4.1.0 4.2.0 4.2.1 4.2.2 4.2.3 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.2 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.9.0 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 4.9.8 4.9.9 5.0.0 5.0.1 5.1.0 5.1.1 5.1.2 5.2.0 5.3.0 5.3.1 5.3.2 5.3.3
woocommerce-square / includes / Handlers / Async_Request.php
woocommerce-square / includes / Handlers Last commit date
Product 1 month ago Async_Request.php 2 years ago Background_Job.php 2 months ago Category.php 1 month ago Connection.php 4 months ago Email.php 1 year ago Order.php 1 day ago Order_Sync.php 10 months ago Product.php 1 month ago Products.php 1 day ago Sync.php 3 years ago
Async_Request.php
73 lines
1 <?php
2 /**
3 * WooCommerce Square
4 *
5 * This source file is subject to the GNU General Public License v3.0
6 * that is bundled with this package in the file license.txt.
7 * It is also available through the world-wide-web at this URL:
8 * http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0 or later
9 * If you did not receive a copy of the license and are unable to
10 * obtain it through the world-wide-web, please send an email
11 * to license@woocommerce.com so we can send you a copy immediately.
12 *
13 * DISCLAIMER
14 *
15 * Do not edit or add to this file if you wish to upgrade WooCommerce Square to newer
16 * versions in the future. If you wish to customize WooCommerce Square for your
17 * needs please refer to https://docs.woocommerce.com/document/woocommerce-square/
18 *
19 */
20
21 namespace WooCommerce\Square\Handlers;
22
23 defined( 'ABSPATH' ) || exit;
24
25 if ( ! class_exists( '\\WP_Async_Request', false ) && defined( 'WC_ABSPATH' ) ) {
26 include_once WC_ABSPATH . 'includes/libraries/wp-async-request.php';
27 }
28
29 if ( class_exists( '\\WP_Async_Request', false ) ) :
30 /**
31 * Async_Request class
32 *
33 * @extends \WP_Async_Request
34 * @package WooCommerce\Square\Handlers
35 *
36 * @since 4.1.0
37 */
38 class Async_Request extends \WP_Async_Request {
39 /**
40 * Prefix
41 *
42 * @var string
43 */
44 protected $prefix = 'wc_square';
45
46 /**
47 * Action
48 *
49 * @var string
50 */
51 protected $action = 'async_request';
52
53 /**
54 * Handle a dispatched request.
55 */
56 protected function handle() {
57 // Sync inventory for products.
58 $product_ids = isset( $_POST['product_ids'] ) ? array_map( 'absint', $_POST['product_ids'] ) : array(); // phpcs:ignore WordPress.Security.NonceVerification
59 if ( empty( $product_ids ) ) {
60 return;
61 }
62
63 try {
64 // Update products stock from Square.
65 Product::update_products_stock_from_square( $product_ids );
66 } catch ( \Exception $exception ) {
67 wc_square()->log( 'Error in sync inventory for products: ' . implode( ',', $product_ids ) . '. ' . $exception->getMessage() );
68 }
69 }
70 }
71
72 endif;
73