*/
function serendipity_strftime($format, $timestamp = null, $useOffset = true) {
global $serendipity;
+ static $is_win_utf = null;
+
+ if ($is_win_utf === null) {
+ // Windows does not have UTF-8 locales.
+ $is_win_utf = (LANG_CHARSET == 'UTF-8' && strtoupper(substr(PHP_OS, 0, 3)) === 'WIN' ? true : false);
+ }
switch($serendipity['calendar']) {
default:
} elseif ($useOffset) {
$timestamp = serendipity_serverOffsetHour($timestamp);
}
- return strftime($format, $timestamp);
+ $out = strftime($format, $timestamp);
+ break;
case 'persian-utf8':
if ($timestamp == null) {
}
require_once S9Y_INCLUDE_PATH . 'include/functions_calendars.inc.php';
- return persian_strftime_utf($format, $timestamp);
+ $out = persian_strftime_utf($format, $timestamp);
+ break;
}
+
+ if ($is_win_utf) {
+ $out = utf8_encode($out);
+ }
+
+ return $out;
}
/**
if (is_null($fromMail) || empty($fromMail)) {
$fromMail = $to;
}
-
+
if (is_null($headers)) {
$headers = array();
}
$maildata['subject'] = str_replace(array("\n", "\r"), array('', ''), mb_encode_mimeheader($maildata['subject'], LANG_CHARSET));
$maildata['fromName'] = str_replace(array("\n", "\r"), array('', ''), mb_encode_mimeheader($maildata['fromName'], LANG_CHARSET));
}
-
-
+
+
// Always add these headers
if (!empty($maildata['blogMail'])) {
$maildata['headers'][] = 'From: "'. $maildata['fromName'] .'" <'. $maildata['blogMail'] .'>';
$maildata['headers'][] = 'MIME-Version: 1.0';
$maildata['headers'][] = 'Precedence: bulk';
$maildata['headers'][] = 'Content-Type: text/plain; charset=' . LANG_CHARSET;
-
+
if (LANG_CHARSET == 'UTF-8') {
if (function_exists('imap_8bit')) {
$maildata['headers'][] = 'Content-Transfer-Encoding: quoted-printable';