possibly_add_notes(); $this->possibly_delete_notes(); $this->possibly_update_notes(); if ( $this->is_remote_inbox_notifications_enabled() ) { DataSourcePoller::get_instance()->read_specs_from_data_sources(); RemoteInboxNotificationsEngine::run(); } if ( $this->is_merchant_email_notifications_enabled() ) { MerchantEmailNotifications::run(); } if ( Features::is_enabled( 'onboarding' ) ) { ( new MailchimpScheduler() )->run(); } } /** * Adds notes that should be added. */ protected function possibly_add_notes() { NewSalesRecord::possibly_add_note(); MobileApp::possibly_add_note(); TrackingOptIn::possibly_add_note(); OnboardingPayments::possibly_add_note(); PersonalizeStore::possibly_add_note(); WooCommercePayments::possibly_add_note(); EUVATNumber::possibly_add_note(); MarketingJetpack::possibly_add_note(); WooCommerceSubscriptions::possibly_add_note(); MigrateFromShopify::possibly_add_note(); InsightFirstSale::possibly_add_note(); LaunchChecklist::possibly_add_note(); OnlineClothingStore::possibly_add_note(); FirstProduct::possibly_add_note(); RealTimeOrderAlerts::possibly_add_note(); CustomizeStoreWithBlocks::possibly_add_note(); TestCheckout::possibly_add_note(); EditProductsOnTheMove::possibly_add_note(); PerformanceOnMobile::possibly_add_note(); ManageOrdersOnTheGo::possibly_add_note(); ChoosingTheme::possibly_add_note(); InsightFirstProductAndPayment::possibly_add_note(); AddFirstProduct::possibly_add_note(); AddingAndManangingProducts::possibly_add_note(); CustomizingProductCatalog::possibly_add_note(); FirstDownlaodableProduct::possibly_add_note(); NavigationNudge::possibly_add_note(); CompleteStoreDetails::possibly_add_note(); UpdateStoreDetails::possibly_add_note(); PaymentsRemindMeLater::possibly_add_note(); MagentoMigration::possibly_add_note(); } /** * Deletes notes that should be deleted. */ protected function possibly_delete_notes() { NavigationNudge::delete_if_not_applicable(); SetUpAdditionalPaymentTypes::delete_if_not_applicable(); PaymentsRemindMeLater::delete_if_not_applicable(); } /** * Updates notes that should be updated. */ protected function possibly_update_notes() { NewSalesRecord::possibly_update_note(); MobileApp::possibly_update_note(); TrackingOptIn::possibly_update_note(); OnboardingPayments::possibly_update_note(); PersonalizeStore::possibly_update_note(); WooCommercePayments::possibly_update_note(); EUVATNumber::possibly_update_note(); MarketingJetpack::possibly_update_note(); WooCommerceSubscriptions::possibly_update_note(); MigrateFromShopify::possibly_update_note(); InsightFirstSale::possibly_update_note(); LaunchChecklist::possibly_update_note(); OnlineClothingStore::possibly_update_note(); FirstProduct::possibly_update_note(); RealTimeOrderAlerts::possibly_update_note(); CustomizeStoreWithBlocks::possibly_update_note(); TestCheckout::possibly_update_note(); EditProductsOnTheMove::possibly_update_note(); PerformanceOnMobile::possibly_update_note(); ManageOrdersOnTheGo::possibly_update_note(); ChoosingTheme::possibly_update_note(); InsightFirstProductAndPayment::possibly_update_note(); AddFirstProduct::possibly_update_note(); AddingAndManangingProducts::possibly_update_note(); CustomizingProductCatalog::possibly_update_note(); FirstDownlaodableProduct::possibly_update_note(); NavigationNudge::possibly_update_note(); CompleteStoreDetails::possibly_update_note(); UpdateStoreDetails::possibly_update_note(); PaymentsRemindMeLater::possibly_update_note(); MagentoMigration::possibly_update_note(); } /** * Checks if remote inbox notifications are enabled. * * @return bool Whether remote inbox notifications are enabled. */ protected function is_remote_inbox_notifications_enabled() { // Check if the feature flag is disabled. if ( ! Features::is_enabled( 'remote-inbox-notifications' ) ) { return false; } // Check if the site has opted out of marketplace suggestions. if ( 'yes' !== get_option( 'woocommerce_show_marketplace_suggestions', 'yes' ) ) { return false; } // All checks have passed. return true; } /** * Checks if merchant email notifications are enabled. * * @return bool Whether merchant email notifications are enabled. */ protected function is_merchant_email_notifications_enabled() { // Check if the feature flag is disabled. if ( 'yes' !== get_option( 'woocommerce_merchant_email_notifications', 'no' ) ) { return false; } // All checks have passed. return true; } }