PluginProbe
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents / 2.3.1
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents v2.3.1
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 +18 -179 trunk2.3.1 View file →
@@ -1,218 +1,57 @@
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.
7 - * Author: WPDeveloper
8 - * Author URI: https://wpdeveloper.com
9 - * Version: 4.6.5
5 + * Description: WordPress supports around 35 embed sources, but PublishPress Embeds adds over 40 more, including
6 + * Facebook, Google Maps, Google Docs, UStream! Just use the URL!
7 + * Author:EmbedPress
8 + * Author URI:http://embedpress.com
9 + * Version: 2.3.1
10 10 * Text Domain: embedpress
11 11 * Domain Path: /languages
12 12 *
13 - * Copyright (c) 2023 WPDeveloper
13 + * Copyright (c) 2018 EmbedPress
14 14 *
15 15 * EmbedPress plugin bootstrap file.
16 16 *
17 17 * @package EmbedPress
18 18 * @author EmbedPress <help@embedpress.com>
19 - * @copyright Copyright (C) 2023 WPDeveloper. All rights reserved.
20 - * @license GPLv3 or later
19 + * @copyright Copyright (C) 2018 EmbedPress. All rights reserved.
20 + * @license GPLv2 or later
21 21 * @since 1.0.0
22 22 */
23 23
24 -
25 -use EmbedPress\Analytics\Analytics;
26 24 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 25
37 -
38 26 defined('ABSPATH') or die("No direct script access allowed.");
39 27
40 -// Store HTTP_REFERER if it's external
41 -if (!defined('EMBEDPRESS_ORIGINAL_REFERRER')) {
42 - $original_referrer = '';
28 +require_once plugin_dir_path(__FILE__) . 'includes.php';
43 29
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 -define('EMBEDPRESS_PLUGIN_BASENAME', plugin_basename(__FILE__));
57 -define('EMBEDPRESS_FILE', __FILE__);
58 -
59 -if (!defined('EMBEDPRESS_PLUGIN_VERSION')) {
60 -
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 30 include_once ABSPATH . 'wp-admin/includes/plugin.php';
83 31
84 -if (!defined('EMBEDPRESS_IS_LOADED')) {
32 +if ( ! defined('EMBEDPRESS_IS_LOADED')) {
85 33 return;
86 34 }
87 35
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 36 function onPluginActivationCallback()
96 37 {
97 - Core::onPluginActivationCallback();
38 + \EmbedPress\Core::onPluginActivationCallback();
98 39 }
99 40
100 41 function onPluginDeactivationCallback()
101 42 {
102 - Core::onPluginDeactivationCallback();
43 + \EmbedPress\Core::onPluginDeactivationCallback();
103 44 }
104 45
105 46 register_activation_hook(__FILE__, 'onPluginActivationCallback');
106 47 register_deactivation_hook(__FILE__, 'onPluginDeactivationCallback');
107 48
108 -
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();
49 +if ( ! is_plugin_active('gutenberg/gutenberg.php')) {
50 + if (Compatibility::isWordPress5() && ! Compatibility::isClassicalEditorActive()) {
51 + $embedPressPlugin = new \EmbedPress\Core();
52 + } else {
53 + $embedPressPlugin = new \EmbedPress\CoreLegacy();
151 54 }
152 -}
153 55
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();
172 - $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 - }
56 + $embedPressPlugin->initialize();
218 57 }