PluginProbe
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization / 1.0.4
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization v1.0.4
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 +15 -191 4.2.91.0.4 View file →
@@ -6,42 +6,30 @@
6 6 final class Optml_Main {
7 7 /**
8 8 * Optml_Main The single instance of Starter_Plugin.
9 9 *
10 - * @var Optml_Main|null
10 + * @var object
11 11 * @access private
12 12 * @since 1.0.0
13 13 */
14 14 private static $_instance = null;
15 15
16 -
17 16 /**
18 - * Holds the manager class.
17 + * Holds the replacer class.
19 18 *
20 19 * @access public
21 20 * @since 1.0.0
22 - * @var Optml_Manager Manager instance.
21 + * @var Optml_Replacer Replacer instance.
23 22 */
24 - public $manager;
25 -
23 + public $replacer;
26 24 /**
27 - * Holds the media_offload class.
25 + * Holds the replacer class.
28 26 *
29 27 * @access public
30 28 * @since 1.0.0
31 - * @var Optml_Media_Offload instance.
29 + * @var Optml_Rest Replacer instance.
32 30 */
33 - public $media_offload;
34 -
35 - /**
36 - * Holds the rest class.
37 - *
38 - * @access public
39 - * @since 1.0.0
40 - * @var Optml_Rest REST instance.
41 - */
42 31 public $rest;
43 -
44 32 /**
45 33 * Holds the admin class.
46 34 *
47 35 * @access public
@@ -50,39 +38,13 @@
50 38 */
51 39 public $admin;
52 40
53 41 /**
54 - * Holds the Dam class.
55 - *
56 - * @access public
57 - * @since 4.0
58 - * @var Optml_Dam Dam instance.
59 - */
60 - public $dam;
61 -
62 - /**
63 - * Holds the cli class.
64 - *
65 - * @access public
66 - * @since 1.0.0
67 - * @var Optml_Cli Cli instance.
68 - */
69 - public $cli;
70 -
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 - /**
80 42 * Optml_Main constructor.
81 43 */
82 44 public function __construct() {
83 - register_activation_hook( OPTML_BASEFILE, [ $this, 'activate' ] );
84 - register_deactivation_hook( OPTML_BASEFILE, [ $this, 'deactivate' ] );
45 +
46 + register_activation_hook( OPTML_BASEFILE, array( $this, 'activate' ) );
85 47 }
86 48
87 49 /**
88 50 * Main Starter_Plugin Instance
@@ -88,136 +50,23 @@
88 50 * Main Starter_Plugin Instance
89 51 *
90 52 * Ensures only one instance of Starter_Plugin is loaded or can be loaded.
91 53 *
54 + * @since 1.0.0
92 55 * @return Optml_Main Plugin instance.
93 - * @since 1.0.0
94 56 */
95 57 public static function instance() {
96 - $vendor_file = OPTML_PATH . 'vendor/autoload.php';
97 - if ( is_readable( $vendor_file ) ) {
98 - include_once $vendor_file;
58 + if ( is_null( self::$_instance ) ) {
59 + self::$_instance = new self();
60 + self::$_instance->replacer = Optml_Replacer::instance();
61 + self::$_instance->rest = new Optml_Rest();
62 + self::$_instance->admin = new Optml_Admin();
99 63 }
100 64
101 - if ( null === self::$_instance ) {
102 - add_filter( 'themeisle_sdk_products', [ __CLASS__, 'register_sdk' ] );
103 - add_filter( 'themeisle_sdk_ran_promos', [ __CLASS__, 'sdk_hide_promo_notice' ] );
104 - add_filter( 'optimole-wp_uninstall_feedback_icon', [ __CLASS__, 'change_icon' ] );
105 - add_filter( 'optimole_wp_uninstall_feedback_after_css', [ __CLASS__, 'adds_uf_css' ] );
106 - add_filter( 'optimole_wp_feedback_review_message', [ __CLASS__, 'change_review_message' ] );
107 - add_filter( 'optimole_wp_logger_heading', [ __CLASS__, 'change_review_message' ] );
108 - add_filter( 'optml_register_conflicts', [ __CLASS__, 'register_conflicts' ] );
109 - add_filter( 'optimole_wp_logger_data', [ __CLASS__, 'add_settings' ] );
110 - self::$_instance = new self();
111 - self::$_instance->manager = Optml_Manager::instance();
112 - self::$_instance->rest = new Optml_Rest();
113 - self::$_instance->admin = new Optml_Admin();
114 - self::$_instance->dam = new Optml_Dam();
115 - self::$_instance->media_offload = Optml_Media_Offload::instance();
116 - self::$_instance->video_player = new Optml_Video_Player();
117 - if ( class_exists( 'WP_CLI' ) ) {
118 - self::$_instance->cli = new Optml_Cli();
119 - }
120 - }
121 -
122 65 return self::$_instance;
123 66 }
124 67
125 68 /**
126 - * Register Conflicts to watch for
127 - *
128 - * @param array $conflicts_to_register A list of class names of conflicts to register.
129 - *
130 - * @return array
131 - * @since 2.0.6
132 - * @access public
133 - */
134 - public static function register_conflicts( $conflicts_to_register = [] ) {
135 - $conflicts_to_register = array_merge(
136 - $conflicts_to_register,
137 - [
138 - 'Optml_Jetpack_Photon',
139 - 'Optml_Wprocket',
140 - 'Optml_Divi',
141 - 'Optml_w3_total_cache_cdn',
142 - 'Optml_Smush',
143 - 'Optml_Litespeed',
144 - 'Optml_Autoptimize',
145 - 'Optml_Perfmatters',
146 - ]
147 - );
148 -
149 - return $conflicts_to_register;
150 - }
151 -
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 - $saved_data = ( new Optml_Settings() )->get_raw_settings();
161 - unset( $saved_data['service_data'] );
162 - unset( $saved_data['api_key'] );
163 -
164 - return array_merge( $data, $saved_data );
165 - }
166 - /**
167 - * Change review message.
168 - *
169 - * @param string $message Old review message.
170 - *
171 - * @return string New review message.
172 - */
173 - public static function change_review_message( $message ) {
174 - return str_replace( '{product}', 'Optimole', $message );
175 - }
176 -
177 - /**
178 - * Register product into SDK.
179 - *
180 - * @param array $products All products.
181 - *
182 - * @return array Registered product.
183 - */
184 - public static function register_sdk( $products ) {
185 - $products[] = OPTML_BASEFILE;
186 -
187 - return $products;
188 - }
189 -
190 - /**
191 - * Adds aditional CSS for uninstall feedback popup.
192 - */
193 - public static function adds_uf_css() {
194 - ?>
195 - <style type="text/css">
196 - body.plugins-php .optimole_wp-container #TB_title {
197 - background-position: 30px 10px;
198 - background-size: 80px;
199 - }
200 -
201 - body.plugins-php .optimole_wp-container input.button:hover,
202 - body.plugins-php .optimole_wp-container input.button {
203 - background: #5080C1;
204 - }
205 - </style>
206 - <?php
207 - }
208 -
209 - /**
210 - * Change icon for uninstall feedback.
211 - *
212 - * @return string Registered product.
213 - */
214 - public static function change_icon( $old_icon ) {
215 -
216 - return OPTML_URL . 'assets/img/logo.png';
217 - }
218 -
219 - /**
220 69 * Load the localisation file.
221 70 *
222 71 * @access public
223 72 * @since 1.0.0
@@ -232,8 +81,9 @@
232 81 * @access public
233 82 * @since 1.0.0
234 83 */
235 84 public function activate() {
85 +
236 86 update_option( OPTML_NAMESPACE . '-version', OPTML_VERSION );
237 87
238 88 if ( is_multisite() ) {
239 89 return;
@@ -242,20 +92,8 @@
242 92 set_transient( 'optml_fresh_install', true, MINUTE_IN_SECONDS );
243 93 }
244 94
245 95 /**
246 - * Deactivate routine actions.
247 - *
248 - * @access public
249 - * @since 3.11.0
250 - */
251 - public function deactivate() {
252 - // Clear registered cron events.
253 - wp_clear_scheduled_hook( 'optml_daily_sync' );
254 - wp_clear_scheduled_hook( 'optml_pull_image_data_init' );
255 - }
256 -
257 - /**
258 96 * Cloning is forbidden.
259 97 *
260 98 * @access public
261 99 * @since 1.0.0
@@ -273,19 +111,5 @@
273 111 public function __wakeup() {
274 112 _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'optimole-wp' ), '1.0.0' );
275 113 }
276 114
277 - /**
278 - * Hide SDK promo notice for pro uses.
279 - *
280 - * @access public
281 - */
282 - public static function sdk_hide_promo_notice( $should_show ) {
283 - if ( self::$_instance->admin->settings->is_connected() ) {
284 - $service_data = self::$_instance->admin->settings->get( 'service_data' );
285 - if ( isset( $service_data['plan'] ) && 'free' !== $service_data['plan'] ) {
286 - return true;
287 - }
288 - }
289 - return $should_show;
290 - }
291 115 }