Новогодний Smarty-модификатор
На сайтах принято указывать год создания. Для того, чтобы утром 1-го января не исправять шаблоны, был написан Smarty-модификатор для форматирования года копирайта следующим образом:
- Если год создания сайта совпадает с текущим, то отображается только год, например «2007»
- Если год создания сайта отличается на единицу от текущего, то выводится что-то наподобие «2007, 2008»
- Если сайт создавался больше года назад, то получится такая строка: «2007—2009»
На всякий случай форматы строк можно переопределить.
/**
* Smarty copyright function
*
* @package CPF
* @subpackage SmartyPlugins
*/
/**
* Return copyright year range
*
* @param mixed $release_year Year of release
* @param string $format_1year Format for 1 year, default is: "<release_year>, <current_year>"
* @param string $format Format for more than 1 year, default is "<release_year>—<current_year>"
* @return string Formatted copyright string
*/
function smarty_modifier_copyright($release_year, $format_1year='%s, %s', $format='%s—%s')
{
$current_year = intval(date("Y"));
$release_year = intval($release_year);
if ($current_year < $release_year)
{
return;
}
if ($release_year == $current_year)
{
return $release_year;
}
if (($current_year - $release_year) == 1)
{
return sprintf($format_1year, $release_year, $current_year);
}
if ($current_year > $release_year)
{
return sprintf($format, $release_year, $current_year);
}
}
P.S. Поддержки часовых поясов нет, сорри :)
