PluginProbe
weForms – Easy Drag & Drop Contact Form Builder For WordPress / 1.6.19
weForms – Easy Drag & Drop Contact Form Builder For WordPress v1.6.19
1.6.7 1.6.8 1.6.9 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.18 1.6.19 1.6.2 1.6.20 1.6.21 1.6.22 1.6.23 1.6.24 1.6.25 1.6.26 1.6.27 1.6.28 1.6.3 1.6.4 1.6.5 1.6.6 All 74 releases
weforms / includes / admin / class-gutenblock.php

class-gutenblock.php in weForms – Easy Drag & Drop Contact Form Builder For WordPress 1.6.19, at includes/admin/class-gutenblock.php

118 lines 3.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if ( !defined( 'ABSPATH' ) ) {
4 exit;
5 }
6 /**
7 * Adds weForms block
8 */
9 class weForms_FormBlock {
10
11 /**
12 * Register widget with WordPress.
13 */
14 public function __construct() {
15 //add_action( 'weforms_loaded', array($this, 'weforms_block_load' ) );
16 // wait for Gutenberg to enqueue it's block assets
17 add_action( 'enqueue_block_editor_assets', [ $this, 'weforms_form_block' ] );
18 // load the preview information and form
19 add_action( 'wp_head', [ $this, 'load_preview_data' ] );
20 }
21
22 public function weforms_form_block() {
23 $js_dir = WEFORMS_ASSET_URI . '/js/';
24 $css_dir = WEFORMS_ASSET_URI . '/css/';
25
26 // Once we have Gutenberg block javascript, we can enqueue our assets
27 wp_register_script(
28 'weforms-forms-block',
29 $js_dir . 'gutenblock.js',
30 [ 'wp-blocks', 'wp-editor', 'wp-components', 'wp-i18n', 'wp-element', 'underscore' ]
31 );
32
33 wp_register_style(
34 'weforms-forms-block-style',
35 $css_dir . 'gutenblock.css',
36 [ 'wp-edit-blocks' ]
37 );
38 wp_register_style(
39 'weforms-forms-block-editor',
40 $css_dir . 'gutenblock-editor.css',
41 [ 'wp-edit-blocks', 'form-blocks-style' ]
42 );
43
44 /*
45 * we need to get our forms so that the block can build a dropdown
46 * with the forms
47 * */
48 wp_enqueue_script( 'weforms-forms-block' );
49
50 $forms = [];
51 $all_forms = weforms()->form->all();
52
53 foreach ( $all_forms['forms'] as $form ) {
54 $forms[] = [
55 'value' => $form->id,
56 'label' => $form->name,
57 ];
58 }
59
60 $block_logo = WEFORMS_ASSET_URI . '/images/icon-weforms.png';
61 $thumbnail_logo = WEFORMS_ASSET_URI . '/images/icon-weforms.png';
62
63 wp_localize_script( 'weforms-forms-block', 'weFormsBlock', array(
64 'forms' => $forms,
65 'siteUrl' => get_home_url(),
66 'block_logo' => $block_logo,
67 'thumbnail_logo' => $thumbnail_logo,
68 ) );
69 wp_enqueue_style( 'weforms-forms-block-style' );
70 wp_enqueue_style( 'weforms-forms-block-editor' );
71 }
72
73 public function load_preview_data() {
74 $js_dir = WEFORMS_ASSET_URI . '/js/';
75
76 // check for preview and iframe get parameters
77 if ( isset( $_GET[ 'weforms_preview' ] ) && isset( $_GET[ 'weforms_iframe' ] ) ) {
78 $form_id = intval( $_GET[ 'weforms_preview' ] );
79 // Style below: update width and height for particular form?>
80 <style media="screen">
81 #wpadminbar {
82 display: none;
83 }
84 header,
85 footer{
86 display: none;
87 }
88
89 .wpuf-form-add {
90 z-index: 9001;
91 position: fixed;
92 top: 0;
93 left: 0;
94 width: 100vw;
95 height: 100vh;
96 background-color: white;
97 display: block !important;
98 }
99
100 </style>
101 <?php
102
103 // register our script to target the form iFrame in page builder
104 wp_register_script(
105 'weforms-block-setup',
106 $js_dir . 'blockFrameSetup.js',
107 [ 'underscore', 'jquery' ]
108 );
109
110 wp_localize_script( 'weforms-block-setup', 'weFormsBlockSetup', [
111 'form_id' => $form_id,
112 ] );
113
114 wp_enqueue_script( 'weforms-block-setup' );
115 }
116 }
117 }
118