Files
dmex c3a2c11c8e Websitev3: sync website with SVN
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@6102 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2015-06-18 13:32:25 +00:00

99 lines
3.0 KiB
PHP

<?php
// This function summarizes posts to max. 1200 characters
function summary($str, $limit = 1200, $strip = false)
{
$str = ($strip == true) ? strip_tags($str) : $str;
if (strlen($str) > $limit)
{
$str = substr($str, 0, $limit - 3);
return trim(substr($str, 0, strrpos($str, ' ')).'...');
}
return trim($str);
}
// function for converting time into time elapsed
function get_time_ago($time_stamp)
{
$time_difference = strtotime('now') - $time_stamp;
if ($time_difference >= 60 * 60 * 24 * 365.242199)
{
/*
* 60 seconds/minute * 60 minutes/hour * 24 hours/day * 365.242199 days/year
* This means that the time difference is 1 year or more
*/
return get_time_ago_string($time_stamp, 60 * 60 * 24 * 365.242199, 'year');
}
elseif ($time_difference >= 60 * 60 * 24 * 30.4368499)
{
/*
* 60 seconds/minute * 60 minutes/hour * 24 hours/day * 30.4368499 days/month
* This means that the time difference is 1 month or more
*/
return get_time_ago_string($time_stamp, 60 * 60 * 24 * 30.4368499, 'month');
}
elseif ($time_difference >= 60 * 60 * 24 * 7)
{
/*
* 60 seconds/minute * 60 minutes/hour * 24 hours/day * 7 days/week
* This means that the time difference is 1 week or more
*/
return get_time_ago_string($time_stamp, 60 * 60 * 24 * 7, 'week');
}
elseif ($time_difference >= 60 * 60 * 24)
{
/*
* 60 seconds/minute * 60 minutes/hour * 24 hours/day
* This means that the time difference is 1 day or more
*/
return get_time_ago_string($time_stamp, 60 * 60 * 24, 'day');
}
elseif ($time_difference >= 60 * 60)
{
/*
* 60 seconds/minute * 60 minutes/hour
* This means that the time difference is 1 hour or more
*/
return get_time_ago_string($time_stamp, 60 * 60, 'hour');
}
else
{
/*
* 60 seconds/minute
* This means that the time difference is a matter of minutes
*/
return get_time_ago_string($time_stamp, 60, 'minute');
}
}
function get_time_ago_string($time_stamp, $divisor, $time_unit)
{
$time_difference = strtotime("now") - $time_stamp;
$time_units = floor($time_difference / $divisor);
settype($time_units, 'string');
if ($time_units === '0') {
return 'less than 1 ' . $time_unit . ' ago';
} elseif ($time_units === '1') {
return '1 ' . $time_unit . ' ago';
} else {
/*
* More than "1" $time_unit. This is the "plural" message.
*/
// TODO: This pluralizes the time unit, which is done by adding "s" at the end; this will not work for i18n!
return $time_units . ' ' . $time_unit . 's ago';
}
}
/**
* Remove multiple spaces from the buffer.
*
* @var string $buffer
* @return string
*/
function removeWhitespace($buffer)
{
return preg_replace('/\s+/', ' ', $buffer);
}
?>