7
7
use WP_Rocket \Event_Management \Subscriber_Interface ;
8
8
9
9
class TranslatePress implements Subscriber_Interface {
10
+ /**
11
+ * @var TRP_Translate_Press|null
12
+ */
13
+ protected $ translatepress ;
10
14
15
+ /**
16
+ * @var mixed|\TRP_Language_Switcher|\TRP_Languages|\TRP_Settings|\TRP_Url_Converter|null
17
+ */
18
+ protected $ url_converter ;
19
+
20
+ public function __construct () {
21
+ $ this ->translatepress = TRP_Translate_Press::get_trp_instance ();
22
+ $ this ->url_converter = $ this ->translatepress ->get_component ( 'url_converter ' );
23
+ }
11
24
/**
12
25
* Returns an array of events that this subscriber wants to listen to.
13
26
*
@@ -41,11 +54,8 @@ public static function get_subscribed_events() {
41
54
* @return string
42
55
*/
43
56
public function detect_homepage ( $ home_url , $ url ) {
44
- $ translatepress = TRP_Translate_Press::get_trp_instance ();
45
- $ converter = $ translatepress ->get_component ( 'url_converter ' );
46
-
47
- $ language = $ converter ->get_lang_from_url_string ( $ url );
48
- $ url_language = $ converter ->get_url_for_language ( $ language , home_url () );
57
+ $ language = $ this ->url_converter ->get_lang_from_url_string ( $ url );
58
+ $ url_language = $ this ->url_converter ->get_url_for_language ( $ language , home_url () );
49
59
50
60
return untrailingslashit ( $ url ) === untrailingslashit ( $ url_language ) ? $ url : $ home_url ;
51
61
}
@@ -77,11 +87,9 @@ function_exists( 'trp_get_languages' )
77
87
* @return array
78
88
*/
79
89
public function add_langs_to_admin_bar ( $ langlinks ) {
80
- $ translatepress = TRP_Translate_Press::get_trp_instance ();
81
-
82
- $ language_switcher = $ translatepress ->get_component ( 'language_switcher ' );
83
- $ settings = $ translatepress ->get_component ( 'settings ' );
84
- $ languages = $ translatepress ->get_component ( 'languages ' );
90
+ $ language_switcher = $ this ->translatepress ->get_component ( 'language_switcher ' );
91
+ $ settings = $ this ->translatepress ->get_component ( 'settings ' );
92
+ $ languages = $ this ->translatepress ->get_component ( 'languages ' );
85
93
$ trp_settings = $ settings ->get_settings ();
86
94
87
95
$ languages_to_display = $ trp_settings ['publish-languages ' ];
@@ -127,18 +135,15 @@ public function get_active_languages_uri( $urls ) {
127
135
128
136
$ home_url = home_url ();
129
137
130
- $ translatepress = TRP_Translate_Press::get_trp_instance ();
131
-
132
- $ settings = $ translatepress ->get_component ( 'settings ' );
133
- $ languages = $ translatepress ->get_component ( 'languages ' );
134
- $ converter = $ translatepress ->get_component ( 'url_converter ' );
138
+ $ settings = $ this ->translatepress ->get_component ( 'settings ' );
139
+ $ languages = $ this ->translatepress ->get_component ( 'languages ' );
135
140
$ trp_settings = $ settings ->get_settings ();
136
141
137
142
$ languages_to_display = $ trp_settings ['publish-languages ' ];
138
143
$ published_languages = $ languages ->get_language_names ( $ languages_to_display );
139
144
140
145
foreach ( $ published_languages as $ code => $ name ) {
141
- $ urls [] = $ converter ->get_url_for_language ( $ code , $ home_url );
146
+ $ urls [] = $ this -> url_converter ->get_url_for_language ( $ code , $ home_url );
142
147
}
143
148
144
149
return $ urls ;
@@ -156,10 +161,8 @@ public function get_active_languages_codes( $codes ) {
156
161
$ codes = (array ) $ codes ;
157
162
}
158
163
159
- $ translatepress = TRP_Translate_Press::get_trp_instance ();
160
-
161
- $ settings = $ translatepress ->get_component ( 'settings ' );
162
- $ languages = $ translatepress ->get_component ( 'languages ' );
164
+ $ settings = $ this ->translatepress ->get_component ( 'settings ' );
165
+ $ languages = $ this ->translatepress ->get_component ( 'languages ' );
163
166
$ trp_settings = $ settings ->get_settings ();
164
167
165
168
$ languages_to_display = $ trp_settings ['publish-languages ' ];
@@ -185,9 +188,7 @@ public function get_home_url_for_lang( $home_url, $lang ) {
185
188
return $ home_url ;
186
189
}
187
190
188
- $ translatepress = TRP_Translate_Press::get_trp_instance ();
189
- $ converter = $ translatepress ->get_component ( 'url_converter ' );
190
- $ settings = $ translatepress ->get_component ( 'settings ' );
191
+ $ settings = $ this ->translatepress ->get_component ( 'settings ' );
191
192
$ trp_settings = $ settings ->get_settings ();
192
193
193
194
$ code = '' ;
@@ -201,7 +202,7 @@ public function get_home_url_for_lang( $home_url, $lang ) {
201
202
}
202
203
}
203
204
204
- $ url = $ converter ->get_url_for_language ( $ code , $ home_url );
205
+ $ url = $ this -> url_converter ->get_url_for_language ( $ code , $ home_url );
205
206
206
207
remove_filter ( 'trp_add_language_to_home_url_check_for_admin ' , '__return_false ' );
207
208
@@ -223,18 +224,15 @@ public function get_translated_post_urls( $urls, $url, $post_type, $regex ) {
223
224
$ urls = (array ) $ urls ;
224
225
}
225
226
226
- $ translatepress = TRP_Translate_Press::get_trp_instance ();
227
-
228
- $ settings = $ translatepress ->get_component ( 'settings ' );
229
- $ languages = $ translatepress ->get_component ( 'languages ' );
230
- $ converter = $ translatepress ->get_component ( 'url_converter ' );
227
+ $ settings = $ this ->translatepress ->get_component ( 'settings ' );
228
+ $ languages = $ this ->translatepress ->get_component ( 'languages ' );
231
229
$ trp_settings = $ settings ->get_settings ();
232
230
233
231
$ languages_to_display = $ trp_settings ['publish-languages ' ];
234
232
$ published_languages = $ languages ->get_language_names ( $ languages_to_display );
235
233
236
234
foreach ( $ published_languages as $ code => $ name ) {
237
- $ urls [] = wp_parse_url ( $ converter ->get_url_for_language ( $ code , $ url ), PHP_URL_PATH ) . $ regex ;
235
+ $ urls [] = wp_parse_url ( $ this -> url_converter ->get_url_for_language ( $ code , $ url ), PHP_URL_PATH ) . $ regex ;
238
236
}
239
237
240
238
return $ urls ;
@@ -248,10 +246,7 @@ public function get_translated_post_urls( $urls, $url, $post_type, $regex ) {
248
246
* @return void
249
247
*/
250
248
public function clear_post_languages ( $ post_id ) {
251
- $ translatepress = TRP_Translate_Press::get_trp_instance ();
252
-
253
- $ converter = $ translatepress ->get_component ( 'url_converter ' );
254
- $ settings = $ translatepress ->get_component ( 'settings ' );
249
+ $ settings = $ this ->translatepress ->get_component ( 'settings ' );
255
250
$ trp_settings = $ settings ->get_settings ();
256
251
257
252
add_filter ( 'trp_add_language_to_home_url_check_for_admin ' , '__return_false ' );
@@ -265,7 +260,7 @@ public function clear_post_languages( $post_id ) {
265
260
continue ;
266
261
}
267
262
268
- $ clear_urls [] = $ converter ->get_url_for_language ( $ language , $ default_permalink , '' );
263
+ $ clear_urls [] = $ this -> url_converter ->get_url_for_language ( $ language , $ default_permalink , '' );
269
264
}
270
265
271
266
remove_filter ( 'trp_add_language_to_home_url_check_for_admin ' , '__return_false ' );
@@ -286,10 +281,6 @@ public function clear_post_languages( $post_id ) {
286
281
* @return void
287
282
*/
288
283
public function clear_post_after_updating_translation ( $ update_strings , $ settings ) {
289
- $ translatepress = TRP_Translate_Press::get_trp_instance ();
290
-
291
- $ converter = $ translatepress ->get_component ( 'url_converter ' );
292
-
293
284
if ( empty ( $ _POST ['url ' ] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
294
285
return ;
295
286
}
@@ -301,7 +292,7 @@ public function clear_post_after_updating_translation( $update_strings, $setting
301
292
302
293
foreach ( $ settings ['translation-languages ' ] as $ language ) {
303
294
if ( ! empty ( $ update_strings [ $ language ] ) ) {
304
- $ clear_urls [] = $ converter ->get_url_for_language ( $ language , $ current_url , '' );
295
+ $ clear_urls [] = $ this -> url_converter ->get_url_for_language ( $ language , $ current_url , '' );
305
296
}
306
297
}
307
298
0 commit comments