29 Jun 1999 09:52:11 -0500 (EDT) * (as specified in RFC 822) -- 'Tue' is optional * * $Id$ */ require_once( '../functions/constants.php' ); // corrects a time stamp to be the local time function getGMTSeconds($stamp, $gmt) { global $invert_time; if (($gmt == 'Pacific') || ($gmt == 'PST')) { $gmt = '-0800'; } else if (($gmt == 'EDT')) { $gmt = '-0400'; } else if (($gmt == 'Eastern') || ($gmt == 'EST') || ($gmt == 'CDT')) { $gmt = '-0500'; } else if (($gmt == 'Central') || ($gmt == 'CST') || ($gmt == 'MDT')) { $gmt = '-0600'; } else if (($gmt == 'Mountain') || ($gmt == 'MST') || ($gmt == 'PDT')) { $gmt = '-0700'; } else if ($gmt == 'BST') { $gmt = '+0100'; } else if ($gmt == 'EET') { $gmt = '+0200'; } else if ($gmt == 'GMT') { $gmt = '+0000'; } else if ($gmt == 'HKT') { $gmt = '+0800'; } else if ($gmt == 'IST') { $gmt = '+0200'; } else if ($gmt == 'JST') { $gmt = '+0900'; } else if ($gmt == 'KST') { $gmt = "+0900"; } else if ($gmt == 'MET') { $gmt = '+0100'; } else if ($gmt == 'MET DST' || $gmt == 'METDST') { $gmt = '+0200'; } if (substr($gmt, 0, 1) == '-') { $neg = true; $gmt = substr($gmt, 1, strlen($gmt)); } else if (substr($gmt, 0, 1) == '+') { $neg = false; $gmt = substr($gmt, 1, strlen($gmt)); } else { $neg = false; } $gmt = substr($gmt, 0, 2); $gmt = $gmt * 3600; if ($neg == true) { $gmt = "-$gmt"; } else { $gmt = "+$gmt"; } /** now find what the server is at **/ $current = date('Z', time()); if ($invert_time) { $current = - $current; } $stamp = (int)$stamp - (int)$gmt + (int)$current; return $stamp; } /** Switch system has been intentionaly choosed for the internationalization of month and day names. The reason is to make sure that _("") strings will go into the main po. **/ function getDayName( $day_number ) { switch( $day_number ) { case 0: $ret = _("Sunday"); break; case 1: $ret = _("Monday"); break; case 2: $ret = _("Tuesday"); break; case 3: $ret = _("Wednesday"); break; case 4: $ret = _("Thursday"); break; case 5: $ret = _("Friday"); break; case 6: $ret = _("Saturday"); break; default: $ret = ''; } return( $ret ); } function getMonthName( $month_number ) { switch( $month_number ) { case '01': $ret = _("January"); break; case '02': $ret = _("February"); break; case '03': $ret = _("March"); break; case '04': $ret = _("April"); break; case '05': $ret = _("May"); break; case '06': $ret = _("June"); break; case '07': $ret = _("July"); break; case '08': $ret = _("August"); break; case '09': $ret = _("September"); break; case '10': $ret = _("October"); break; case '11': $ret = _("November"); break; case '12': $ret = _("December"); break; default: $ret = ''; } return( $ret ); } function date_intl( $date_format, $stamp ) { $ret = str_replace( 'D', '$1', $date_format ); $ret = str_replace( 'F', '$2', $ret ); $ret = str_replace( 'l', '$4', $ret ); $ret = date( '$3'. $ret . '$3', $stamp ); // Workaround for a PHP 4.0.4 problem $ret = str_replace( '$1', substr( getDayName( date( 'w', $stamp ) ), 0, 3 ), $ret ); $ret = str_replace( '$2', getMonthName( date( 'm', $stamp ) ), $ret ); $ret = str_replace( '$4', getDayName( date( 'w', $stamp ) ), $ret ); $ret = str_replace( '$3', '', $ret ); return( $ret ); } function getLongDateString( $stamp ) { global $hour_format; if ( $hour_format == SMPREF_TIME_12HR ) { $date_format = _("D, F j, Y g:i a"); } else { $date_format = _("D, F j, Y G:i"); } return( date_intl( $date_format, $stamp ) ); } function getDateString( $stamp ) { global $invert_time, $hour_format; $now = time(); $dateZ = date('Z', $now ); if ($invert_time) { $dateZ = - $dateZ; } $midnight = $now - ($now % 86400) - $dateZ; if ($midnight < $stamp) { /* Today */ if ( $hour_format == SMPREF_TIME_12HR ) { $date_format = _("g:i a"); } else { $date_format = _("G:i"); } } else if ($midnight - 518400 < $stamp) { /* This week */ if ( $hour_format == SMPREF_TIME_12HR ) { $date_format = _("D, g:i a"); } else { $date_format = _("D, G:i"); } } else { /* before this week */ $date_format = _("M j, Y"); } return( date_intl( $date_format, $stamp ) ); } function getTimeStamp($dateParts) { /** $dateParts[0] == Mon, Tue, Wed ** $dateParts[1] == 23 ** $dateParts[2] == Jan, Feb, Mar ** $dateParts[3] == 1999 ** $dateParts[4] ==