PluginProbe
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages / 3.1.0
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages v3.1.0
3.4.3 3.4.2 3.4.1 3.4.0 3.3.9 3.3.8 3.3.7 3.3.6 3.3.5 3.3.4 3.3.3 3.3.2 3.3.1 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.3.0 2.3.1 All 196 releases
← All changes | includes/class-convertkit-resource-forms.php +5 -99 3.4.13.1.0 View file →
@@ -49,40 +49,14 @@
49 49 $context
50 50 );
51 51 }
52 52
53 - // Get last query time and existing resources.
54 - $this->last_queried = get_option( $this->settings_name . '_last_queried' );
55 - $this->resources = get_option( $this->settings_name );
53 + // Call parent initialization function.
54 + parent::init();
56 55
57 56 }
58 57
59 58 /**
60 - * Fetches resources (forms, landing pages or tags) from the API, storing them in the options table
61 - * with a last queried timestamp.
62 - *
63 - * If the refresh results in a 401, removes the access and refresh tokens from the settings.
64 - *
65 - * @since 3.1.2
66 - *
67 - * @return WP_Error|array
68 - */
69 - public function refresh() {
70 -
71 - // Call parent refresh method.
72 - $result = parent::refresh();
73 -
74 - // If an error occurred, maybe delete credentials from the Plugin's settings
75 - // if the error is a 401 unauthorized.
76 - if ( is_wp_error( $result ) ) {
77 - convertkit_maybe_delete_credentials( $result, CONVERTKIT_OAUTH_CLIENT_ID );
78 - }
79 -
80 - return $result;
81 -
82 - }
83 -
84 - /**
85 59 * Returns all inline forms based on the sort order.
86 60 *
87 61 * @since 2.7.3
88 62 *
@@ -153,44 +127,8 @@
153 127
154 128 }
155 129
156 130 /**
157 - * Returns all non-legacy forms (any v4 format: inline, modal, slide in
158 - * or sticky bar) based on the sort order. Legacy forms lack a `format`
159 - * key and are therefore excluded.
160 - *
161 - * @since 3.3.7
162 - *
163 - * @return bool|array
164 - */
165 - public function get_non_legacy() {
166 -
167 - // If the ConvertKit WordPress Libraries are < 1.3.6 (e.g. loaded by an outdated
168 - // addon), or a WordPress site updates this Plugin before other ConvertKit Plugins,
169 - // get_by() won't be available and will cause an E_ERROR, crashing the site.
170 - // @see https://wordpress.org/support/topic/error-1795/.
171 - if ( ! method_exists( $this, 'get_by' ) ) { // @phpstan-ignore-line Older WordPress Libraries won't have this function.
172 - return false;
173 - }
174 -
175 - return $this->get_by( 'format', array( 'inline', 'modal', 'slide in', 'sticky bar' ) );
176 -
177 - }
178 -
179 - /**
180 - * Returns whether any non-legacy forms exist in the options table.
181 - *
182 - * @since 3.3.7
183 - *
184 - * @return bool
185 - */
186 - public function non_legacy_exist() {
187 -
188 - return (bool) $this->get_non_legacy();
189 -
190 - }
191 -
192 - /**
193 131 * Determines if the given Form ID is a legacy Form or Landing Page.
194 132 *
195 133 * @since 2.5.0
196 134 *
@@ -231,9 +169,9 @@
231 169 */
232 170 public function get_select_field_all( $name, $id, $css_classes, $selected_option, $prepend_options = false, $attributes = false, $description = false ) {
233 171
234 172 return $this->get_select_field(
235 - $this->get_forms_for_select_field( $selected_option ),
173 + $this->get(),
236 174 $name,
237 175 $id,
238 176 $css_classes,
239 177 $selected_option,
@@ -259,9 +197,9 @@
259 197 */
260 198 public function output_select_field_all( $name, $id, $css_classes, $selected_option, $prepend_options = false, $attributes = false, $description = false ) {
261 199
262 200 $this->output_select_field(
263 - $this->get_forms_for_select_field( $selected_option ),
201 + $this->get(),
264 202 $name,
265 203 $id,
266 204 $css_classes,
267 205 $selected_option,
@@ -272,39 +210,8 @@
272 210
273 211 }
274 212
275 213 /**
276 - * Returns the array of forms to display in an "all forms" dropdown: every
277 - * non-legacy form, plus the currently-selected legacy form (if any) so
278 - * existing saved legacy assignments continue to render as selected in the
279 - * UI without exposing other legacy forms as new selection options.
280 - *
281 - * @since 3.3.7
282 - *
283 - * @param string|int $selected_option Currently-selected form ID.
284 - * @return array
285 - */
286 - private function get_forms_for_select_field( $selected_option ) {
287 -
288 - $forms = $this->get_non_legacy();
289 - if ( ! is_array( $forms ) ) {
290 - $forms = array();
291 - }
292 -
293 - // If the currently-selected form is a legacy form, append it so the
294 - // dropdown shows the saved value as selected.
295 - if ( $selected_option && $this->is_legacy( $selected_option ) ) {
296 - $legacy_form = $this->get_by_id( (int) $selected_option );
297 - if ( $legacy_form ) {
298 - $forms[] = $legacy_form;
299 - }
300 - }
301 -
302 - return $forms;
303 -
304 - }
305 -
306 - /**
307 214 * Returns a <select> field populated with all non-inline forms, based on the given parameters.
308 215 *
309 216 * @since 2.3.9
310 217 *
@@ -588,10 +495,9 @@
588 495 sprintf(
589 496 /* translators: ConvertKit Form ID */
590 497 __( 'Kit Form ID %s does not exist on Kit.', 'convertkit' ),
591 498 $id
592 - ),
593 - 404
499 + )
594 500 );
595 501 }
596 502
597 503 // Initialize Settings.