PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / 3.3.1
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more v3.3.1
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 / Gutenberg / plugin.php
embedpress / Gutenberg Last commit date
block-backend 5 years ago dist 4 years ago plugin.php 4 years ago
plugin.php
173 lines
1 <?php
2 /**
3 * Blocks Initializer
4 *
5 * Enqueue CSS/JS of all the blocks.
6 *
7 * @since 1.0.0
8 * @package CGB
9 */
10
11 // Exit if accessed directly.
12 use EmbedPress\Includes\Classes\Helper;
13
14 if ( !defined( 'ABSPATH' ) ) {
15 exit;
16 }
17
18
19 /**
20 * Enqueue Gutenberg block assets for both frontend + backend.
21 *
22 * @uses {wp-editor} for WP editor styles.
23 * @since 1.0.0
24 */
25 function embedpress_blocks_cgb_block_assets() { // phpcs:ignore
26 // Styles.
27 wp_enqueue_style(
28 'embedpress_blocks-cgb-style-css', // Handle.
29 EMBEDPRESS_GUTENBERG_DIR_URL.'dist/blocks.style.build.css', // Block style CSS.
30 is_admin() ? array( 'wp-editor' ) : null, // Dependency to include the CSS after it.
31 filemtime( EMBEDPRESS_GUTENBERG_DIR_PATH.'dist/blocks.style.build.css' ) // Version: File modification time.
32 );
33 }
34
35 // Hook: Frontend assets.
36 add_action( 'enqueue_block_assets', 'embedpress_blocks_cgb_block_assets' );
37
38 /**
39 * Enqueue Gutenberg block assets for backend editor.
40 *
41 * @uses {wp-blocks} for block type registration & related functions.
42 * @uses {wp-element} for WP Element abstraction — structure of blocks.
43 * @uses {wp-i18n} to internationalize the block's text.
44 * @uses {wp-editor} for WP editor styles.
45 * @since 1.0.0
46 */
47 function embedpress_blocks_cgb_editor_assets() { // phpcs:ignore
48 // Scripts.
49
50 wp_enqueue_script(
51 'embedpress_blocks-cgb-block-js', // Handle.
52 EMBEDPRESS_GUTENBERG_DIR_URL.'/dist/blocks.build.js', // Block.build.js: We register the block here. Built with Webpack.
53 array( 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-editor','wp-components', ), // Dependencies, defined above.
54 filemtime( EMBEDPRESS_GUTENBERG_DIR_PATH . 'dist/blocks.build.js' ), // Version: File modification time.
55 true // Enqueue the script in the footer.
56 );
57 $wistia_labels = array(
58 'watch_from_beginning' => __( 'Watch from the beginning', 'embedpress' ),
59 'skip_to_where_you_left_off' => __( 'Skip to where you left off', 'embedpress' ),
60 'you_have_watched_it_before' => __( 'It looks like you\'ve watched<br />part of this video before!', 'embedpress' ),
61 );
62 $elements = (array) get_option( EMBEDPRESS_PLG_NAME.":elements", []);
63 $active_blocks = isset( $elements['gutenberg']) ? (array) $elements['gutenberg'] : [];
64 $wistia_labels = json_encode( $wistia_labels );
65 $wistia_options = null;
66 if ( function_exists( 'embedpress_wisita_pro_get_options' ) ):
67 $wistia_options = embedpress_wisita_pro_get_options();
68 endif;
69 $pars_url = wp_parse_url(get_site_url());
70 $documents_cta_options = (array) get_option(EMBEDPRESS_PLG_NAME . ':document');
71 $gen_settings = get_option( EMBEDPRESS_PLG_NAME);
72
73 // branding arrays
74 $branding_providers = ['youtube', 'vimeo', 'wistia', 'twitch', 'dailymotion', 'document'];
75 $branding_options = [
76 'powered_by' => (isset( $gen_settings['embedpress_document_powered_by']) && ('yes' == $gen_settings['embedpress_document_powered_by'])),
77 ];
78 foreach ( $branding_providers as $provider ) {
79 $settings = get_option( EMBEDPRESS_PLG_NAME.':'.$provider, []);
80 $branding_options [$provider]['branding'] = isset( $settings['branding']) ? $settings['branding'] : 'no';
81 $branding_options [$provider]['logo_xpos'] = isset( $settings['logo_xpos']) ? intval( $settings['logo_xpos']) : 10;
82 $branding_options [$provider]['logo_ypos'] = isset( $settings['logo_ypos']) ? intval( $settings['logo_ypos']) : 10;
83 $branding_options [$provider]['logo_opacity'] = isset( $settings['logo_opacity']) ? intval( $settings['logo_opacity']) : 50;
84 $branding_options [$provider]['logo_id'] = isset( $settings['logo_id']) ? intval( $settings['logo_id']) : 0;
85 $branding_options [$provider]['logo_url'] = isset( $settings['logo_url']) ? esc_url( $settings['logo_url']) : '';
86 $branding_options [$provider]['cta_url'] = isset( $settings['cta_url']) ? esc_url( $settings['cta_url']) : '';
87 }
88 wp_localize_script( 'embedpress_blocks-cgb-block-js', 'embedpressObj', array(
89 'wistia_labels' => $wistia_labels,
90 'wisita_options' => $wistia_options,
91 'embedpress_powered_by' => apply_filters('embedpress_document_block_powered_by',true),
92 'embedpress_pro' => defined('EMBEDPRESS_PRO_PLUGIN_FILE'),
93 'twitch_host' => !empty($pars_url['host'])?$pars_url['host']:'',
94 'site_url' => site_url(),
95 'active_blocks' => $active_blocks,
96 'document_cta' => $documents_cta_options,
97 'branding' => $branding_options,
98 'pdf_renderer' => Helper::get_pdf_renderer(),
99 ) );
100
101 // Styles.
102 wp_enqueue_style(
103 'embedpress_blocks-cgb-block-editor-css', // Handle.
104 EMBEDPRESS_GUTENBERG_DIR_URL . 'dist/blocks.editor.build.css', // Block editor CSS.
105 array( 'wp-edit-blocks' ), // Dependency to include the CSS after it.
106 filemtime( EMBEDPRESS_GUTENBERG_DIR_PATH . 'dist/blocks.editor.build.css' ) // Version: File modification time.
107 );
108 }
109
110 // Hook: Editor assets.
111 add_action( 'enqueue_block_editor_assets', 'embedpress_blocks_cgb_editor_assets' );
112
113
114 function embedpress_block_category( $categories, $post ) {
115 return array_merge(
116 $categories,
117 array(
118 array(
119 'slug' => 'embedpress',
120 'title' => 'EmbedPress',
121 'icon' => '',
122 ),
123 )
124 );
125
126 }
127 $wp_version = get_bloginfo( 'version', 'display' );
128 if ( version_compare( $wp_version, '5.8', '>=') ) {
129 add_filter( 'block_categories_all', 'embedpress_block_category', 10, 2 );
130
131 }else{
132 add_filter( 'block_categories', 'embedpress_block_category', 10, 2 );
133 }
134
135
136
137
138 foreach ( glob( EMBEDPRESS_GUTENBERG_DIR_PATH . 'block-backend/*.php' ) as $block_logic ) {
139 require_once $block_logic;
140 }
141
142 /**
143 * Registers the embedpress gutneberg block on server.
144 */
145
146 function embedpress_gutenberg_register_all_block() {
147 if ( function_exists( 'register_block_type' ) ) :
148
149 $elements = (array) get_option( EMBEDPRESS_PLG_NAME.":elements", []);
150 $g_blocks = isset( $elements['gutenberg']) ? (array) $elements['gutenberg'] : [];
151 $blocks_to_registers = [ 'twitch-block', 'google-slides-block','google-sheets-block', 'google-maps-block', 'google-forms-block', 'google-drawings-block', 'google-docs-block', 'embedpress'];
152
153 foreach ( $blocks_to_registers as $blocks_to_register ) {
154 if ( !empty($g_blocks[$blocks_to_register]) ) {
155 if ( 'embedpress' === $blocks_to_register ) {
156 register_block_type( 'embedpress/embedpress', [
157 'render_callback' => 'embedpress_render_block',
158 ]);
159 }else{
160 register_block_type( 'embedpress/'.$blocks_to_register );
161 }
162 }else{
163 if ( WP_Block_Type_Registry::get_instance()->is_registered( 'embedpress/'.$blocks_to_register) ) {
164 unregister_block_type( 'embedpress/'.$blocks_to_register );
165 }
166 }
167 }
168
169 endif;
170 }
171
172 add_action( 'init', 'embedpress_gutenberg_register_all_block' );
173