Skip to content

Commit

Permalink
MDL-23335 mod_forum: allow multi-lang filtering of shortened messages
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael de Raadt committed Sep 3, 2013
1 parent dd99fdd commit 00a3eed
Showing 1 changed file with 5 additions and 45 deletions.
50 changes: 5 additions & 45 deletions mod/forum/lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -3471,9 +3471,10 @@ function forum_print_post($post, $discussion, $forum, &$cm, $course, $ownpost=fa
$options->trusted = $post->messagetrust;
$options->context = $modcontext;
if ($shortenpost) {
// Prepare shortened version
// Prepare shortened version by filtering the text then shortening it.
$postclass = 'shortenedpost';
$postcontent = format_text(forum_shorten_post($post->message), $post->messageformat, $options, $course->id);
$postcontent = format_text($post->message, $post->messageformat, $options);
$postcontent = forum_shorten_post($postcontent);
$postcontent .= html_writer::link($discussionlink, get_string('readtherest', 'forum'));
$postcontent .= html_writer::tag('div', '('.get_string('numwords', 'moodle', count_words($post->message)).')',
array('class'=>'post-word-count'));
Expand Down Expand Up @@ -3817,50 +3818,9 @@ function forum_print_discussion_header(&$post, $forum, $group=-1, $datestring=""
* @return string
*/
function forum_shorten_post($message) {
global $CFG;

global $CFG;

$i = 0;
$tag = false;
$length = strlen($message);
$count = 0;
$stopzone = false;
$truncate = 0;

for ($i=0; $i<$length; $i++) {
$char = $message[$i];

switch ($char) {
case "<":
$tag = true;
break;
case ">":
$tag = false;
break;
default:
if (!$tag) {
if ($stopzone) {
if ($char == ".") {
$truncate = $i+1;
break 2;
}
}
$count++;
}
break;
}
if (!$stopzone) {
if ($count > $CFG->forum_shortpost) {
$stopzone = true;
}
}
}

if (!$truncate) {
$truncate = $i;
}

return substr($message, 0, $truncate);
return shorten_text($message, $CFG->forum_shortpost);
}

/**
Expand Down

0 comments on commit 00a3eed

Please sign in to comment.