@@ -479,37 +479,55 @@ jQuery(document).ready(function ($) {
479479
480480 // Frequency fields
481481 function showFrequencyFilesFields ( frequency ) {
482+ let frequencies = [ "daily" , "weekly" , "monthly" ] ;
483+
484+ if ( frequency === "hourly" ) {
485+ $ ( ".js-backwpup-frequency-file-hide-if-hourly, .js-backwpup-frequency-file-show-if-weekly, .js-backwpup-frequency-file-show-if-monthly" ) . hide ( ) ;
486+ }
487+
482488 if ( frequency === "weekly" ) {
483- $ ( ".js-backwpup-frequency-file-show-if-weekly" ) . show ( ) ;
484- $ ( ".js-backwpup-frequency-file-show-if-monthly" ) . hide ( ) ;
489+ $ ( ".js-backwpup-frequency-file-show-if-hourly, .js-backwpup-frequency-file-show-if-monthly" ) . hide ( ) ;
485490 }
486491
487492 if ( frequency === "monthly" ) {
488- $ ( ".js-backwpup-frequency-file-show-if-weekly" ) . hide ( ) ;
489- $ ( ".js-backwpup-frequency-file-show-if-monthly" ) . show ( ) ;
493+ $ ( ".js-backwpup-frequency-file-show-if-hourly, js-backwpup-frequency-file-show-if-weekly" ) . hide ( ) ;
490494 }
491495
492496 if ( frequency === "daily" ) {
493- $ ( ".js-backwpup-frequency-file-show-if-weekly" ) . hide ( ) ;
494- $ ( ".js-backwpup-frequency-file-show-if-monthly" ) . hide ( ) ;
497+ $ ( ".js-backwpup-frequency-file-show-if-hourly, .js-backwpup-frequency-file-show-if-weekly, .js-backwpup-frequency-file-show-if-monthly" ) . hide ( ) ;
495498 }
499+
500+ if ( frequencies . includes ( frequency ) ) {
501+ $ ( ".js-backwpup-frequency-file-hide-if-hourly" ) . show ( ) ;
502+ }
503+
504+ $ ( ".js-backwpup-frequency-file-show-if-" + frequency ) . show ( ) ;
496505 }
497506
498507 function showFrequencyTablesFields ( frequency ) {
508+ let frequencies = [ "daily" , "weekly" , "monthly" ] ;
509+
510+ if ( frequency === "hourly" ) {
511+ $ ( ".js-backwpup-frequency-table-show-if-weekly, .js-backwpup-frequency-table-show-if-monthly, .js-backwpup-frequency-table-hide-if-hourly" ) . hide ( ) ;
512+ }
513+
499514 if ( frequency === "weekly" ) {
500- $ ( ".js-backwpup-frequency-table-show-if-weekly" ) . show ( ) ;
501- $ ( ".js-backwpup-frequency-table-show-if-monthly" ) . hide ( ) ;
515+ $ ( ".js-backwpup-frequency-table-show-if-hourly, .js-backwpup-frequency-table-show-if-monthly" ) . hide ( ) ;
502516 }
503517
504518 if ( frequency === "monthly" ) {
505- $ ( ".js-backwpup-frequency-table-show-if-weekly" ) . hide ( ) ;
506- $ ( ".js-backwpup-frequency-table-show-if-monthly" ) . show ( ) ;
519+ $ ( ".js-backwpup-frequency-table-show-if-hourly, .js-backwpup-frequency-table-show-if-weekly" ) . hide ( ) ;
507520 }
508521
509522 if ( frequency === "daily" ) {
510- $ ( ".js-backwpup-frequency-table-show-if-weekly" ) . hide ( ) ;
511- $ ( ".js-backwpup-frequency-table-show-if-monthly" ) . hide ( ) ;
523+ $ ( ".js-backwpup-frequency-table-show-if-hourly, .js-backwpup-frequency-table-show-if-weekly, .js-backwpup-frequency-table-show-if-monthly" ) . hide ( ) ;
524+ }
525+
526+ if ( frequencies . includes ( frequency ) ) {
527+ $ ( ".js-backwpup-frequency-table-hide-if-hourly" ) . show ( ) ;
512528 }
529+
530+ $ ( ".js-backwpup-frequency-table-show-if-" + frequency ) . show ( ) ;
513531 }
514532
515533 showFrequencyFilesFields ( $ ( ".js-backwpup-frequency-files" ) . val ( ) ) ;
@@ -1356,12 +1374,14 @@ jQuery(document).ready(function ($) {
13561374 const container = $ ( this ) . closest ( "article" ) ;
13571375 const frequency = container . find ( "select[name='frequency']" ) . val ( ) ;
13581376 const startTime = container . find ( "input[name='start_time']" ) . val ( ) ;
1377+ const hourlyStartTime = container . find ( "select[name='hourly_start_time']" ) . val ( ) ;
13591378 const day_of_week = container . find ( "select[name='day_of_week']" ) . val ( ) ;
13601379 const day_of_month = container . find ( "select[name='day_of_month']" ) . val ( ) ;
13611380
13621381 const data = {
13631382 frequency : frequency ,
13641383 start_time : startTime ,
1384+ hourly_start_time : hourlyStartTime ,
13651385 day_of_week : day_of_week ,
13661386 day_of_month : day_of_month ,
13671387 } ;
@@ -1389,12 +1409,14 @@ jQuery(document).ready(function ($) {
13891409 const container = $ ( this ) . closest ( "article" ) ;
13901410 const frequency = container . find ( "select[name='frequency']" ) . val ( ) ;
13911411 const startTime = container . find ( "input[name='start_time']" ) . val ( ) ;
1412+ const hourlyStartTime = container . find ( "select[name='hourly_start_time']" ) . val ( ) ;
13921413 const day_of_week = container . find ( "select[name='day_of_week']" ) . val ( ) ;
13931414 const day_of_month = container . find ( "select[name='day_of_month']" ) . val ( ) ;
13941415
13951416 const data = {
13961417 frequency : frequency ,
13971418 start_time : startTime ,
1419+ hourly_start_time : hourlyStartTime ,
13981420 day_of_week : day_of_week ,
13991421 day_of_month : day_of_month ,
14001422 } ;
@@ -1550,15 +1572,17 @@ jQuery(document).ready(function ($) {
15501572 }
15511573
15521574 // Function to start the backup process using requestWPApi
1553- function startBackupProcess ( ) {
1575+ function startBackupProcess ( data = { } ) {
15541576 if ( ! isGenerateJsIncluded ( ) ) {
1555- requestWPApi ( backwpupApi . startbackup , { } , function ( response ) {
1577+ requestWPApi ( backwpupApi . startbackup , data , function ( response ) {
15561578 if ( response . status === 200 ) {
15571579 setTimeout ( function ( ) {
15581580 if ( '#dbbackup' !== window . location . hash ) {
15591581 window . location . reload ( ) ;
15601582 }
1561- } , 500 ) ;
1583+ } , 500 ) ;
1584+ } else if ( 301 === response . status ) {
1585+ window . location = response . url ;
15621586 }
15631587 } , 'POST' ) ;
15641588 } else {
@@ -1571,7 +1595,9 @@ jQuery(document).ready(function ($) {
15711595
15721596 // Call the functions when the "First Backup" page is loaded
15731597 if ( window . location . search . includes ( 'backwpupfirstbackup' ) ) {
1574- startBackupProcess ( ) ;
1598+ startBackupProcess ( {
1599+ first_backup : 1
1600+ } ) ;
15751601 }
15761602
15771603 // Replace the 'Buy Pro' menu item with the correct link.
@@ -1589,6 +1615,26 @@ jQuery(document).ready(function ($) {
15891615 DocsMenuItem . attr ( 'href' , 'https://backwpup.com/docs/' ) ;
15901616 DocsMenuItem . attr ( 'target' , '_blank' ) ;
15911617 }
1618+
1619+ // Handle bwpup-ajax-close
1620+ $ ( '.bwpup-ajax-close' ) . click ( function ( e ) {
1621+ e . preventDefault ( ) ;
1622+ let current_close = $ ( this ) ;
1623+ let url = current_close . attr ( 'href' ) ;
1624+ if ( ! url ) {
1625+ return ;
1626+ }
1627+ let hide_id = current_close . data ( 'bwpu-hide' ) ;
1628+ $ ( '#' + hide_id ) . fadeTo ( 'slow' , '0.2' ) ;
1629+
1630+ $ . ajax ( {
1631+ url,
1632+ success : function ( response ) {
1633+ $ ( '#' + hide_id ) . hide ( ) ;
1634+ } ,
1635+ } ) ;
1636+ } ) ;
1637+
15921638} ) ;
15931639
15941640// Add a custom 'hide' event when the .hide() function is called
0 commit comments