Файл: source/library/Savant3/Savant3/resources/Savant3_Plugin_date.php
Строк: 88
<?php
/**
*
* Plugin to generate a formatted date using strftime() conventions.
*
* @package Savant3
*
* @author Paul M. Jones <pmjones@ciaweb.net>
*
* @license http://www.gnu.org/copyleft/lesser.html LGPL
*
* @version $Id: Savant3_Plugin_date.php,v 1.3 2005/03/07 14:40:16 pmjones Exp $
*
*/
/**
*
* Plugin to generate a formatted date using strftime() conventions.
*
* @package Savant3
*
* @author Paul M. Jones <pmjones@ciaweb.net>
*
*/
class Savant3_Plugin_date extends Savant3_Plugin {
/**
*
* The default strftime() format string.
*
* @access public
*
* @var array
*
*/
public $default = '%c';
/**
*
* Custom strftime() format strings to use for dates.
*
* You can preset the format strings via Savant3::setPluginConf().
*
* <code>
* $conf = array(
* 'custom' => array(
* 'mydate' => '%Y-%m-%d',
* 'mytime' => '%R'
* )
* );
*
* $Savant->setPluginConf('date', $conf);
* </code>
*
* ... and in your template, to use a preset custom string by name:
*
* <code>
* echo $this->date($value, 'mydate');
* </code>
*
* @access public
*
* @var array
*
*/
public $custom = array(
'date' => '%Y-%m-%d',
'time' => '%H:%M:%S'
);
/**
*
* Outputs a formatted date using strftime() conventions.
*
* @access public
*
* @param string $datestring Any date-time string suitable for
* strtotime().
*
* @param string $format The strftime() formatting string, or a named
* custom string key from $this->custom.
*
* @return string The formatted date string.
*
*/
function date($datestring, $format = null)
{
settype($format, 'string');
if (is_null($format)) {
$format = $this->default;
}
// does the format string have a % sign in it?
if (strpos($format, '%') === false) {
// no, look for a custom format string
if (! empty($this->custom[$format])) {
// found a custom format string
$format = $this->custom[$format];
} else {
// did not find the custom format, revert to default
$format = $this->default;
}
}
// convert the date string to the specified format
if (trim($datestring != '')) {
return strftime($format, strtotime($datestring));
} else {
// no datestring, return VOID
return;
}
}
}
?>