1

Topic: Мод - Описание топиков

Описание тем форума Punbb путем модификации файла viewforum.php. Описание топиков выводится под названием темы с определенным количеством слов в диапазоне до 200 символов.
Найти

    if ($forum_config['o_censoring'] == '1')
      $cur_topic['subject'] = censor_words($cur_topic['subject']);

Добавить после

//Description topics

    $query2 = array(
    'SELECT'  => '*',
    'FROM'    => 'posts',
    'WHERE'    => 'topic_id = '.$cur_topic['id'].'',
  );

  $result2 = $forum_db->query_build($query2) or error(__FILE__, __LINE__);
  $cur_posts = $forum_db->fetch_assoc($result2);
  
    //strip message
        $anonce = $cur_posts['message'];
        $anonce = strip_tags($anonce);
        $anonce = substr($anonce, 0, 160);
        $anonce = rtrim($anonce, "!,.-");   #удаляет символы в конце строки
        $anonce = substr($anonce, 0, strrpos($anonce, ' '));
        $anonce = (preg_replace('/[(hide|b|i|u||quote|code|img|url|email|list|color|video|spoiler|h|)]/', '', $anonce));
        $anonce = str_replace("[]", "", $anonce);
        $anonce = str_replace("[/]", "", $anonce);

Найти

$forum_page['item_subject']['starter'] = '<span class="item-starter">'.sprintf($lang_forum['Topic starter'], forum_htmlencode($cur_topic['poster'])).'</span>';

Заменить на

    //Generation description
        $forum_page['item_subject']['starter'] = '<span class="item-starter">'.sprintf($lang_forum['Topic starter'], forum_htmlencode($anonce)).'</span>';

Будьте внимательны! В таком случае описание будет вместо автора темы (первые 160 символов)
НЕДОСТАТКИ: Не всегда выводит первое сообщение

Если вам долго не отвечают, пишите автору темы в личку или на Email.

2

Re: Мод - Описание топиков

    //strip message
        $anonce = $cur_posts['message'];
        $anonce = strip_tags($anonce);
        $anonce = substr($anonce, 0, 160);
        $anonce = rtrim($anonce, "!,.-");   #удаляет символы в конце строки
        $anonce = substr($anonce, 0, strrpos($anonce, ' '));
        $anonce = (preg_replace('/[(hide|b|i|u||quote|code|img|url|email|list|color|video|spoiler|h|)]/', '', $anonce));
        $anonce = str_replace("[]", "", $anonce);
        $anonce = str_replace("[/]", "", $anonce);

не сликом сложная конструкция? разве нельзя через функцию parse_message() ?