PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / 4.4.0
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more v4.4.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 9 months ago EmbedPress 9 months ago assets 9 months ago languages 9 months ago vendor 9 months ago .prettierrc 9 months ago CONTRIBUTING.md 7 years ago autoloader.php 9 months ago embedpress.php 9 months ago includes.php 9 months ago index.html 9 years ago providers.php 9 months ago readme.txt 9 months ago tsconfig.json 9 months ago tsconfig.node.json 9 months ago vite.config.js 9 months ago watch.sh 9 months ago wpml-config.xml 4 years ago
embedpress.php
178 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. 150+ sources supported.
7 * Author: WPDeveloper
8 * Author URI: https://wpdeveloper.com
9 * Version: 4.4.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\Shortcode;
35
36
37 defined('ABSPATH') or die("No direct script access allowed.");
38
39 // Store HTTP_REFERER if it's external
40 if (!defined('EMBEDPRESS_ORIGINAL_REFERRER')) {
41 $original_referrer = '';
42
43 if (!empty($_SERVER['HTTP_REFERER'])) {
44
45 $current_site_url = home_url();
46 if (strpos($_SERVER['HTTP_REFERER'], $current_site_url) !== 0) {
47 $original_referrer = $_SERVER['HTTP_REFERER'];
48 }
49 }
50
51 define('EMBEDPRESS_ORIGINAL_REFERRER', $original_referrer);
52 }
53
54
55 define('EMBEDPRESS_PLUGIN_BASENAME', plugin_basename(__FILE__));
56 define('EMBEDPRESS_FILE', __FILE__);
57
58 if (!defined('EMBEDPRESS_PLUGIN_VERSION')) {
59
60 if (defined('EMBEDPRESS_DEV_MODE') && EMBEDPRESS_DEV_MODE) {
61 define('EMBEDPRESS_PLUGIN_VERSION', time());
62 } else {
63 define('EMBEDPRESS_PLUGIN_VERSION', '4.4.0');
64 }
65 }
66
67 define('EMBEDPRESS_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
68 define('EMBEDPRESS_PLUGIN_DIR_URL', plugin_dir_url(__FILE__));
69 define('EMBEDPRESS_GUTENBERG_DIR_URL', EMBEDPRESS_PLUGIN_DIR_URL . 'Gutenberg/');
70 define('EMBEDPRESS_GUTENBERG_DIR_PATH', EMBEDPRESS_PLUGIN_DIR_PATH . 'Gutenberg/');
71 define('EMBEDPRESS_SETTINGS_ASSETS_URL', EMBEDPRESS_PLUGIN_DIR_URL . 'EmbedPress/Ends/Back/Settings/assets/');
72 define('EMBEDPRESS_SETTINGS_PATH', EMBEDPRESS_PLUGIN_DIR_PATH . 'EmbedPress/Ends/Back/Settings/');
73 define('EMBEDPRESS_PLUGIN_URL', plugins_url('/', __FILE__));
74
75
76 require_once EMBEDPRESS_PLUGIN_DIR_PATH . 'includes.php';
77
78 // Initialize core functionality
79 require_once EMBEDPRESS_PLUGIN_DIR_PATH . 'Core/init.php';
80
81 include_once ABSPATH . 'wp-admin/includes/plugin.php';
82
83 if (!defined('EMBEDPRESS_IS_LOADED')) {
84 return;
85 }
86
87 add_action('embedpress_cache_cleanup_action', 'embedpress_cache_cleanup');
88
89
90 if (!empty($_GET['hash'])) {
91 remove_action('wp_head', 'rel_canonical');
92 }
93
94 function onPluginActivationCallback()
95 {
96 Core::onPluginActivationCallback();
97 }
98
99 function onPluginDeactivationCallback()
100 {
101 Core::onPluginDeactivationCallback();
102 }
103
104 register_activation_hook(__FILE__, 'onPluginActivationCallback');
105 register_deactivation_hook(__FILE__, 'onPluginDeactivationCallback');
106
107
108 add_action('plugins_loaded', function () {
109 do_action('embedpress_before_init');
110 });
111 $editor_check = get_option('classic-editor-replace');
112
113 if (isset($_GET['classic-editor']) || isset($_POST['action']) && $_POST['action'] == 'embedpress_do_ajax_request') {
114 $embedPressPlugin = new CoreLegacy();
115 } elseif ((Compatibility::isWordPress5() && !Compatibility::isClassicalEditorActive()) || (Compatibility::isClassicalEditorActive() && 'block' === $editor_check)) {
116 $embedPressPlugin = new Core();
117 } else {
118 $embedPressPlugin = new CoreLegacy();
119 }
120
121 // Check if we should use the new block system to avoid conflicts
122 // $use_new_blocks = apply_filters('embedpress_use_new_block_system', true);
123
124 // if (!$use_new_blocks) {
125 // $embedPressPlugin->initialize();
126 // } else {
127 // // Only initialize core functionality, skip the handlers that enqueue conflicting scripts
128 // $embedPressPlugin->initialize_minimal();
129 // }
130 $embedPressPlugin->initialize();
131
132 new Feature_Enhancer();
133 new Extend_Elementor_Controls();
134 new Extend_CustomPlayer_Controls();
135 if (is_admin()) {
136 new Analytics();
137 }
138
139 new Helper();
140
141 // Initialize Analytics
142 use EmbedPress\Includes\Classes\Analytics\Analytics_Manager;
143
144 Analytics_Manager::get_instance();
145
146
147 if (is_plugin_active('elementor/elementor.php')) {
148 $embedPressElements = new Embedpress_Elementor_Integration();
149 $embedPressElements->init();
150 }
151
152 Shortcode::register();
153
154 if (!class_exists('\simple_html_dom')) {
155 include_once EMBEDPRESS_PATH_CORE . 'simple_html_dom.php';
156 }
157
158
159 /**
160 * Check is embedpress-pro active
161 */
162 $is_pro_active = false;
163 if (class_exists('EmbedPress_Licensing')) {
164 $is_pro_active = true;
165 }
166
167 function embedpress_exclude_height($excluded_sources)
168 {
169 $social_media_sources = [
170 'opensea',
171 'google-photos'
172 ];
173
174 return array_merge($excluded_sources, $social_media_sources);
175 }
176 add_filter('embedpress_excluded_height_sources', 'embedpress_exclude_height');
177
178 // Old shortcode script loading removed - now handled by AssetManager