%PDF- %PDF-
Direktori : /home/jalalj2hb/www/wp-content/plugins/ninja-forms/deprecated/upgrade/ |
Current File : /home/jalalj2hb/www/wp-content/plugins/ninja-forms/deprecated/upgrade/upgrade.js |
jQuery(document).ready(function($) { /* |-------------------------------------------------------------------------- | Ninja Forms THREE Upgrade App |-------------------------------------------------------------------------- */ var nfUpgradeApp = { forms: [], step: 'checking', container: '#nfUpgradeApp', tmpl: { test: wp.template( 'test' ), table: wp.template( 'table' ), legend: wp.template( 'legend' ), }, formCheckPointer: 0, formConvertPointer: 0, updateTable: function(){ var data = { title: '', headers: [ 'Title', 'Status' ], rows: this.forms, step: this.step, showSupportLink: 0, }; if( 'checking' == this.step ) { data.title = 'Form Upgrade List'; data.legend = this.tmpl.legend( { no_issues_detected: 'No Issues Detected', will_need_attention: 'Will Need Attention After Upgrade', }), data.next = 'Start Upgrade'; data.readyToConvert = 1; _.each(this.forms, function (form) { if ( ! form.checked ) data.readyToConvert = 0; }, this); } if( 'converting' == this.step ) { data.title = 'Converting Forms'; var redirectToThree = 1; _.each(this.forms, function (form) { if ( ! form.converted ) redirectToThree = 0; if ( form.failed ) data.showSupportLink = 1; }, this); if( redirectToThree ) { jQuery( window ).unbind( 'beforeunload' ); window.location.href = nfThreeUpgrade.redirectURL; } } jQuery( this.container ).html( this.tmpl.table( data ) ); }, checkForms: function() { var form = this.forms[ this.formCheckPointer ] || null; if( form ) this.checkForm( form ); this.formCheckPointer++; }, checkForm: function( form ) { var that = this; $.post( ajaxurl, { action: 'ninja_forms_upgrade_check', formID: form.id }, function( response ) { var icon = ( response.canUpgrade ) ? '' : 'flag'; var flagged = ( response.canUpgrade ) ? 0 : 1; that.updateForm( form.id, 'title', response.title ); that.updateForm( form.id, 'icon', icon ); that.updateForm( form.id, 'checked', true ); that.updateForm( form.id, 'flagged', flagged ); that.updateTable(); that.checkForms(); }, 'json' ); }, updateForm: function( formID, property, value ) { _.each( this.forms, function( form ) { if( formID != form.id ) return; form[ property ] = value; }); }, start: function () { _.each( nfThreeUpgrade.forms, function( formID ) { this.forms.push({ id: formID, title: '', icon: 'update', checked: false, converted: false, failed: false, }); }, this ); this.checkForms(); this.updateTable(); var that = this; jQuery( '#nfUpgradeApp' ).on( 'click','.js-nfUpgrade-startConversion', function() { that.startConversion( that ); } ); }, startConversion: function( app ) { console.log( 'HERE' ); console.log( app ); app.step = 'converting'; // Add a notice if the user tries to navigate away during conversion. jQuery( window ).bind( 'beforeunload', function(){ return 'You have unsaved changes.'; } ); $.post( ajaxurl, { nf2to3: 1, action: 'ninja_forms_ajax_migrate_database', security: nfThreeUpgrade.nonce }, function( response ) { $.post( ajaxurl, { action: 'nfThreeUpgrade_GetSerializedFields' }, function( fieldsExport ) { $.post(ajaxurl, { nf2to3: 1, fields: fieldsExport.serialized, action: 'ninja_forms_ajax_import_fields' }, function ( fieldsImport ) { app.convertForms(); }, 'json' ); }, 'json' ); }); }, convertForms: function() { var form = this.forms[ this.formConvertPointer ] || null; if( form ) this.convertForm( form ); this.formConvertPointer++; }, convertForm: function( form ) { var app = this; console.log( 'Converting...' ); console.log( form ); form.icon = 'update' app.updateTable(); $.post(ajaxurl, {action: 'nfThreeUpgrade_GetSerializedForm', formID: form.id}, function ( formExport ) { $.post(ajaxurl, { nf2to3: 1, action: 'ninja_forms_ajax_import_form', formID: form.id, import: formExport.serialized, flagged: form.flagged }, function ( formImport ) { form.converted = true; form.icon = 'yes'; app.updateTable(); }, 'json').fail( function() { form.converted = false; form.failed = true; form.icon = 'no'; app.updateTable(); }).always( function() { app.convertForms(); }); }, 'json' ); } }; nfUpgradeApp.start(); });