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