PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 5.4
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v5.4
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/helpers/FrmFormMigratorsHelper.php +21 -56 6.285.4 View file →
@@ -4,28 +4,22 @@
4 4 }
5 5
6 6 class FrmFormMigratorsHelper {
7 7
8 - /**
9 - * @param array $form
10 - * @param array|null $dismissed
11 - *
12 - * @return bool
13 - */
14 8 private static function is_dismissed( $form, $dismissed = null ) {
15 9 if ( $dismissed === null ) {
16 10 $dismissed = get_option( 'frm_dismissed' );
17 11 }
18 - // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
19 - return $dismissed && in_array( $form['class'], $dismissed );
12 +
13 + if ( ! empty( $dismissed ) && in_array( $form['class'], $dismissed ) ) {
14 + return true;
15 + }
16 +
17 + return false;
20 18 }
21 19
22 - /**
23 - * @return void
24 - */
25 20 public static function maybe_show_download_link() {
26 21 $forms = self::import_links();
27 -
28 22 foreach ( $forms as $form ) {
29 23 if ( ! self::is_dismissed( $form ) ) {
30 24 self::install_banner( $form );
31 25 } else {
@@ -37,20 +31,13 @@
37 31 }
38 32
39 33 /**
40 34 * @since 4.05
41 - *
42 - * @return void
43 35 */
44 36 public static function maybe_add_to_inbox() {
37 + $inbox = new FrmInbox();
45 38 $forms = self::import_links();
46 39
47 - if ( ! $forms ) {
48 - return;
49 - }
50 -
51 - $inbox = new FrmInbox();
52 -
53 40 foreach ( $forms as $form ) {
54 41 $inbox->add_message(
55 42 array(
56 43 'key' => $form['class'],
@@ -55,9 +42,9 @@
55 42 array(
56 43 'key' => $form['class'],
57 44 'subject' => 'You have new importable forms',
58 45 'message' => 'Did you know you can import your forms created in ' . esc_html( $form['name'] ) . '?',
59 - 'cta' => '<a href="' . esc_url( admin_url( 'admin.php?page=formidable-import' ) ) . '" class="button-primary frm-button-primary">' . esc_html__( 'Learn More', 'formidable' ) . '</a>', // phpcs:ignore SlevomatCodingStandard.Files.LineLength.LineTooLong
46 + 'cta' => '<a href="' . esc_url( admin_url( 'admin.php?page=formidable-import' ) ) . '" class="button-primary frm-button-primary">' . esc_html__( 'Learn More', 'formidable' ) . '</a>',
60 47 'icon' => 'frm_cloud_upload_solid_icon',
61 48 'type' => 'news',
62 49 )
63 50 );
@@ -63,11 +50,8 @@
63 50 );
64 51 }
65 52 }
66 53
67 - /**
68 - * @return array
69 - */
70 54 private static function import_links() {
71 55 if ( ! current_user_can( 'activate_plugins' ) ) {
72 56 return array();
73 57 }
@@ -72,9 +56,8 @@
72 56 return array();
73 57 }
74 58
75 59 $forms = array();
76 -
77 60 foreach ( self::importable_forms() as $form ) {
78 61 if ( class_exists( $form['class'] ) || ! is_plugin_active( $form['plugin'] ) ) {
79 62 // Either the importer is installed or the source plugin isn't.
80 63 continue;
@@ -79,21 +62,17 @@
79 62 // Either the importer is installed or the source plugin isn't.
80 63 continue;
81 64 }
82 65
83 - $installer = new FrmInstallPlugin( array( 'plugin_file' => $form['importer'] ) );
66 + $installer = new FrmInstallPlugin( array( 'plugin_file' => $form['importer'] ) );
84 67 $form['installed'] = $installer->is_installed();
85 68 $form['link'] = $installer->get_activate_link();
86 69
87 70 $forms[] = $form;
88 71 }
89 -
90 72 return $forms;
91 73 }
92 74
93 - /**
94 - * @return string[][]
95 - */
96 75 private static function importable_forms() {
97 76 return array(
98 77 'gf' => array(
99 78 'class' => 'FrmGravityImporter',
@@ -111,19 +90,13 @@
111 90 ),
112 91 );
113 92 }
114 93
115 - /**
116 - * @param array $install
117 - *
118 - * @return string|null
119 - */
120 94 private static function install_banner( $install ) {
121 95 if ( empty( $install['link'] ) ) {
122 96 return '';
123 97 }
124 98
125 - // phpcs:disable Generic.WhiteSpace.ScopeIndent
126 99 ?>
127 100 <div class="frm-feature-banner">
128 101 <a href="#" class="dismiss alignright" id="<?php echo esc_attr( $install['class'] ); ?>" title="<?php esc_attr_e( 'Dismiss this message', 'formidable' ); ?>">
129 102 <?php FrmAppHelper::icon_by_class( 'frmfont frm_close_icon', array( 'aria-label' => 'Dismiss' ) ); ?>
@@ -134,30 +107,21 @@
134 107 <p>Did you know you can import your forms created in <?php echo esc_html( $install['name'] ); ?>?</p>
135 108 <?php self::install_button( $install ); ?>
136 109 </div>
137 110 <?php
138 - // phpcs:enable Generic.WhiteSpace.ScopeIndent
139 - return null;
140 111 }
141 112
142 - /**
143 - * @param array $install
144 - * @param string $label
145 - *
146 - * @return void
147 - */
148 113 private static function install_button( $install, $label = '' ) {
149 114 $primary = 'button-secondary frm-button-secondary ';
150 115
151 - if ( ! $label ) {
116 + if ( empty( $label ) ) {
152 117 $label = __( 'Get Started', 'formidable' );
153 118 $primary = 'button-primary frm-button-primary ';
154 119 }
155 120
156 - // phpcs:disable Generic.WhiteSpace.ScopeIndent
157 121 if ( $install['installed'] ) {
158 122 ?>
159 - <a rel="<?php echo esc_attr( $install['importer'] ); ?>" class="button frm-activate-addon <?php echo esc_attr( $primary . ( empty( $install['link'] ) ? 'frm_hidden' : '' ) ); ?>"><?php // phpcs:ignore SlevomatCodingStandard.Files.LineLength.LineTooLong ?>
123 + <a rel="<?php echo esc_attr( $install['importer'] ); ?>" class="button frm-activate-addon <?php echo esc_attr( $primary . ( empty( $install['link'] ) ? 'frm_hidden' : '' ) ); ?>">
160 124 <?php
161 125 if ( $label === 'auto' ) {
162 126 /* translators: %s: Name of the plugin */
163 127 $label = sprintf( __( 'Activate %s', 'formidable' ), $install['name'] );
@@ -163,9 +127,9 @@
163 127 $label = sprintf( __( 'Activate %s', 'formidable' ), $install['name'] );
164 128 }
165 129 } else {
166 130 ?>
167 - <a rel="<?php echo esc_attr( $install['package'] ); ?>" class="frm-install-addon button <?php echo esc_attr( $primary ); ?>" aria-label="<?php esc_attr_e( 'Install', 'formidable' ); ?>"><?php // phpcs:ignore SlevomatCodingStandard.Files.LineLength.LineTooLong ?>
131 + <a rel="<?php echo esc_attr( $install['package'] ); ?>" class="frm-install-addon button <?php echo esc_attr( $primary ); ?>" aria-label="<?php esc_attr_e( 'Install', 'formidable' ); ?>">
168 132 <?php
169 133 if ( $label === 'auto' ) {
170 134 /* translators: %s: Name of the plugin */
171 135 $label = sprintf( __( 'Install %s Importer', 'formidable' ), $install['name'] );
@@ -174,23 +138,24 @@
174 138 ?>
175 139 <?php echo esc_html( $label ); ?>
176 140 </a>
177 141 <?php
178 - // phpcs:enable Generic.WhiteSpace.ScopeIndent
179 142 }
180 143
181 - /**
182 - * @return void
183 - */
184 144 public static function dismiss_migrator() {
185 145 check_ajax_referer( 'frm_ajax', 'nonce' );
186 146 $dismissed = get_option( 'frm_dismissed' );
187 -
188 - if ( ! $dismissed ) {
147 + if ( empty( $dismissed ) ) {
189 148 $dismissed = array();
190 149 }
191 -
192 150 $dismissed[] = FrmAppHelper::get_param( 'plugin', '', 'post', 'sanitize_text_field' );
193 - update_option( 'frm_dismissed', array_filter( $dismissed ), false );
151 + update_option( 'frm_dismissed', array_filter( $dismissed ), 'no' );
194 152 wp_die();
153 + }
154 +
155 + /**
156 + * @deprecated 4.05
157 + */
158 + public static function notification_count() {
159 + _deprecated_function( __METHOD__, '4.05' );
195 160 }
196 161 }