PluginProbe
ووسلام – همگام سازی ووکامرس و باسلام / 1.10.22
ووسلام – همگام سازی ووکامرس و باسلام v1.10.22
1.10.22 1.10.21 1.10.19 1.10.20 1.10.18 1.10.17 1.10.15 1.10.14 1.10.13 1.10.12 1.10.10 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 1.10.1 1.10.0 1.9.2 1.9.1 1.9.0 1.8.8 All 55 releases
← All changes | templates/admin/main/Connected.php +8 -15 1.9.2 → 1.10.22 View file →
@@ -1,7 +1,8 @@
1 1 <?php
2 2
3 3 use SyncBasalam\JobManager;
4 +use SyncBasalam\Services\VendorSyncPolicy;
4 5 use SyncBasalam\Utilities\ProductMetaKey;
5 6
6 7 defined('ABSPATH') || exit;
7 8
@@ -6,8 +7,14 @@
6 7 defined('ABSPATH') || exit;
7 8
8 9 global $wpdb;
9 10
11 +$vendorSyncState = syncBasalamContainer()->get(VendorSyncPolicy::class)->getFrontendState();
12 +$vendorSyncMode = $vendorSyncState['mode'];
13 +$vendorCanCreate = !empty($vendorSyncState['can_create']);
14 +$vendorCanUpdate = !empty($vendorSyncState['can_update']);
15 +$vendorUpdateIsLimited = $vendorSyncMode === VendorSyncPolicy::MODE_INACTIVE_LIMITED;
16 +
10 17 $count_of_published_woocommerce_products = wp_count_posts('product')->publish;
11 18 $productIdMetaKey = ProductMetaKey::basalamProductId();
12 19 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- Direct count on core postmeta table; no object cache for this aggregate.
13 20 $count_of_synced_basalam_products = intval($wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM {$wpdb->postmeta} WHERE meta_key = %s", $productIdMetaKey)));
@@ -13,23 +20,9 @@
13 20 $count_of_synced_basalam_products = intval($wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM {$wpdb->postmeta} WHERE meta_key = %s", $productIdMetaKey)));
14 21
15 22 $job_manager = new JobManager();
16 23
17 -$quick_update_processing_job = $job_manager->getJob(['job_type' => 'sync_basalam_bulk_update_products', 'status' => 'processing'])
18 - ?: $job_manager->getJob(['job_type' => 'sync_basalam_bulk_update_products', 'status' => 'pending']);
19 -
20 -$full_update_job = $job_manager->getJob(['job_type' => 'sync_basalam_update_all_products', 'status' => 'pending']);
21 -$full_update_processing_job = $job_manager->getJob(['job_type' => 'sync_basalam_update_all_products', 'status' => 'processing']);
22 -
23 -$single_update_count = $job_manager->getCountJobs(['job_type' => 'sync_basalam_update_single_product', 'status' => ['pending', 'processing']]);
24 -
25 -$has_active_update_jobs = ($quick_update_processing_job || $full_update_job || $full_update_processing_job || $single_update_count > 0);
26 -$active_update_type = '';
27 -if ($quick_update_processing_job) {
28 - $active_update_type = 'quick';
29 -} elseif ($full_update_job || $full_update_processing_job || $single_update_count > 0) {
30 - $active_update_type = 'full';
31 -}
24 +$update_queue_status = $job_manager->getProductUpdateStatus();
32 25
33 26 $create_products_job = $job_manager->getJob(['job_type' => 'sync_basalam_create_all_products', 'status' => 'pending']);
34 27 $create_products_processing_job = $job_manager->getJob(['job_type' => 'sync_basalam_create_all_products', 'status' => 'processing']);
35 28