Advertisement
Guest User

formatLongMessage paranoid

a guest
Jun 23rd, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.60 KB | None | 0 0
  1. function formatLongMessage($message, $board, $threadid, $page) {
  2. $output = '';
  3. $usemb = (function_exists('mb_substr') && function_exists('mb_strlen')) ? true : false;
  4. if ($usemb){
  5. $message_exploded = mb_split('<br>', $message);
  6. if ((mb_strlen($message) > KU_LINELENGTH || count($message_exploded) > 15) && $page) {
  7. $message_shortened = '';
  8. for ($i = 0; $i <= 14; $i++) {
  9. if (isset($message_exploded[$i])) {
  10. $message_shortened .= $message_exploded[$i] . '<br>';
  11. }
  12. }
  13. if (mb_strlen($message_shortened) > KU_LINELENGTH) {
  14. $message_rest = mb_substr($message_shortened, KU_LINELENGTH);
  15. $message_shortened = mb_substr($message_shortened, 0, KU_LINELENGTH);
  16. $open_pos = mb_strpos($message_rest, '<');
  17. $close_pos = mb_strpos($message_rest, '>');
  18. if($open_pos === FALSE and $close_pos or $close_pos < $open_pos){
  19. $message_shortened .= mb_substr($message_rest, 0, $close_pos + 1);
  20. }
  21. }
  22. $message_shortened = closeOpenTags($message_shortened);
  23.  
  24. $output = $message_shortened . '<div class="abbrev">' . "\n" .
  25. ' ' . sprintf(_gettext('Message too long. Click %shere%s to view the full text.'), '<a href="' . KU_BOARDSFOLDER . $board . '/res/' . $threadid . '.html">', '</a>') . "\n" .
  26. '</div>' . "\n";
  27. } else {
  28. $output .= $message . "\n";
  29. }
  30. }
  31. else{
  32. $message_exploded = explode('<br>', $message);
  33. if ((strlen($message) > KU_LINELENGTH || count($message_exploded) > 15) && $page) {
  34. $message_shortened = '';
  35. for ($i = 0; $i <= 14; $i++) {
  36. if (isset($message_exploded[$i])) {
  37. $message_shortened .= $message_exploded[$i] . '<br>';
  38. }
  39. }
  40. if (strlen($message_shortened) > KU_LINELENGTH) {
  41. $message_rest = substr($message_shortened, KU_LINELENGTH);
  42. $message_shortened = substr($message_shortened, 0, KU_LINELENGTH);
  43. $open_pos = strpos($message_rest, '<');
  44. $close_pos = strpos($message_rest, '>');
  45. if($open_pos === FALSE and $close_pos or $close_pos < $open_pos){
  46. $message_shortened .= substr($message_rest, 0, $close_pos + 1);
  47. }
  48. }
  49. $message_shortened = closeOpenTags($message_shortened);
  50.  
  51. $output = $message_shortened . '<div class="abbrev">' . "\n" .
  52. ' ' . sprintf(_gettext('Message too long. Click %shere%s to view the full text.'), '<a href="' . KU_BOARDSFOLDER . $board . '/res/' . $threadid . '.html">', '</a>') . "\n" .
  53. '</div>' . "\n";
  54. } else {
  55. $output .= $message . "\n";
  56. }
  57. }
  58.  
  59. return $output;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement