WordPress.org

Make WordPress Core

Ticket #17180: 17180.diff

File 17180.diff, 2.2 KB (added by solarissmoke, 9 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