WordPress.org

Make WordPress Core

Ticket #7230: date-validation-r8244.patch

File date-validation-r8244.patch, 770 bytes (added by tellyworth, 6 years ago)

checkdate() and time validation too

  • wp-admin/includes/post.php

     
    9393                $hh = $_POST['hh']; 
    9494                $mn = $_POST['mn']; 
    9595                $ss = $_POST['ss']; 
    96                 $jj = ($jj > 31 ) ? 31 : $jj; 
    97                 $hh = ($hh > 23 ) ? $hh -24 : $hh; 
    98                 $mn = ($mn > 59 ) ? $mn -60 : $mn; 
    99                 $ss = ($ss > 59 ) ? $ss -60 : $ss; 
     96                if ( !checkdate( $mm, $jj, $aa ) ) { 
     97                        $aa = date('Y'); 
     98                        $mm = date('n'); 
     99                        $jj = date('j'); 
     100                } 
     101                $hh = $hh % 24; 
     102                $mn = $mn % 60; 
     103                $ss = $ss % 60; 
    100104                $_POST['post_date'] = sprintf( "%04d-%02d-%02d %02d:%02d:%02d", $aa, $mm, $jj, $hh, $mn, $ss ); 
    101105                $_POST['post_date_gmt'] = get_gmt_from_date( $_POST['post_date'] ); 
    102106        }