mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
c3a2c11c8e
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@6102 21ef857c-d57f-4fe0-8362-d861dc6d29cd
99 lines
3.0 KiB
PHP
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);
|
|
}
|
|
?>
|