Skip to content

Commit 7993a7c

Browse files
feat: auto-delete featured image
1 parent 7d45ada commit 7993a7c

File tree

5 files changed

+49
-0
lines changed

5 files changed

+49
-0
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1002,6 +1002,7 @@ private function save_settings() {
10021002
$settings['general']['fz_cron_schedule'] = isset( $_POST['fz_cron_schedule'] ) ? filter_input( INPUT_POST, 'fz_cron_schedule', FILTER_UNSAFE_RAW ) : 'hourly';
10031003
$settings['general']['fz_execution_offset'] = isset( $_POST['fz_execution_offset'] ) ? filter_input( INPUT_POST, 'fz_execution_offset', FILTER_UNSAFE_RAW ) : '';
10041004
$settings['general']['feedzy-telemetry'] = isset( $_POST['feedzy-telemetry'] ) ? (int) filter_input( INPUT_POST, 'feedzy-telemetry', FILTER_SANITIZE_NUMBER_INT ) : '';
1005+
$settings['general']['feedzy-delete-media'] = isset( $_POST['feedzy-delete-media'] ) ? (int) filter_input( INPUT_POST, 'feedzy-delete-media', FILTER_SANITIZE_NUMBER_INT ) : '';
10051006
break;
10061007
case 'headers':
10071008
$settings['header']['user-agent'] = isset( $_POST['user-agent'] ) ? filter_input( INPUT_POST, 'user-agent', FILTER_UNSAFE_RAW ) : '';

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,13 @@ public function feedzy_import_feed_options() {
427427
if ( empty( $import_feed_delete_days ) ) {
428428
$import_feed_delete_days = ! empty( $this->free_settings['general']['feedzy-delete-days'] ) ? (int) $this->free_settings['general']['feedzy-delete-days'] : 0;
429429
}
430+
431+
$import_feed_delete_media = get_post_meta( $post->ID, 'import_feed_delete_media', true );
432+
if ( empty( $import_feed_delete_media ) ) {
433+
$import_feed_delete_media = ! empty( $this->free_settings['general']['feedzy-delete-media'] ) ? 'yes' : 'no';
434+
}
435+
$import_feed_delete_media = 'yes' === $import_feed_delete_media ? 'checked' : '';
436+
430437
$default_thumbnail_id = 0;
431438
if ( feedzy_is_pro() ) {
432439
$default_thumbnail_id = get_post_meta( $post->ID, 'default_thumbnail_id', true );
@@ -568,11 +575,15 @@ public function save_feedzy_import_feed_meta( $post_id, $post ) {
568575
$data_meta['import_auto_translation'] = isset( $data_meta['import_auto_translation'] ) ? $data_meta['import_auto_translation'] : 'no';
569576
// Check feeds external image URL checkbox checked OR not.
570577
$data_meta['import_use_external_image'] = isset( $data_meta['import_use_external_image'] ) ? $data_meta['import_use_external_image'] : 'no';
578+
571579
// If it is filter_conditions we want to escape it.
572580
if ( isset( $data_meta['filter_conditions'] ) ) {
573581
$data_meta['filter_conditions'] = wp_slash( $data_meta['filter_conditions'] );
574582
}
575583

584+
// Check feeds remove attached media checkbox checked OR not.
585+
$data_meta['import_feed_delete_media'] = isset( $data_meta['import_feed_delete_media'] ) ? $data_meta['import_feed_delete_media'] : 'no';
586+
576587
// $data_meta['feedzy_post_author'] should be the author username. We convert it to the author ID.
577588
if ( ! empty( $data_meta['import_post_author'] ) ) {
578589
$author = get_user_by( 'login', $data_meta['import_post_author'] );

includes/layouts/settings.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,10 @@ class="<?php echo $_tab === $active_tab ? esc_attr( 'active' ) : ''; ?>"><?php e
105105
if ( isset( $settings['general']['disable-default-style'] ) && 1 === intval( $settings['general']['disable-default-style'] ) ) {
106106
$disble_default_style = 1;
107107
}
108+
$delete_media = 0;
109+
if ( isset( $settings['general']['feedzy-delete-media'] ) && 1 === intval( $settings['general']['feedzy-delete-media'] ) ) {
110+
$delete_media = 1;
111+
}
108112

109113
$feedzy_delete_days = isset( $settings['general']['feedzy-delete-days'] ) ? $settings['general']['feedzy-delete-days'] : 0;
110114
$default_thumbnail_id = isset( $settings['general']['default-thumbnail-id'] ) ? $settings['general']['default-thumbnail-id'] : 0;
@@ -163,6 +167,16 @@ class="<?php echo $_tab === $active_tab ? esc_attr( 'active' ) : ''; ?>"><?php e
163167
<div class="help-text pt-8"><?php esc_html_e( 'Helpful if you want to remove stale or old items automatically. If you choose 0, it will be considered the individual import setting.', 'feedzy-rss-feeds' ); ?></div>
164168
</div>
165169
</div>
170+
<div class="form-block">
171+
<div class="fz-form-switch pb-0">
172+
<input type="checkbox" id="feedzy-delete-media" class="fz-switch-toggle" name="feedzy-delete-media"
173+
value="1" <?php checked( 1, $delete_media ); ?> />
174+
<label for="feedzy-delete-media" class="form-label"><?php esc_html_e( 'Delete attached featured image', 'feedzy-rss-feeds' ); ?></label>
175+
</div>
176+
<div class="fz-form-group">
177+
<div class="help-text pt-8"><?php esc_html_e( 'Helpful if you want to delete attached featured image when posts are automatically deleted.', 'feedzy-rss-feeds' ); ?></div>
178+
</div>
179+
</div>
166180
<div class="form-block">
167181
<div class="fz-form-row">
168182
<div class="fz-form-col-6">

includes/views/import-metabox-edit.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -621,6 +621,25 @@ class="fz-switch-toggle" type="checkbox" value="yes"
621621
</div>
622622
</div>
623623

624+
<div class="form-block form-block-two-column <?php echo esc_attr( apply_filters( 'feedzy_upsell_class', '' ) ); ?>">
625+
<?php echo wp_kses_post( apply_filters( 'feedzy_upsell_content', '', 'delete-featured-image', 'import' ) ); ?>
626+
<div class="fz-left"><h4 class="h4"><?php esc_html_e( 'Delete image', 'feedzy-rss-feeds' ); ?><?php echo ! feedzy_is_pro() ? ' <span class="pro-label">PRO</span>' : ''; ?></h4>
627+
</div>
628+
<div class="fz-right">
629+
<div class="fz-form-group">
630+
<div class="fz-form-switch">
631+
<input id="delete-attached-media" name="feedzy_meta_data[import_feed_delete_media]"
632+
class="fz-switch-toggle" type="checkbox" value="yes"
633+
<?php echo esc_attr( $import_feed_delete_media ); ?>>
634+
<label class="feedzy-inline form-label" for="delete-attached-media"><?php esc_html_e( 'Delete attached featured image', 'feedzy-rss-feeds' ); ?></label>
635+
</div>
636+
</div>
637+
<div class="help-text">
638+
<?php echo wp_sprintf( esc_html__( 'Helpful if you want to delete attached featured image when posts are automatically deleted.', 'feedzy-rss-feeds' ) ); ?>
639+
</div>
640+
</div>
641+
</div>
642+
624643
<div class="form-block form-block-two-column">
625644
<div class="fz-left">
626645
<h4 class="h4"><?php esc_html_e( 'Remove Duplicates', 'feedzy-rss-feeds' ); ?></h4>

tests/e2e/specs/upsell.spec.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,9 @@ test.describe( 'Upsell', () => {
4141
await page.locator('.fz-form-group:has( #fz-event-execution )').hover({ force: true });
4242
upgradeAlert = page.locator('#feedzy-import-form a[href*="utm_campaign=schedule-import-job"]');
4343
await expect( upgradeAlert ).toBeVisible();
44+
45+
await page.locator('#delete-attached-media').hover({ force: true });
46+
let upgradeAlert = page.locator('#feedzy-import-form a[href*="utm_campaign=delete-featured-image"]');
47+
await expect( upgradeAlert ).toBeVisible();
4448
} );
4549
});

0 commit comments

Comments
 (0)