98 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  *  Admin Database Upgrade
 | |
|  *
 | |
|  *  Shows the databse upgrade process.
 | |
|  *
 | |
|  *  @date    24/8/18
 | |
|  *  @since   5.7.4
 | |
|  *  @param   void
 | |
|  */
 | |
| 
 | |
| ?>
 | |
| <style type="text/css">
 | |
| 	
 | |
| 	/* hide steps */
 | |
| 	.step-1,
 | |
| 	.step-2,
 | |
| 	.step-3 {
 | |
| 		display: none;
 | |
| 	}		
 | |
| 	
 | |
| </style>
 | |
| <div id="acf-upgrade-wrap" class="wrap">
 | |
| 	
 | |
| 	<h1><?php _e( 'Upgrade Database', 'acf' ); ?></h1>
 | |
| 	
 | |
| <?php if ( acf_has_upgrade() ) : ?>
 | |
| 
 | |
| 	<p><?php _e( 'Reading upgrade tasks...', 'acf' ); ?></p>
 | |
| 	<p class="step-1"><i class="acf-loading"></i> <?php printf( __( 'Upgrading data to version %s', 'acf' ), ACF_VERSION ); ?></p>
 | |
| 	<p class="step-2"></p>
 | |
| 	<p class="step-3"><?php echo sprintf( __( 'Database upgrade complete. <a href="%s">See what\'s new</a>', 'acf' ), admin_url( 'edit.php?post_type=acf-field-group' ) ); ?></p>
 | |
| 	
 | |
| 	<script type="text/javascript">
 | |
| 	(function($) {
 | |
| 		
 | |
| 		var upgrader = new acf.Model({
 | |
| 			initialize: function(){
 | |
| 				
 | |
| 				// allow user to read message for 1 second
 | |
| 				this.setTimeout( this.upgrade, 1000 );
 | |
| 			},
 | |
| 			upgrade: function(){
 | |
| 				
 | |
| 				// show step 1
 | |
| 				$('.step-1').show();
 | |
| 				
 | |
| 				// vars
 | |
| 				var response = '';
 | |
| 				var success = false;
 | |
| 				
 | |
| 				// send ajax request to upgrade DB
 | |
| 				$.ajax({
 | |
| 					url: acf.get('ajaxurl'),
 | |
| 					dataType: 'json',
 | |
| 					type: 'post',
 | |
| 					data: acf.prepareForAjax({
 | |
| 						action: 'acf/ajax/upgrade'
 | |
| 					}),
 | |
| 					success: function( json ){
 | |
| 						success = true;
 | |
| 					},
 | |
| 					error: function( jqXHR, textStatus, errorThrown ){
 | |
| 						response = '<?php _e( 'Upgrade failed.', 'acf' ); ?>';
 | |
| 						if( error = acf.getXhrError(jqXHR) ) {
 | |
| 							response += ' <code>' + error +  '</code>';
 | |
| 						}
 | |
| 					},
 | |
| 					complete: this.proxy(function(){
 | |
| 						
 | |
| 						// remove spinner
 | |
| 						$('.acf-loading').hide();
 | |
| 						
 | |
| 						// display response
 | |
| 						if( response ) {
 | |
| 							$('.step-2').show().html( response );
 | |
| 						}
 | |
| 						
 | |
| 						// display success
 | |
| 						if( success ) {
 | |
| 							$('.step-3').show();
 | |
| 						}
 | |
| 					})
 | |
| 				});
 | |
| 			}
 | |
| 		});
 | |
| 				
 | |
| 	})(jQuery);	
 | |
| 	</script>
 | |
| 
 | |
| <?php else : ?>
 | |
| 
 | |
| 	<p><?php _e( 'No updates available.', 'acf' ); ?></p>
 | |
| 	
 | |
| <?php endif; ?>
 | |
| </div>
 |