PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / 4.5.0
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more v4.5.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 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 2 months ago EmbedPress 2 months ago assets 2 months ago languages 2 months ago vendor 4 months ago .env.example 2 months ago CLAUDE.md 2 months ago autoloader.php 9 months ago embedpress.php 2 months ago includes.php 2 months ago index.html 9 years ago milestone-demo.html 7 months ago providers.php 5 months ago readme.txt 2 months ago tsconfig.node.json 9 months ago wpml-config.xml 4 years ago
embedpress.php
204 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.0
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.0');
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
155 if (is_plugin_active('elementor/elementor.php')) {
156 $embedPressElements = new Embedpress_Elementor_Integration();
157 $embedPressElements->init();
158 }
159
160 Shortcode::register();
161
162 if (!class_exists('\simple_html_dom')) {
163 include_once EMBEDPRESS_PATH_CORE . 'simple_html_dom.php';
164 }
165
166
167 /**
168 * Check is embedpress-pro active
169 */
170 $is_pro_active = false;
171 if (class_exists('EmbedPress_Licensing')) {
172 $is_pro_active = true;
173 }
174
175 function embedpress_exclude_height($excluded_sources)
176 {
177 $social_media_sources = [
178 'opensea',
179 'google-photos'
180 ];
181
182 return array_merge($excluded_sources, $social_media_sources);
183 }
184 add_filter('embedpress_excluded_height_sources', 'embedpress_exclude_height');
185
186
187 // init plugin updater with version check
188 add_action('init', 'embedpress_init_plugin_updater', 99);
189
190 /**
191 * Initialize plugin updater
192 *
193 * @since 4.2.1
194 */
195
196 function embedpress_init_plugin_updater()
197 {
198 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', '<=')) {
199
200 $license_manager = LicenseManager::get_instance([]);
201 $license_manager->plugin_updater();
202 }
203 }
204