PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / vendor / otgs / installer / includes / class-otgs-installer-wp-components-hooks.php
woocommerce-multilingual / vendor / otgs / installer / includes Last commit date
CDTClient 4 weeks ago admin-notices 4 weeks ago buy-url 4 weeks ago debug 4 weeks ago exceptions 5 years ago instances 4 weeks ago loader 5 years ago products 4 weeks ago repository 4 weeks ago rest 4 weeks ago site-key 4 weeks ago support 4 weeks ago template-service 4 weeks ago upgrade 4 weeks ago utilities 4 weeks ago wpml-content-stats 4 weeks ago class-installer-dependencies.php 4 weeks ago class-installer-theme.php 4 weeks ago class-installer-upgrader-skins.php 4 weeks ago class-otgs-installer-autoloader.php 5 years ago class-otgs-installer-cloned-sites-handler.php 4 weeks ago class-otgs-installer-debug-info.php 4 weeks ago class-otgs-installer-factory.php 4 weeks ago class-otgs-installer-filename-hooks.php 4 weeks ago class-otgs-installer-icons.php 4 weeks ago class-otgs-installer-loader.php 10 months ago class-otgs-installer-package-product-finder.php 4 weeks ago class-otgs-installer-package-product.php 4 weeks ago class-otgs-installer-package.php 5 years ago class-otgs-installer-php-functions.php 4 weeks ago class-otgs-installer-plugin-factory.php 4 weeks ago class-otgs-installer-plugin-finder.php 4 weeks ago class-otgs-installer-plugin.php 4 weeks ago class-otgs-installer-plugins-page-notice.php 4 weeks ago class-otgs-installer-plugins-update-cache-cleaner.php 5 years ago class-otgs-installer-settings.php 4 weeks ago class-otgs-installer-source-factory.php 5 years ago class-otgs-installer-source.php 4 weeks ago class-otgs-installer-subscription-factory.php 5 years ago class-otgs-installer-subscription-warning-message.php 4 weeks ago class-otgs-installer-subscription.php 4 weeks ago class-otgs-installer-wp-components-hooks.php 4 weeks ago class-otgs-installer-wp-components-sender.php 4 weeks ago class-otgs-installer-wp-components-setting-ajax.php 4 weeks ago class-otgs-installer-wp-components-setting-resources.php 4 weeks ago class-otgs-installer-wp-components-storage.php 4 weeks ago class-otgs-installer-wp-share-local-components-setting-hooks.php 4 weeks ago class-otgs-installer-wp-share-local-components-setting.php 4 weeks ago class-translation-service-info.php 4 weeks ago class-wp-installer-api.php 4 weeks ago class-wp-installer-channels.php 4 weeks ago class-wp-installer.php 4 weeks ago functions-core.php 4 weeks ago functions-templates.php 4 weeks ago otgs-installer-autoload-classmap.php 10 months ago
class-otgs-installer-wp-components-hooks.php
75 lines
1 <?php
2
3 class OTGS_Installer_WP_Components_Hooks {
4
5 const EVENT_SEND_COMPONENTS_MONTHLY = 'otgs_send_components_data';
6 const EVENT_SEND_COMPONENTS_AFTER_REGISTRATION = 'otgs_send_components_data_on_product_registration';
7 const REPORT_SCHEDULING_PERIOD = '+1 month';
8 const MONTHLY_CRON = 'monthly';
9
10 private $storage;
11
12 private $sender;
13
14 private $setting;
15
16 private $php_functions;
17
18 public function __construct(
19 OTGS_Installer_WP_Components_Storage $storage,
20 OTGS_Installer_WP_Components_Sender $sender,
21 OTGS_Installer_WP_Share_Local_Components_Setting $setting,
22 OTGS_Installer_PHP_Functions $php_functions
23 ) {
24 $this->storage = $storage;
25 $this->sender = $sender;
26 $this->setting = $setting;
27 $this->php_functions = $php_functions;
28 }
29
30 public function add_hooks() {
31 add_action( 'wp_ajax_end_user_get_info', array( $this, 'process_report_instantly' ) );
32 add_action( 'wp_ajax_' . OTGS_Installer_WP_Components_Setting_Ajax::AJAX_ACTION, array( $this, 'force_send_components_data' ), OTGS_Installer_WP_Components_Setting_Ajax::SAVE_SETTING_PRIORITY + 1 );
33 add_action( self::EVENT_SEND_COMPONENTS_MONTHLY, array( $this, 'send_components_data' ) );
34 add_action( self::EVENT_SEND_COMPONENTS_AFTER_REGISTRATION, array( $this, 'send_components_data' ) );
35 add_action( 'init', array( $this, 'schedule_components_report' ) );
36
37 add_filter( 'cron_schedules', array( $this, 'custom_monthly_cron_schedule' ) );
38 }
39
40 public function schedule_components_report() {
41 if ( wp_next_scheduled( self::EVENT_SEND_COMPONENTS_MONTHLY ) ) {
42 return;
43 }
44
45 if ( $this->sender->allow_schedule_event() ) {
46 wp_schedule_event( strtotime( self::REPORT_SCHEDULING_PERIOD ), self::MONTHLY_CRON, self::EVENT_SEND_COMPONENTS_MONTHLY );
47 }
48 }
49
50 public function process_report_instantly() {
51 $this->storage->refresh_cache();
52 $this->sender->send( $this->storage->get(), true );
53 }
54
55 public function force_send_components_data() {
56 $this->storage->refresh_cache();
57 $this->sender->send( $this->storage->get() );
58 }
59
60 public function send_components_data() {
61 if ( $this->storage->is_outdated() ) {
62 $this->storage->refresh_cache();
63 $this->sender->send( $this->storage->get() );
64 }
65 }
66
67 public function custom_monthly_cron_schedule( $schedules ) {
68 $schedules[self::MONTHLY_CRON] = array(
69 'interval' => 2592000,
70 'display' => __( 'Monthly', 'sitepress' )
71 );
72 return $schedules;
73 }
74 }
75