function create_date($format, $post, $tz) { global $board_config, $lang; $time = $post; board2usertime($time); // windows date bug... if error return is not set // default to what unix do => set date to 31 dec 1901 // win should do => set date to 01 jan 1970 01] == 'english' ) ? date($format,$fakedate) : strtr(date($format,$fakedate), $lang['datetime']) ; if(strpos($formatted,'1970') === false){ if(strpos($formatted,'1969') === false){ if(strpos($formatted,'1971') === false){ // unknown date :: something must have gone wrong $time = 0; }else{ $fakeyear = 1971; $year_submitted = $year_submitted+1; } } else { // 1969 is returned on leap years... $fakeyear = 1969; $year_submitted = $year_submitted-1; } }else{ // normal date :: returns 1970 $fakeyear = 1970; } $leapcal = $year_submitted/4; if($leapcal == intval($leapcal)){ $endoffeb = mktime(23,59,59,2,28,1970); if($fakedate > $endoffeb){ // if leap year, substract 1 day if after 28/02... $fakeleapdate = $fakedate - 86400; $formatted = ( $board_config['default_lang'] == 'english' ) ? date($format,$fakeleapdate) : strtr(date($format,$fakeleapdate), $lang['datetime']) ; if(fakedate < mktime(23,59,59,3,1,1970)){ // should be 29 !!! $formatted = str_replace('28', '29', $formatted); } } } $out = str_replace($fakeyear, $year_submitted, $formatted); return $out; } else { $time = 0; } } //return date($format,$time); return ( $board_config['default_lang'] == 'english' ) ? date($format,$time) : strtr(date($format,$time), $lang['datetime']) ;}