$fragments = explode('_', $string);
foreach ($fragments as & $fragment) {
$fragment = ucfirst($fragment);
+ // Special case: UFGroup, UFJoin, UFMatch, UFField (if passed in without underscores)
+ if (strpos($fragment, 'Uf') === 0 && strlen($string) > 2) {
+ $fragment = 'UF' . ucfirst(substr($fragment, 2));
+ }
}
- // Special case: UFGroup, UFJoin, UFMatch, UFField
+ // Special case: UFGroup, UFJoin, UFMatch, UFField (if passed in underscore-separated)
if ($fragments[0] === 'Uf') {
$fragments[0] = 'UF';
}
if (!$_filter) {
$config = HTMLPurifier_Config::createDefault();
$config->set('Core.Encoding', 'UTF-8');
+ $config->set('Attr.AllowedFrameTargets', ['_blank', '_self', '_parent', '_top']);
// Disable the cache entirely
$config->set('Cache.DefinitionImpl', NULL);
* @return string
*/
public static function ellipsify($string, $maxLen) {
- $len = mb_strlen($string, 'UTF-8');
- if ($len <= $maxLen) {
+ if (mb_strlen($string, 'UTF-8') <= $maxLen) {
return $string;
}
- else {
- $end = $maxLen - 3;
- while (mb_strlen($string, 'UTF-8') > $maxLen - 3) {
- $string = mb_substr($string, 0, $end, 'UTF-8');
- $end = $end - 1;
- }
- return $string . '...';
- }
+ return mb_substr($string, 0, $maxLen - 3, 'UTF-8') . '...';
}
/**