WordPress.org

Make WordPress Core

Ticket #17180: 17180.diff

File 17180.diff, 2.2 KB (added by solarissmoke, 3 years ago)
  • wp-admin/includes/post.php

     
    108108                $hh = $post_data['hh']; 
    109109                $mn = $post_data['mn']; 
    110110                $ss = $post_data['ss']; 
    111                 $aa = ($aa <= 0 ) ? date('Y') : $aa; 
    112                 $mm = ($mm <= 0 ) ? date('n') : $mm; 
    113                 $jj = ($jj > 31 ) ? 31 : $jj; 
    114                 $jj = ($jj <= 0 ) ? date('j') : $jj; 
     111                if( ! checkdate( $mm, $jj, $aa ) ) 
     112                        return new WP_Error( 'invalid_publish_date', __( 'The publish date you supplied is invalid.' ) ); 
     113 
    115114                $hh = ($hh > 23 ) ? $hh -24 : $hh; 
    116115                $mn = ($mn > 59 ) ? $mn -60 : $mn; 
    117116                $ss = ($ss > 59 ) ? $ss -60 : $ss; 
  • wp-admin/js/post.dev.js

     
    376376                        originalDate = new Date( $('#hidden_aa').val(), $('#hidden_mm').val() -1, $('#hidden_jj').val(), $('#hidden_hh').val(), $('#hidden_mn').val() ); 
    377377                        currentDate = new Date( $('#cur_aa').val(), $('#cur_mm').val() -1, $('#cur_jj').val(), $('#cur_hh').val(), $('#cur_mn').val() ); 
    378378 
     379                         
    379380                        if ( attemptedDate.getFullYear() != aa || (1 + attemptedDate.getMonth()) != mm || attemptedDate.getDate() != jj || attemptedDate.getMinutes() != mn ) { 
    380381                                $('.timestamp-wrap', '#timestampdiv').addClass('form-invalid'); 
     382                                $('#publish').prop('disabled', true); 
    381383                                return false; 
    382384                        } else { 
    383385                                $('.timestamp-wrap', '#timestampdiv').removeClass('form-invalid'); 
     386                                $('#publish').prop('disabled', false); 
    384387                        } 
    385388 
    386389                        if ( attemptedDate > currentDate && $('#original_post_status').val() != 'future' ) { 
     
    489492                $('#timestampdiv').siblings('a.edit-timestamp').click(function() { 
    490493                        if ($('#timestampdiv').is(":hidden")) { 
    491494                                $('#timestampdiv').slideDown('fast'); 
     495                                $('#publish').prop('disabled', true); 
    492496                                $(this).hide(); 
    493497                        } 
    494498                        return false; 
     
    503507                        $('#mn').val($('#hidden_mn').val()); 
    504508                        $('#timestampdiv').siblings('a.edit-timestamp').show(); 
    505509                        updateText(); 
     510                        $('#publish').prop('disabled', false); 
    506511                        return false; 
    507512                }); 
    508513