/** * Format a long message to be shortened if it exceeds the allowed length on a page * * @param string $message Post message * @param string $board Board directory * @param integer $threadid Thread ID * @param boolean $page Is rendering for a page * @return string The formatted message */ public function formatLongMessage($message, $board, $threadid, $page) { $output = ''; if ((strlen($message) > kxEnv::Get('kx:limits:linelength') || count(explode('<br />', $message)) > 15) && $page) { $message_exploded = explode('<br />', $message); $message_shortened = ''; for ($i = 0; $i <= 14; $i++) { if (isset($message_exploded[$i])) { $message_shortened .= $message_exploded[$i] . '<br />'; } } if (strlen($message_shortened) > kxEnv::Get('kx:limits:linelength')) { $message_shortened = substr($message_shortened, 0, kxEnv::Get('kx:limits:linelength')); } $message_shortened = closeOpenTags($message_shortened); if (strrpos($message_shortened, "<") > strrpos($message_shortened, ">")) { //We have a partially opened tag we need to get rid of. $message_shortened = substr($message_shortened, 0, strrpos($message_shortened, "<")); } $output = $message_shortened . '<div class="abbrev">' . "\n" . ' ' . sprintf(_gettext('Message too long. Click %shere%s to view the full text.'), '<a href="' . kxEnv::Get('kx:paths:boards:folder') . $board . '/res/' . $threadid . '.html">', '</a>') . "\n" . '</div>' . "\n"; } else { $output .= $message . "\n"; } return $output; }
/** * Format a long message to be shortened if it exceeds the allowed length on a page * * @param string $message Post message * @param string $board Board directory * @param integer $threadid Thread ID * @param boolean $page Is rendering for a page * @return string The formatted message */ function formatLongMessage($message, $board, $threadid, $page) { $output = ''; if ((strlen($message) > KU_LINELENGTH || count(explode('<br />', $message)) > 15) && $page) { $message_exploded = explode('<br />', $message); $message_shortened = ''; for ($i = 0; $i <= 14; $i++) { if (isset($message_exploded[$i])) { $message_shortened .= $message_exploded[$i] . '<br />'; } } if (strlen($message_shortened) > KU_LINELENGTH) { $message_shortened = substr($message_shortened, 0, KU_LINELENGTH); } $message_shortened = closeOpenTags($message_shortened); if (strrpos($message_shortened, "<") > strrpos($message_shortened, ">")) { //We have a partially opened tag we need to get rid of. $message_shortened = substr($message_shortened, 0, strrpos($message_shortened, "<")); } $output = $message_shortened . '<div class="abbrev">' . "\n" . ' ' . sprintf(_gettext('Пост чересчур длинный. Нажмите %sсюда%s для просмотра его полностью.'), '<a href="' . KU_BOARDSFOLDER . $board . '/res/' . $threadid . '.html">', '</a>') . "\n" . '</div>' . "\n"; } else { $output .= $message . "\n"; } return $output; }