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