PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / 4.5.2
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more v4.5.2
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 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.14 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.10 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.4.0 4.4.1 4.4.10 4.4.11 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.5.0 4.5.1
embedpress / embedpress.php
embedpress Last commit date
Core 1 month ago EmbedPress 1 month ago assets 1 month ago languages 1 month ago vendor 2 months ago .env.example 1 month ago CLAUDE.md 1 month ago autoloader.php 9 months ago embedpress.php 1 month ago includes.php 1 month ago index.html 9 years ago milestone-demo.html 7 months ago providers.php 5 months ago readme.txt 1 month ago tsconfig.node.json 9 months ago wpml-config.xml 4 years ago
embedpress.php
209 lines
1 <?php
2
3 /**
4 * Plugin Name: EmbedPress
5 * 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.5.2
10 * Text Domain: embedpress
11 * Domain Path: /languages
12 *
13 * Copyright (c) 2023 WPDeveloper
14 *
15 * EmbedPress plugin bootstrap file.
16 *
17 * @package EmbedPress
18 * @author EmbedPress <help@embedpress.com>
19 * @copyright Copyright (C) 2023 WPDeveloper. All rights reserved.
20 * @license GPLv3 or later
21 * @since 1.0.0
22 */
23
24
25 use EmbedPress\Analytics\Analytics;
26 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
37
38 defined('ABSPATH') or die("No direct script access allowed.");
39
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 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.5.1');
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 include_once ABSPATH . 'wp-admin/includes/plugin.php';
83
84 if (!defined('EMBEDPRESS_IS_LOADED')) {
85 return;
86 }
87
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 function onPluginActivationCallback()
96 {
97 Core::onPluginActivationCallback();
98 }
99
100 function onPluginDeactivationCallback()
101 {
102 Core::onPluginDeactivationCallback();
103 }
104
105 register_activation_hook(__FILE__, 'onPluginActivationCallback');
106 register_deactivation_hook(__FILE__, 'onPluginDeactivationCallback');
107
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 new Feature_Enhancer();
134 new Extend_Elementor_Controls();
135 new Extend_CustomPlayer_Controls();
136 if (is_admin()) {
137 new Analytics();
138
139 // Initialize Milestone Notification
140
141 if (!defined('EMBEDPRESS_SL_ITEM_SLUG')) {
142 MilestoneNotification::init();
143 }
144 }
145
146 new Helper();
147
148 // Initialize Analytics
149 use EmbedPress\Includes\Classes\Analytics\Analytics_Manager;
150 use Embedpress\Pro\Dependencies\WPDeveloper\Licensing\LicenseManager;
151
152 Analytics_Manager::get_instance();
153
154 // Pro-only Custom Player feature backends (Email Capture, Heatmap,
155 // LMS Completion, CDN Offloading) live in embedpress-pro and are
156 // instantiated from Pro's Bootstrap. The frontend init helpers in
157 // initplyr.js degrade gracefully when those REST routes are absent.
158
159
160 if (is_plugin_active('elementor/elementor.php')) {
161 $embedPressElements = new Embedpress_Elementor_Integration();
162 $embedPressElements->init();
163 }
164
165 Shortcode::register();
166
167 if (!class_exists('\simple_html_dom')) {
168 include_once EMBEDPRESS_PATH_CORE . 'simple_html_dom.php';
169 }
170
171
172 /**
173 * Check is embedpress-pro active
174 */
175 $is_pro_active = false;
176 if (class_exists('EmbedPress_Licensing')) {
177 $is_pro_active = true;
178 }
179
180 function embedpress_exclude_height($excluded_sources)
181 {
182 $social_media_sources = [
183 'opensea',
184 'google-photos'
185 ];
186
187 return array_merge($excluded_sources, $social_media_sources);
188 }
189 add_filter('embedpress_excluded_height_sources', 'embedpress_exclude_height');
190
191
192 // init plugin updater with version check
193 add_action('init', 'embedpress_init_plugin_updater', 99);
194
195 /**
196 * Initialize plugin updater
197 *
198 * @since 4.2.1
199 */
200
201 function embedpress_init_plugin_updater()
202 {
203 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', '<=')) {
204
205 $license_manager = LicenseManager::get_instance([]);
206 $license_manager->plugin_updater();
207 }
208 }
209