Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/wp-rocket/inc/ThirdParty/Plugins/PDFEmbedder.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 + namespace WP_Rocket\ThirdParty\Plugins;
3 +
4 + use WP_Rocket\Event_Management\Subscriber_Interface;
5 +
6 + /**
7 + * Subscriber for compatibility with PDF Embedder Free / Premium / Secure plugin.
8 + *
9 + * @since 3.6.2
10 + */
11 + class PDFEmbedder implements Subscriber_Interface {
12 + /**
13 + * Subscribed events.
14 + *
15 + * @since 3.6.2
16 + */
17 + public static function get_subscribed_events() {
18 + // All 3 plugins use the same core class.
19 + if ( ! class_exists( 'core_pdf_embedder' ) ) {
20 + return [];
21 + }
22 +
23 + return [
24 + 'rocket_exclude_js' => 'exclude_pdfembedder_scripts',
25 + ];
26 + }
27 +
28 + /**
29 + * Adds PDFEmbedder scripts to defer JS exclusion
30 + *
31 + * @since 3.6.2
32 + *
33 + * @param array $excluded_js Array of scripts to exclude.
34 + * @return array
35 + */
36 + public function exclude_pdfembedder_scripts( $excluded_js ) {
37 + if (
38 + class_exists( 'PDF_Embedder_Basic' )
39 + ||
40 + class_exists( 'pdfemb_basic_pdf_embedder' )
41 + ) {
42 + // Exclude Free version.
43 + return array_merge(
44 + $excluded_js,
45 + $this->pdfembedder_free_scripts()
46 + );
47 + }
48 +
49 + if ( class_exists( 'pdfemb_premium_mobile_pdf_embedder' ) ) {
50 + // Excludes PDFEmbedder-premium.
51 + return array_merge(
52 + $excluded_js,
53 + $this->pdfembedder_premium_scripts()
54 + );
55 + }
56 +
57 + if ( class_exists( 'pdfemb_premium_secure_pdf_embedder' ) ) {
58 + // Excludes PDFEmbedder-premium-secure.
59 + return array_merge(
60 + $excluded_js,
61 + $this->pdfembedder_secure_scripts()
62 + );
63 + }
64 +
65 + return $excluded_js;
66 + }
67 +
68 + /**
69 + * PDFEmbedder Free JS scripts.
70 + *
71 + * @return array JS files to be excluded.
72 + */
73 + private function pdfembedder_free_scripts() {
74 + return [
75 + rocket_clean_exclude_file( plugins_url( '/pdf-embedder/js/(.*).js' ) ),
76 + ];
77 + }
78 +
79 + /**
80 + * PDFEmbedder Premium JS scripts.
81 + *
82 + * @return array JS files to be excluded.
83 + */
84 + private function pdfembedder_premium_scripts() {
85 + return [
86 + rocket_clean_exclude_file( plugins_url( '/PDFEmbedder-premium/js/pdfjs/(.*).js' ) ),
87 + rocket_clean_exclude_file( plugins_url( '/PDFEmbedder-premium/js/(.*).js' ) ),
88 + ];
89 + }
90 +
91 + /**
92 + * PDFEmbedder Secure JS scripts.
93 + *
94 + * @return array JS files to be excluded.
95 + */
96 + private function pdfembedder_secure_scripts() {
97 + return [
98 + rocket_clean_exclude_file( plugins_url( '/PDFEmbedder-premium-secure/js/pdfjs/(.*).js' ) ),
99 + rocket_clean_exclude_file( plugins_url( '/PDFEmbedder-premium-secure/js/(.*).js' ) ),
100 + ];
101 + }
102 + }
103 +