update
This commit is contained in:
56
core/plugins/Smarty/modifier.toForumDate.php
Normal file
56
core/plugins/Smarty/modifier.toForumDate.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* formatuje tak date posta, żeby zamiast konkretnej daty wyświetlało : wczoraj , przed wczoraj, x dni temu, x tygodni temu, x miesięcy temu, x lat temu
|
||||
*
|
||||
* @param $str
|
||||
* @return unknown_type
|
||||
*/
|
||||
|
||||
function smarty_modifier_toForumDate($str){
|
||||
|
||||
|
||||
$minute = 60;
|
||||
$hour = $minute * 60;
|
||||
$day = $hour * 24;
|
||||
$week = $day * 7;
|
||||
|
||||
|
||||
$now = time();
|
||||
$todayStart = $now - ($now % $day) - $hour;
|
||||
|
||||
$return = '';
|
||||
|
||||
if($str > $todayStart){
|
||||
$return = 'dzisiaj '.date('G:i', $str);
|
||||
}elseif($str > $todayStart - $day){
|
||||
$return = 'wczoraj '.date('G:i', $str);
|
||||
}elseif($str > $todayStart - $week + $day){
|
||||
$strStart = $str - $str % $day - $hour;
|
||||
$dayCount = ($todayStart - $strStart) / $day;
|
||||
$return = intval($dayCount).' dni temu '.date('G:i',$str);
|
||||
}elseif($str > $todayStart - $week*9){
|
||||
$strStart = $str - $str % $day - $hour;
|
||||
$dayCount = ($todayStart - $strStart) / $day;
|
||||
$weekCount = $dayCount / 7 + ($dayCount % 7 == 0?0:1);
|
||||
switch($weekCount){
|
||||
case 1:
|
||||
$return = 'tydzieñ temu';
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
$return = intval($weekCount).' tygodnie temu';
|
||||
default:
|
||||
$return = intval($weekCount).' tygodni temu';
|
||||
|
||||
}
|
||||
}else{
|
||||
$return = date('Y-m-s G:i',$str);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return $return;
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user