PluginProbe
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents / 2.7.2
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents v2.7.2
4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 trunk 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 All 189 releases
← All changes | embedpress.php +21 -171 trunk2.7.2 View file →
@@ -1,106 +1,49 @@
1 1 <?php
2 -
3 2 /**
4 3 * Plugin Name: EmbedPress
5 4 * Plugin URI: https://embedpress.com/
6 - * Description: EmbedPress lets you embed videos, images, posts, audio, maps and upload PDF, DOC, PPT & all other types of content into your WordPress site with one-click and showcase it beautifully for the visitors. 250+ sources supported.
5 + * Description: EmbedPress lets you embed videos, images, posts, audio, maps and uplaoad PDF, DOC, PPT & all other types of content into your WordPress site with one-click and showcase it beautifully for the visitors. 100+ sources supported.
7 6 * Author: WPDeveloper
8 - * Author URI: https://wpdeveloper.com
9 - * Version: 4.6.5
7 + * Author URI: https://wpdeveloper.net
8 + * Version: 2.7.2
10 9 * Text Domain: embedpress
11 10 * Domain Path: /languages
12 11 *
13 - * Copyright (c) 2023 WPDeveloper
12 + * Copyright (c) 2021 WPDeveloper
14 13 *
15 14 * EmbedPress plugin bootstrap file.
16 15 *
17 16 * @package EmbedPress
18 17 * @author EmbedPress <help@embedpress.com>
19 - * @copyright Copyright (C) 2023 WPDeveloper. All rights reserved.
18 + * @copyright Copyright (C) 2021 WPDeveloper. All rights reserved.
20 19 * @license GPLv3 or later
21 20 * @since 1.0.0
22 21 */
23 22
24 -
25 -use EmbedPress\Analytics\Analytics;
26 23 use EmbedPress\Compatibility;
27 -use EmbedPress\Core;
28 -use EmbedPress\CoreLegacy;
29 -use EmbedPress\Elementor\Embedpress_Elementor_Integration;
30 -use EmbedPress\Includes\Classes\Feature_Enhancer;
31 -use EmbedPress\Includes\Classes\Extend_Elementor_Controls;
32 -use EmbedPress\Includes\Classes\Extend_CustomPlayer_Controls;
33 -use EmbedPress\Includes\Classes\Helper;
34 -use EmbedPress\MilestoneNotification;
35 -use EmbedPress\Shortcode;
36 24
37 -
38 25 defined('ABSPATH') or die("No direct script access allowed.");
39 26
40 -// Store HTTP_REFERER if it's external
41 -if (!defined('EMBEDPRESS_ORIGINAL_REFERRER')) {
42 - $original_referrer = '';
43 -
44 - if (!empty($_SERVER['HTTP_REFERER'])) {
45 -
46 - $current_site_url = home_url();
47 - if (strpos($_SERVER['HTTP_REFERER'], $current_site_url) !== 0) {
48 - $original_referrer = $_SERVER['HTTP_REFERER'];
49 - }
50 - }
51 -
52 - define('EMBEDPRESS_ORIGINAL_REFERRER', $original_referrer);
53 -}
54 -
55 -
56 27 define('EMBEDPRESS_PLUGIN_BASENAME', plugin_basename(__FILE__));
57 28 define('EMBEDPRESS_FILE', __FILE__);
58 29
59 -if (!defined('EMBEDPRESS_PLUGIN_VERSION')) {
30 +require_once plugin_dir_path(__FILE__) . 'includes.php';
60 31
61 - if (defined('EMBEDPRESS_DEV_MODE') && EMBEDPRESS_DEV_MODE) {
62 - define('EMBEDPRESS_PLUGIN_VERSION', time());
63 - } else {
64 - define('EMBEDPRESS_PLUGIN_VERSION', '4.6.5');
65 - }
66 -}
67 -
68 -define('EMBEDPRESS_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
69 -define('EMBEDPRESS_PLUGIN_DIR_URL', plugin_dir_url(__FILE__));
70 -define('EMBEDPRESS_GUTENBERG_DIR_URL', EMBEDPRESS_PLUGIN_DIR_URL . 'Gutenberg/');
71 -define('EMBEDPRESS_GUTENBERG_DIR_PATH', EMBEDPRESS_PLUGIN_DIR_PATH . 'Gutenberg/');
72 -define('EMBEDPRESS_SETTINGS_ASSETS_URL', EMBEDPRESS_PLUGIN_DIR_URL . 'EmbedPress/Ends/Back/Settings/assets/');
73 -define('EMBEDPRESS_SETTINGS_PATH', EMBEDPRESS_PLUGIN_DIR_PATH . 'EmbedPress/Ends/Back/Settings/');
74 -define('EMBEDPRESS_PLUGIN_URL', plugins_url('/', __FILE__));
75 -
76 -
77 -require_once EMBEDPRESS_PLUGIN_DIR_PATH . 'includes.php';
78 -
79 -// Initialize core functionality
80 -require_once EMBEDPRESS_PLUGIN_DIR_PATH . 'Core/init.php';
81 -
82 32 include_once ABSPATH . 'wp-admin/includes/plugin.php';
83 33
84 -if (!defined('EMBEDPRESS_IS_LOADED')) {
34 +if ( ! defined('EMBEDPRESS_IS_LOADED')) {
85 35 return;
86 36 }
87 37
88 -add_action('embedpress_cache_cleanup_action', 'embedpress_cache_cleanup');
89 -
90 -
91 -if (!empty($_GET['hash'])) {
92 - remove_action('wp_head', 'rel_canonical');
93 -}
94 -
95 38 function onPluginActivationCallback()
96 39 {
97 - Core::onPluginActivationCallback();
40 + \EmbedPress\Core::onPluginActivationCallback();
98 41 }
99 42
100 43 function onPluginDeactivationCallback()
101 44 {
102 - Core::onPluginDeactivationCallback();
45 + \EmbedPress\Core::onPluginDeactivationCallback();
103 46 }
104 47
105 48 register_activation_hook(__FILE__, 'onPluginActivationCallback');
106 49 register_deactivation_hook(__FILE__, 'onPluginDeactivationCallback');
@@ -105,114 +48,21 @@
105 48 register_activation_hook(__FILE__, 'onPluginActivationCallback');
106 49 register_deactivation_hook(__FILE__, 'onPluginDeactivationCallback');
107 50
108 51
109 -add_action('plugins_loaded', function () {
110 - do_action('embedpress_before_init');
111 -});
112 -$editor_check = get_option('classic-editor-replace');
113 -
114 -if (isset($_GET['classic-editor']) || isset($_POST['action']) && $_POST['action'] == 'embedpress_do_ajax_request') {
115 - $embedPressPlugin = new CoreLegacy();
116 -} elseif ((Compatibility::isWordPress5() && !Compatibility::isClassicalEditorActive()) || (Compatibility::isClassicalEditorActive() && 'block' === $editor_check)) {
117 - $embedPressPlugin = new Core();
118 -} else {
119 - $embedPressPlugin = new CoreLegacy();
120 -}
121 -
122 -// Check if we should use the new block system to avoid conflicts
123 -// $use_new_blocks = apply_filters('embedpress_use_new_block_system', true);
124 -
125 -// if (!$use_new_blocks) {
126 -// $embedPressPlugin->initialize();
127 -// } else {
128 -// // Only initialize core functionality, skip the handlers that enqueue conflicting scripts
129 -// $embedPressPlugin->initialize_minimal();
130 -// }
131 -$embedPressPlugin->initialize();
132 -
133 -// SSRF hardening: WP core's wp_http_validate_url() blocks loopback + RFC1918 but
134 -// leaves link-local (169.254/16, incl. the 169.254.169.254 cloud-metadata IP),
135 -// CGNAT (100.64/10) and benchmark (198.18/15) reachable, and its
136 -// http_request_host_is_external filter only fires for IPs core already suspects.
137 -// pre_http_request fires for every outbound request, so hook it once here to
138 -// cover every wp_remote/wp_safe_remote fetch on every path (Core + CoreLegacy).
139 -add_filter('pre_http_request', ['\\EmbedPress\\Includes\\Classes\\Helper', 'block_internal_http_requests'], 10, 3);
140 -
141 -new Feature_Enhancer();
142 -new Extend_Elementor_Controls();
143 -new Extend_CustomPlayer_Controls();
144 -if (is_admin()) {
145 - new Analytics();
146 -
147 - // Initialize Milestone Notification
148 -
149 - if (!defined('EMBEDPRESS_SL_ITEM_SLUG')) {
150 - MilestoneNotification::init();
52 +if ( ! is_plugin_active('gutenberg/gutenberg.php')) {
53 + add_action( 'plugins_loaded', function() {
54 + do_action( 'embedpress_before_init' );
55 + } );
56 + $editor_check = get_option('classic-editor-replace');
57 + if ((Compatibility::isWordPress5() && ! Compatibility::isClassicalEditorActive()) || (Compatibility::isClassicalEditorActive() && 'block'=== $editor_check )) {
58 + $embedPressPlugin = new \EmbedPress\Core();
59 + } else {
60 + $embedPressPlugin = new \EmbedPress\CoreLegacy();
151 61 }
62 + $embedPressPlugin->initialize();
152 63 }
153 64
154 -new Helper();
155 -
156 -// Initialize Analytics
157 -use EmbedPress\Includes\Classes\Analytics\Analytics_Manager;
158 -use Embedpress\Pro\Dependencies\WPDeveloper\Licensing\LicenseManager;
159 -
160 -Analytics_Manager::get_instance();
161 -
162 -\EmbedPress\Includes\Classes\View_Count_Display::register();
163 -
164 -// Pro-only Custom Player feature backends (Email Capture, Heatmap,
165 -// LMS Completion, CDN Offloading) live in embedpress-pro and are
166 -// instantiated from Pro's Bootstrap. The frontend init helpers in
167 -// initplyr.js degrade gracefully when those REST routes are absent.
168 -
169 -
170 -if (is_plugin_active('elementor/elementor.php')) {
171 - $embedPressElements = new Embedpress_Elementor_Integration();
65 +if ( is_plugin_active('elementor/elementor.php')) {
66 + $embedPressElements = new \EmbedPress\Elementor\Embedpress_Elementor_Integration();
172 67 $embedPressElements->init();
173 -}
174 -
175 -Shortcode::register();
176 -
177 -if (!class_exists('\simple_html_dom')) {
178 - include_once EMBEDPRESS_PATH_CORE . 'simple_html_dom.php';
179 -}
180 -
181 -
182 -/**
183 - * Check is embedpress-pro active
184 - */
185 -$is_pro_active = false;
186 -if (class_exists('EmbedPress_Licensing')) {
187 - $is_pro_active = true;
188 -}
189 -
190 -function embedpress_exclude_height($excluded_sources)
191 -{
192 - $social_media_sources = [
193 - 'opensea',
194 - 'google-photos'
195 - ];
196 -
197 - return array_merge($excluded_sources, $social_media_sources);
198 -}
199 -add_filter('embedpress_excluded_height_sources', 'embedpress_exclude_height');
200 -
201 -
202 -// init plugin updater with version check
203 -add_action('init', 'embedpress_init_plugin_updater', 99);
204 -
205 -/**
206 - * Initialize plugin updater
207 - *
208 - * @since 4.2.1
209 - */
210 -
211 -function embedpress_init_plugin_updater()
212 -{
213 - if (is_admin() && defined('EMBEDPRESS_PRO_PLUGIN_VERSION') && version_compare(EMBEDPRESS_PRO_PLUGIN_VERSION, '3.1.12', '>=') && version_compare(EMBEDPRESS_PRO_PLUGIN_VERSION, '3.8.0', '<=')) {
214 -
215 - $license_manager = LicenseManager::get_instance([]);
216 - $license_manager->plugin_updater();
217 - }
218 68 }