Commit b442fad0 authored by Dries's avatar Dries

- Patch #13263 and #13265 by arnab: added word-based truncation and made the...

- Patch #13263 and #13265 by arnab: added word-based truncation and made the comment module use it to extract subjects.
parent 5f29fc9d
......@@ -1722,14 +1722,19 @@ function drupal_xml_parser_create(&$data) {
* The string to truncate.
* @param $len
* An upper limit on the returned string length.
* @param $wordsafe
* Flag to truncate at nearest word boundary. Defaults to FALSE.
* @return
* The truncated string.
*/
function truncate_utf8($string, $len) {
function truncate_utf8($string, $len, $wordsafe = FALSE) {
$slen = strlen($string);
if ($slen <= $len) {
return $string;
}
if ($wordsafe) {
while (($string[--$len] != ' ') && ($len > 0)) {};
}
if ((ord($string[$len]) < 0x80) || (ord($string[$len]) >= 0xC0)) {
return substr($string, 0, $len);
}
......
......@@ -494,7 +494,7 @@ function comment_post($edit) {
$edit['subject'] = strip_tags($edit['subject']);
if ($edit['subject'] == '') {
$edit['subject'] = truncate_utf8(strip_tags($edit['comment']), 29);
$edit['subject'] = truncate_utf8(strip_tags($edit['comment']), 29, TRUE);
}
if (!form_get_errors()) {
......
......@@ -494,7 +494,7 @@ function comment_post($edit) {
$edit['subject'] = strip_tags($edit['subject']);
if ($edit['subject'] == '') {
$edit['subject'] = truncate_utf8(strip_tags($edit['comment']), 29);
$edit['subject'] = truncate_utf8(strip_tags($edit['comment']), 29, TRUE);
}
if (!form_get_errors()) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment