Skip to content

Commit 1d8128f

Browse files
refactor: added new validation feedback for feed URLs
1 parent b5ab205 commit 1d8128f

File tree

7 files changed

+245
-112
lines changed

7 files changed

+245
-112
lines changed

includes/admin/feedzy-rss-feeds-admin.php

Lines changed: 54 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -2528,52 +2528,52 @@ public function validate_feed() {
25282528
wp_send_json_error( array( 'message' => __( 'Security check failed.', 'feedzy-rss-feeds' ) ) );
25292529
}
25302530

2531-
$feed_urls = isset($_POST['feed_url']) ? sanitize_text_field( wp_unslash( $_POST['feed_url'] ) ) : '';
2531+
$feed_urls = isset( $_POST['feed_url'] ) ? sanitize_text_field( wp_unslash( $_POST['feed_url'] ) ) : '';
25322532

2533-
if (empty($feed_urls)) {
2534-
wp_send_json_error(array('message' => __('Feed URL cannot be empty.', 'feedzy-rss-feeds')));
2533+
if ( empty( $feed_urls ) ) {
2534+
wp_send_json_error( array( 'message' => __( 'Feed URL cannot be empty.', 'feedzy-rss-feeds' ) ) );
25352535
}
25362536

2537-
$urls = array_map('trim', explode(',', $feed_urls));
2538-
$urls = array_filter($urls);
2537+
$urls = array_map( 'trim', explode( ',', $feed_urls ) );
2538+
$urls = array_filter( $urls );
25392539

2540-
if (empty($urls)) {
2541-
wp_send_json_error(array('message' => __('No valid URLs provided.', 'feedzy-rss-feeds')));
2540+
if ( empty( $urls ) ) {
2541+
wp_send_json_error( array( 'message' => __( 'No valid URLs provided.', 'feedzy-rss-feeds' ) ) );
25422542
}
25432543

25442544
$results = array();
25452545

2546-
foreach ($urls as $feed_url) {
2547-
$feed_url = esc_url_raw($feed_url);
2546+
foreach ( $urls as $feed_url ) {
2547+
$feed_url = esc_url_raw( $feed_url );
25482548

2549-
if (!filter_var($feed_url, FILTER_VALIDATE_URL)) {
2549+
if ( ! filter_var( $feed_url, FILTER_VALIDATE_URL ) ) {
25502550
$results[] = array(
2551-
'url' => $feed_url,
2552-
'status' => 'error',
2553-
'message' => __('Invalid URL format', 'feedzy-rss-feeds')
2551+
'url' => $feed_url,
2552+
'status' => 'error',
2553+
'message' => __( 'Invalid URL format', 'feedzy-rss-feeds' ),
25542554
);
25552555
continue;
25562556
}
25572557

2558-
$feed = $this->fetch_feed(array($feed_url), '1_mins', array());
2558+
$feed = $this->fetch_feed( array( $feed_url ), '1_mins', array() );
25592559

2560-
if ( is_wp_error($feed) ) {
2560+
if ( is_wp_error( $feed ) ) {
25612561
$results[] = array(
2562-
'url' => $feed_url,
2563-
'status' => 'error',
2564-
'message' => __( 'Error fetching feed: ', 'feedzy-rss-feeds') . $feed->get_error_message()
2562+
'url' => $feed_url,
2563+
'status' => 'error',
2564+
'message' => __( 'Error fetching feed: ', 'feedzy-rss-feeds' ) . $feed->get_error_message(),
25652565
);
25662566
continue;
25672567
}
25682568

25692569
if (
2570-
! is_object($feed) ||
2571-
! method_exists($feed, 'get_item_quantity')
2570+
! is_object( $feed ) ||
2571+
! method_exists( $feed, 'get_item_quantity' )
25722572
) {
25732573
$results[] = array(
2574-
'url' => $feed_url,
2575-
'status' => 'error',
2576-
'message' => __('Invalid feed object returned', 'feedzy-rss-feeds')
2574+
'url' => $feed_url,
2575+
'status' => 'error',
2576+
'message' => __( 'Invalid feed object returned', 'feedzy-rss-feeds' ),
25772577
);
25782578
continue;
25792579
}
@@ -2585,18 +2585,18 @@ public function validate_feed() {
25852585

25862586
if ( is_array( $error ) && ! empty( $error ) ) {
25872587
$results[] = array(
2588-
'url' => $feed_url,
2589-
'status' => 'error',
2590-
'message' => __( 'Error fetching feed: ', 'feedzy-rss-feeds') . implode(', ', $error ),
2588+
'url' => $feed_url,
2589+
'status' => 'error',
2590+
'message' => __( 'Error fetching feed: ', 'feedzy-rss-feeds' ) . implode( ', ', $error ),
25912591
);
25922592
continue;
25932593
}
25942594

25952595
if ( $items === 0 ) {
25962596
$results[] = array(
2597-
'url' => $feed_url,
2598-
'status' => 'warning',
2599-
'message' => __('Feed is empty', 'feedzy-rss-feeds')
2597+
'url' => $feed_url,
2598+
'status' => 'warning',
2599+
'message' => __( 'Feed is empty', 'feedzy-rss-feeds' ),
26002600
);
26012601
continue;
26022602
}
@@ -2605,34 +2605,41 @@ public function validate_feed() {
26052605
'url' => $feed_url,
26062606
'status' => 'success',
26072607
/* translators: %d is the number of items found in the feed */
2608-
'message' => $title . sprintf( _n(
2609-
'%d item found',
2610-
'%d items found',
2611-
$items,
2612-
'feedzy-rss-feeds'
2613-
), $items ),
2608+
'message' => $title . sprintf(
2609+
_n(
2610+
'%d item found',
2611+
'%d items found',
2612+
$items,
2613+
'feedzy-rss-feeds'
2614+
),
2615+
$items
2616+
),
26142617
'items' => $items,
2615-
'title' => $title
2618+
'title' => $title,
26162619
);
26172620

26182621
} catch ( Throwable $e ) {
26192622
$results[] = array(
2620-
'url' => $feed_url,
2621-
'status' => 'error',
2623+
'url' => $feed_url,
2624+
'status' => 'error',
26222625
/* translators: %s is the error message */
2623-
'message' => sprintf(__('Error reading feed: %s', 'feedzy-rss-feeds'), $e->getMessage())
2626+
'message' => sprintf( __( 'Error reading feed: %s', 'feedzy-rss-feeds' ), $e->getMessage() ),
26242627
);
26252628
}
26262629
}
26272630

2628-
wp_send_json_success(array(
2629-
'results' => $results
2630-
));
2631-
} catch (Throwable $e) {
2632-
wp_send_json_error(array(
2633-
/* translators: %s is the error message */
2634-
'message' => sprintf(__('An error occurred: %s', 'feedzy-rss-feeds'), $e->getMessage())
2635-
));
2631+
wp_send_json_success(
2632+
array(
2633+
'results' => $results,
2634+
)
2635+
);
2636+
} catch ( Throwable $e ) {
2637+
wp_send_json_error(
2638+
array(
2639+
/* translators: %s is the error message */
2640+
'message' => sprintf( __( 'An error occurred: %s', 'feedzy-rss-feeds' ), $e->getMessage() ),
2641+
)
2642+
);
26362643
}
26372644
}
26382645
}

includes/admin/feedzy-rss-feeds-import.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public function enqueue_styles() {
163163
array(
164164
'ajax' => array(
165165
'security' => wp_create_nonce( FEEDZY_BASEFILE ),
166-
'url' => admin_url('admin-ajax.php'),
166+
'url' => admin_url( 'admin-ajax.php' ),
167167
),
168168
'i10n' => array(
169169
'importing' => __( 'Importing', 'feedzy-rss-feeds' ) . '...',
@@ -191,8 +191,8 @@ public function enqueue_styles() {
191191
),
192192
'is_pro' => feedzy_is_pro(),
193193
'validation_messages' => array(
194-
'invalid_feed_url' => __( 'Invalid feed URL.', 'feedzy-rss-feeds' ),
195-
'error_validating_feed_url' => __( 'Error validating feed URL.', 'feedzy-rss-feeds' )
194+
'invalid_feed_url' => __( 'Invalid feed URL.', 'feedzy-rss-feeds' ),
195+
'error_validating_feed_url' => __( 'Error validating feed URL.', 'feedzy-rss-feeds' ),
196196
)
197197
),
198198
)

includes/feedzy-rss-feeds.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ private function define_admin_hooks() {
202202
self::$instance->loader->add_filter( 'admin_footer', self::$instance->admin, 'handle_upgrade_submenu' );
203203
self::$instance->loader->add_action( 'current_screen', self::$instance->admin, 'handle_legacy' );
204204
self::$instance->loader->add_action( 'init', self::$instance->admin, 'register_settings' );
205-
self::$instance->loader->add_action( 'wp_ajax_feedzy_validate_feed', self::$instance->admin, 'validate_feed');
205+
self::$instance->loader->add_action( 'wp_ajax_feedzy_validate_feed', self::$instance->admin, 'validate_feed' );
206206

207207
// do not load this with the loader as this will need a corresponding remove_filter also.
208208
add_filter( 'update_post_metadata', array( self::$instance->admin, 'validate_category_feeds' ), 10, 5 );

includes/gutenberg/feedzy-rss-feeds-gutenberg-block.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ public function feedzy_gutenberg_scripts() {
7575
'imagepath' => esc_url( FEEDZY_ABSURL . 'img/' ),
7676
'isPro' => feedzy_is_pro(),
7777
'upsellLinkBlockEditor' => esc_url( tsdk_translate_link( tsdk_utmify( FEEDZY_UPSELL_LINK, 'keywordsfilter', 'blockeditor' ) ) ),
78+
'nonce' => wp_create_nonce( FEEDZY_BASEFILE ),
79+
'url' => admin_url( 'admin-ajax.php' ),
7880
)
7981
);
8082

includes/views/import-metabox-edit.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class="form-control" />
5353
type="button"
5454
id="feedzy-validate-feed"
5555
role="button"
56-
title="<?php esc_attr_e('Validate Feed', 'feedzy-rss-feeds'); ?>">
56+
title="<?php esc_attr_e( 'Validate Feed', 'feedzy-rss-feeds' ); ?>">
5757
<i class="dashicons dashicons-plus-alt2" aria-hidden="true"></i>
5858
</button>
5959
</div>

0 commit comments

Comments
 (0)