diff options
author | alecpl <alec@alec.pl> | 2010-09-25 13:47:51 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2010-09-25 13:47:51 +0000 |
commit | 0911facde954d60ca3124e03b85b3b9b47c3c6b0 (patch) | |
tree | 3a2d5ccfc870a037e3c84163e90c85dc538a677c /program/include | |
parent | 2753a4cab5642f821b1b0a88a50b5a568aa6ec11 (diff) |
- Truncate message subject when setting page title
Diffstat (limited to 'program/include')
-rw-r--r-- | program/include/rcube_shared.inc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc index 845230d6c..429969eb7 100644 --- a/program/include/rcube_shared.inc +++ b/program/include/rcube_shared.inc @@ -407,20 +407,24 @@ function get_offset_time($offset_str, $factor=1) /** - * Replace the middle part of a string with ... - * if it is longer than the allowed length + * Truncate string if it is longer than the allowed length + * Replace the middle or the ending part of a string with a placeholder * * @param string Input string * @param int Max. length * @param string Replace removed chars with this + * @param bool Set to True if string should be truncated from the end * @return string Abbreviated string */ -function abbreviate_string($str, $maxlength, $place_holder='...') +function abbreviate_string($str, $maxlength, $place_holder='...', $ending=false) { $length = mb_strlen($str); if ($length > $maxlength) { + if ($ending) + return mb_substr($str, 0, $maxlength) . $place_holder; + $place_holder_length = mb_strlen($place_holder); $first_part_length = floor(($maxlength - $place_holder_length)/2); $second_starting_location = $length - $maxlength + $first_part_length + $place_holder_length; |