PluginProbe ʕ •ᴥ•ʔ
WooCommerce Square / 5.4.3
WooCommerce Square v5.4.3
5.4.3 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 2 months ago Async_Request.php 2 years ago Background_Job.php 3 months ago Category.php 2 months ago Connection.php 5 months ago Email.php 1 year ago Order.php 5 days ago Order_Sync.php 11 months ago Product.php 2 months ago Products.php 2 weeks 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