PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.18
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.18
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
← All changes | classes/controllers/FrmSimpleBlocksController.php +48 -18 6.46.18 View file →
@@ -32,20 +32,34 @@
32 32 if ( $block_name === 'Formidable' ) {
33 33 $block_name = 'Formidable Forms';
34 34 }
35 35
36 - $modal_addon = self::get_modal_addon_info();
36 + $modal_addon = self::get_addon_info( 185013 );
37 + $charts_addon = self::get_addon_info( 28248560 );
38 + $views_addon = FrmAddonsController::get_addon( 'views' );
39 + $views_addon_info = self::get_addon_info( 28027505 );
37 40
38 41 $script_vars = array(
39 - 'forms' => self::get_forms_options(),
40 - 'icon' => $icon,
41 - 'name' => $block_name,
42 - 'link' => FrmAppHelper::admin_upgrade_link( 'block' ),
43 - 'url' => FrmAppHelper::plugin_url(),
44 - 'modalAddon' => array(
45 - 'link' => FrmAppHelper::admin_upgrade_link( 'addons', $modal_addon['link'] ),
46 - 'hasAccess' => ! empty( $modal_addon['url'] ),
42 + 'forms' => self::get_forms_options(),
43 + 'icon' => $icon,
44 + 'name' => $block_name,
45 + 'link' => FrmAppHelper::admin_upgrade_link( 'block' ),
46 + 'url' => FrmAppHelper::plugin_url(),
47 + 'modalAddon' => array(
48 + 'link' => is_array( $modal_addon ) && isset( $modal_addon['link'] ) ? FrmAppHelper::admin_upgrade_link( 'block', $modal_addon['link'] ) : '',
49 + 'hasAccess' => is_array( $modal_addon ) && ! empty( $modal_addon['url'] ),
47 50 ),
51 + 'viewsAddon' => array(
52 + 'link' => is_array( $views_addon_info ) && isset( $views_addon_info['link'] ) ? FrmAppHelper::admin_upgrade_link( 'block', $views_addon_info['link'] ) : '',
53 + 'hasAccess' => is_array( $views_addon_info ) && ! empty( $views_addon_info['url'] ),
54 + 'url' => ! empty( $views_addon_info['url'] ) ? $views_addon_info['url'] : '',
55 + 'installed' => is_array( $views_addon ) && 'installed' === $views_addon['status']['type'],
56 + ),
57 + 'chartsAddon' => array(
58 + 'link' => is_array( $charts_addon ) && isset( $charts_addon['link'] ) ? FrmAppHelper::admin_upgrade_link( 'block', $charts_addon['link'] ) : '',
59 + 'hasAccess' => is_array( $charts_addon ) && ! empty( $charts_addon['url'] ),
60 + 'installed' => class_exists( 'FrmChartsAppController' ),
61 + ),
48 62 );
49 63
50 64 wp_localize_script( 'formidable-form-selector', 'formidable_form_selector', $script_vars );
51 65 if ( function_exists( 'wp_set_script_translations' ) ) {
@@ -60,18 +74,18 @@
60 74 );
61 75 }
62 76
63 77 /**
64 - * Gets the modal addon info.
78 + * Gets addon info.
65 79 *
66 - * @since 6.3.2
80 + * @since 6.8
67 81 *
82 + * @param int $addon_id Addon ID.
68 83 * @return array|false
69 84 */
70 - private static function get_modal_addon_info() {
71 - $api = new FrmFormApi();
72 - $addons = $api->get_api_info();
73 - $addon_id = 185013;
85 + private static function get_addon_info( $addon_id ) {
86 + $api = new FrmFormApi();
87 + $addons = $api->get_api_info();
74 88
75 89 if ( ! is_array( $addons ) || ! array_key_exists( $addon_id, $addons ) ) {
76 90 return false;
77 91 }
@@ -103,15 +117,15 @@
103 117
104 118 /**
105 119 * Returns an array for a form with name as label and id as value
106 120 *
107 - * @param $form
121 + * @param object $form
108 122 *
109 123 * @return array
110 124 */
111 125 private static function set_form_options( $form ) {
112 126 return array(
113 - 'label' => $form->name,
127 + 'label' => FrmFormsHelper::edit_form_link_label( $form ),
114 128 'value' => $form->id,
115 129 );
116 130 }
117 131
@@ -167,8 +181,10 @@
167 181 if ( ! isset( $attributes['formId'] ) ) {
168 182 return '';
169 183 }
170 184
185 + ob_start();
186 +
171 187 /**
172 188 * @since 5.5.2
173 189 * @param array $attributes
174 190 */
@@ -173,13 +189,27 @@
173 189 * @param array $attributes
174 190 */
175 191 do_action( 'frm_before_simple_form_render', $attributes );
176 192
193 + $form = ob_get_clean();
194 +
195 + if ( false === $form ) {
196 + $form = '';
197 + }
198 +
177 199 $params = array_filter( $attributes );
178 200 $params['id'] = $params['formId'];
179 201 unset( $params['formId'] );
180 202
181 - $form = FrmFormsController::get_form_shortcode( $params );
203 + // Still pass false for title and description options if nothing is set,
204 + // so a default doesn't overwrite the block option.
205 + $params['title'] = ! empty( $params['title'] );
206 + $params['description'] = ! empty( $params['description'] );
207 +
208 + $form .= FrmFormsController::get_form_shortcode( $params );
209 + if ( ! empty( $attributes['className'] ) ) {
210 + $form = preg_replace( '/\bfrm_forms\b/', 'frm_forms ' . esc_attr( $attributes['className'] ), $form, 1 );
211 + }
182 212 return self::maybe_remove_fade_on_load_for_block_preview( $form );
183 213 }
184 214
185 215 /**