WordPress.org

Make WordPress Core

Ticket #7230: date-validation-r8244.patch

File date-validation-r8244.patch, 770 bytes (added by tellyworth, 10 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        }