MDL-23335 mod_forum: allow multi-lang filtering of shortened messages
This commit is contained in:
+5
-45
@@ -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'));
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user