<?php
if(isset($type)) $src = $type;
if(!isset($src)) $src = 'createdon';
if(!isset($format)) $format = $modx->toDateFormat(null, 'formatOnly') . ' %H:%M:%S';
if(!isset($shift)) $shift = 0;
$a = array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
$A = array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
switch($src)
{
case 'createdon' :
case 'publishedon':
case 'editedon' :
case 'pub_date' :
case 'unpub_date' :
case 'deletedon' :
$timestamp = $modx->documentObject[$src];
break;
default:
$timestamp = $modx->documentObject[$src][1];
$timestamp = strtotime($timestamp);
}
$peaces = preg_split('@(%[\-#]?[a-zA-Z%])@',$format,-1,2);
$timestamp = $timestamp + $shift + $modx->config['server_offset_time'];
$w = strftime('%w', $timestamp);
$result = '';
foreach($peaces as $v)
{
if ($v == '%a') $result .= $a[$w];
elseif($v == '%A') $result .= $A[$w];
elseif(strpos($v, '%')!==false) $result .= strftime($v, $timestamp);
else $result .= $v;
}
return $result;
?>
Locale free
and
Encode garble free
$a = array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
$A = array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
Need ajust, each country.