Esempio n. 1
0
 /**
  * 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;
 }
Esempio n. 2
0
/**
 * 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;
}