PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.5.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.5.0
4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Sync / ProductsSyncService.php
surecart / app / src / Sync Last commit date
Concerns 6 months ago Jobs 1 year ago Tasks 1 year ago WooCommerce 2 weeks ago BatchCheckService.php 6 months ago ContentSyncService.php 6 months ago CustomerSyncService.php 1 year ago ImportState.php 2 months ago PostSyncService.php 2 days ago ProductSyncService.php 1 year ago ProductsSyncService.php 1 year ago StoreSyncService.php 1 year ago SyncService.php 2 months ago SyncServiceProvider.php 2 months ago
ProductsSyncService.php
109 lines
1 <?php
2
3 namespace SureCart\Sync;
4
5 /**
6 * Syncs customer records to WordPress users.
7 */
8 class ProductsSyncService {
9 /**
10 * Application instance.
11 *
12 * @var \SureCart\Application
13 */
14 protected $app = null;
15
16 /**
17 * The notice id.
18 *
19 * @var string
20 */
21 protected $notice_id = 'surecart_products_sync';
22
23 /**
24 * Constructor.
25 *
26 * @param \SureCart\Application $app The application.
27 */
28 public function __construct( $app ) {
29 $this->app = $app;
30 }
31
32 /**
33 * Bootstrap the service.
34 *
35 * @return void
36 */
37 public function bootstrap() {
38 add_action( 'admin_notices', [ $this, 'showMigrationNotice' ] );
39 }
40
41 /**
42 * Get the queue.
43 *
44 * @return object
45 */
46 public function jobs() {
47 return $this->app->resolve( 'surecart.jobs' );
48 }
49
50 /**
51 * Is this process active?
52 *
53 * @return boolean
54 */
55 public function isActive() {
56 return $this->jobs()->isActive();
57 }
58
59 /**
60 * Show the migration notice.
61 *
62 * @return void
63 */
64 public function showMigrationNotice() {
65 if ( ! $this->isActive() ) {
66 return;
67 }
68 echo wp_kses_post(
69 \SureCart::notices()->render(
70 [
71 'name' => $this->notice_id,
72 'type' => 'info',
73 'title' => esc_html__( 'SureCart: Getting things ready...', 'surecart' ),
74 'text' => wp_sprintf(
75 '<p>%s</p>',
76 esc_html__( 'We are getting things ready and optimized in the background. This may take a few minutes.', 'surecart' ),
77 ),
78 ]
79 )
80 );
81 }
82
83 /**
84 * Start the sync process.
85 *
86 * @param boolean $args The arguments.
87 *
88 * @return array|WP_Error The response or WP_Error on failure.
89 */
90 public function dispatch( $args = [] ) {
91 $args = wp_parse_args(
92 $args,
93 [
94 'page' => 1,
95 'per_page' => 25,
96 ]
97 );
98
99 // reset the notice.
100 \SureCart::notices()->reset( $this->notice_id );
101
102 // clear account cache.
103 \SureCart::account()->clearCache();
104
105 // run all jobs.
106 return $this->jobs()->run( $args );
107 }
108 }
109