| | |
| | | +-----------------------------------------------------------------------+ |
| | | | rcube_shared.inc | |
| | | | | |
| | | | This file is part of the RoundCube PHP suite | |
| | | | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | |
| | | | This file is part of the Roundcube PHP suite | |
| | | | Copyright (C) 2005-2007, Roundcube Dev. - Switzerland | |
| | | | Licensed under the GNU GPL | |
| | | | | |
| | | | CONTENTS: | |
| | |
| | | |
| | | |
| | | /** |
| | | * RoundCube shared functions |
| | | * Roundcube shared functions |
| | | * |
| | | * @package Core |
| | | */ |
| | |
| | | |
| | | |
| | | /** |
| | | * 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; |
| | |
| | | if (!empty($array)) |
| | | foreach ($array as $key => $child) { |
| | | $keys[] = $key; |
| | | if ($children = array_keys_recursive($child)) |
| | | $keys = array_merge($keys, $children); |
| | | foreach (array_keys_recursive($child) as $val) |
| | | $keys[] = $val; |
| | | } |
| | | return $keys; |
| | | } |