TeamPass 2.1.21 でフォルダの日本語が文字化けする問題

Teampass 2.1.20になってから、長いフォルダ名は、
ツリー上では省略して表示されるようになった。

  • items.php 217:222
// resize title if necessary
if (strlen($folder->title) > 20) {
	$fldTitle = substr(str_replace("&", "&", $folder->title), 0, 17)."...";
} else {
	$fldTitle = str_replace("&", "&", $folder->title);
}


この処理が原因で、日本語が中途半端なところで途切れて、文字化けしてしまう。
なので、mb_strlenとmb_substrを使って解決。

// resize title if necessary
if (mb_strlen($folder->title) > 15) {
	$fldTitle = mb_substr(str_replace("&", "&", $folder->title), 0, 12)."...";
} else {
	$fldTitle = str_replace("&", "&", $folder->title);
}