PluginProbe
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization / trunk
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization vtrunk
4.2.14 4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 2.5.5 2.5.6 2.5.7 3.0.0 3.0.1 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.11.0 3.11.1 3.11.2 3.11.3 3.12.0 All 135 releases
← All changes | inc/main.php +51 -7 3.11.2 → trunk View file →
@@ -6,9 +6,9 @@
6 6 final class Optml_Main {
7 7 /**
8 8 * Optml_Main The single instance of Starter_Plugin.
9 9 *
10 - * @var object
10 + * @var Optml_Main|null
11 11 * @access private
12 12 * @since 1.0.0
13 13 */
14 14 private static $_instance = null;
@@ -68,8 +68,16 @@
68 68 */
69 69 public $cli;
70 70
71 71 /**
72 + * Holds the video player class.
73 + *
74 + * @access public
75 + * @since 1.0.0
76 + * @var Optml_Video_Player Video player instance.
77 + */
78 + public $video_player;
79 + /**
72 80 * Optml_Main constructor.
73 81 */
74 82 public function __construct() {
75 83 register_activation_hook( OPTML_BASEFILE, [ $this, 'activate' ] );
@@ -84,16 +92,22 @@
84 92 * @return Optml_Main Plugin instance.
85 93 * @since 1.0.0
86 94 */
87 95 public static function instance() {
96 + $vendor_file = OPTML_PATH . 'vendor/autoload.php';
97 + if ( is_readable( $vendor_file ) ) {
98 + include_once $vendor_file;
99 + }
100 +
88 101 if ( null === self::$_instance ) {
89 102 add_filter( 'themeisle_sdk_products', [ __CLASS__, 'register_sdk' ] );
90 - add_filter( 'themeisle_sdk_ran_promos', '__return_true' );
103 + add_filter( 'themeisle_sdk_ran_promos', [ __CLASS__, 'sdk_hide_promo_notice' ] );
91 104 add_filter( 'optimole-wp_uninstall_feedback_icon', [ __CLASS__, 'change_icon' ] );
92 105 add_filter( 'optimole_wp_uninstall_feedback_after_css', [ __CLASS__, 'adds_uf_css' ] );
93 106 add_filter( 'optimole_wp_feedback_review_message', [ __CLASS__, 'change_review_message' ] );
94 107 add_filter( 'optimole_wp_logger_heading', [ __CLASS__, 'change_review_message' ] );
95 108 add_filter( 'optml_register_conflicts', [ __CLASS__, 'register_conflicts' ] );
109 + add_filter( 'optimole_wp_logger_data', [ __CLASS__, 'add_settings' ] );
96 110 self::$_instance = new self();
97 111 self::$_instance->manager = Optml_Manager::instance();
98 112 self::$_instance->rest = new Optml_Rest();
99 113 self::$_instance->admin = new Optml_Admin();
@@ -98,16 +112,13 @@
98 112 self::$_instance->rest = new Optml_Rest();
99 113 self::$_instance->admin = new Optml_Admin();
100 114 self::$_instance->dam = new Optml_Dam();
101 115 self::$_instance->media_offload = Optml_Media_Offload::instance();
116 + self::$_instance->video_player = new Optml_Video_Player();
102 117 if ( class_exists( 'WP_CLI' ) ) {
103 118 self::$_instance->cli = new Optml_Cli();
104 119 }
105 120 }
106 - $vendor_file = OPTML_PATH . 'vendor/autoload.php';
107 - if ( is_readable( $vendor_file ) ) {
108 - include_once $vendor_file;
109 - }
110 121
111 122 return self::$_instance;
112 123 }
113 124
@@ -124,12 +135,15 @@
124 135 $conflicts_to_register = array_merge(
125 136 $conflicts_to_register,
126 137 [
127 138 'Optml_Jetpack_Photon',
128 - 'Optml_Jetpack_Lazyload',
129 139 'Optml_Wprocket',
130 140 'Optml_Divi',
131 141 'Optml_w3_total_cache_cdn',
142 + 'Optml_Smush',
143 + 'Optml_Litespeed',
144 + 'Optml_Autoptimize',
145 + 'Optml_Perfmatters',
132 146 ]
133 147 );
134 148
135 149 return $conflicts_to_register;
@@ -135,8 +149,24 @@
135 149 return $conflicts_to_register;
136 150 }
137 151
138 152 /**
153 + * Add settings to the logger data.
154 + *
155 + * @param array $data Logger data.
156 + *
157 + * @return array
158 + */
159 + public static function add_settings( $data ): array {
160 + $data = is_array( $data ) ? $data : [];
161 +
162 + $saved_data = ( new Optml_Settings() )->get_raw_settings();
163 + unset( $saved_data['service_data'] );
164 + unset( $saved_data['api_key'] );
165 +
166 + return array_merge( $data, $saved_data );
167 + }
168 + /**
139 169 * Change review message.
140 170 *
141 171 * @param string $message Old review message.
142 172 *
@@ -245,5 +275,19 @@
245 275 public function __wakeup() {
246 276 _doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'optimole-wp' ), '1.0.0' );
247 277 }
248 278
279 + /**
280 + * Hide SDK promo notice for pro uses.
281 + *
282 + * @access public
283 + */
284 + public static function sdk_hide_promo_notice( $should_show ) {
285 + if ( self::$_instance->admin->settings->is_connected() ) {
286 + $service_data = self::$_instance->admin->settings->get( 'service_data' );
287 + if ( isset( $service_data['plan'] ) && 'free' !== $service_data['plan'] ) {
288 + return true;
289 + }
290 + }
291 + return $should_show;
292 + }
249 293 }