Название темы вместо ссылки на нее

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!

Название темы вместо ссылки на нее

Сообщение DOMINATOR 05.05.2008 20:58

Собственно нужен мод который бы заменял ссылку на тему ее названием.
Пример: есть тема форума http://forum ru/viewtopic.php?t=55 называется она "Все обо всем". Если пользователь пишет сообщение с текстом "Посмотрите сюда: http://forum ru/viewtopic.php?t=55" То после написания сообщения текст сообщения становится такого плана: "Посмотрите сюда: Все обо всем", ест-но Все обо всем ведет на http://forum ru/viewtopic.php?t=55
Желательно чтобы мод работал как с ссылками в ббкоде URL, так и без него.

Если кто-то видел что-то подобное (хотябы для двойки) прошу показать. Также могу попробывать сам покопаться (хотя врятли ума хватит), поэтому не откажусь от информации где примерно копать.

PS: все что выдал поиск это http://phpbbguru.net/community/viewtopic.php?t=8020
Важное дополнение к FAQ по установке модов:
Моды ночью/на пьяную голову/с похмелья не ставь, движок сломаешь! Все равно с утра переделывать прийдется...
;)
Аватара пользователя
DOMINATOR
phpBB 2.0.4
 
Сообщения: 220
Зарегистрирован: 18.09.2007 23:07
Откуда: Новосибирск


Re: Название темы вместо ссылки на нее

Сообщение IRON 21.05.2008 21:21

Очень несложный (насколько я представляю) и полезный мод! Видел его работу на ипбшке, прекраснейшая вещь!
Очень прошу профессионалов попробовать реализовать.
IRON
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 22.02.2008 15:32

Re: Название темы вместо ссылки на нее

Сообщение FladeX 28.05.2008 9:10

IRON
Дополнительный запрос появляется только в момент отправки сообщения, насколько я понимаю?
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
Интеграция phpBB 3.0.0 и Slaed 2.5 lite
Сверстал стилей для phpBB: 5
Аватара пользователя
FladeX
phpBB 2.0.18
 
Сообщения: 1162
Зарегистрирован: 02.06.2007 23:44
Откуда: Саранск

Re: Название темы вместо ссылки на нее

Сообщение IRON 28.05.2008 11:44

Если я правильно понял ваш вопрос, то да. Делать запрос каждый раз при обращении к сообщению, содержащему ссылку на тему из форума-непозволительная и бесполезная роскошь.
IRON
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 22.02.2008 15:32

Re: Название темы вместо ссылки на нее

Сообщение VladPowers 20.06.2008 12:45

DOMINATOR
Не умею оформлять моды, так что смотрите здесь :)

Открыть файл ./includes/functions_content.php

Найти:
Код: Выделить всё
/**
* A subroutine of make_clickable used with preg_replace
* It places correct HTML around an url, shortens the displayed text
* and makes sure no entities are inside URLs
*/


Вставить до нее:
Код: Выделить всё
/***
* Function find &t and get number topic
*/
function search_topic_title($url)
{
   global $db;
   global $user;
   $t_title = '';
   $url = str_replace('&t=', '_#_t', $url);
   $url = str_replace('&p=', '_#_p', $url);
   $url = str_replace('t=', '&t=', $url);
   $url = str_replace('p=', '&p=', $url);
   $url = str_replace('_#_t', '&t=', $url);
   $url = str_replace('_#_p', '&p=', $url);
   $t = '';
   $p = '';
        $sym = chr(39);
   $sql = '';
   parse_str($url);

   if ($t !== '')
   {
      preg_match('/(?:[0-9]+)?/', $t, $t);
      $sql = 'SELECT t.topic_title as topic_title, ' . $sym . $sym .' as username  FROM ' . TOPICS_TABLE . ' as t WHERE (t.topic_id='.$t[0].')';
   }
         else
      if ($p !== '')
      {
         preg_match('/(?:[0-9]+)?/', $p, $p);
         $sql = 'SELECT t.topic_title as topic_title, u.username as username FROM ' . POSTS_TABLE . ' as p LEFT JOIN ' . TOPICS_TABLE . ' as t ON p.topic_id = t.topic_id LEFT JOIN ' . USERS_TABLE . ' as u ON p.poster_id = u.user_id where (`post_id`='.$p[0].')';
      };                                                                                                                                                                                     

         if ($sql !== '')
         {
      $result = $db->sql_query($sql);
      while ($row = $db->sql_fetchrow($result))
      {
         if ($row['username'] == '')
            $t_title = $user->lang['TOPIC'] . ': ' . $row['topic_title'];
         else
            $t_title = $user->lang['TOPIC'] . ': ' . $row['topic_title'] . ', ' . $user->lang['MESSAGE'] . ' #' . $p[0] . ', ' . $user->lang['AUTHOR'] . ': ' . $row['username'];
      };
         };

   return $t_title;
}


Найти:
Код: Выделить всё
            $text         = $relative_url;


Заменить на:
Код: Выделить всё
         //here replace our theme
         $text = search_topic_title($relative_url);
         if ($text == '')
            $text         = $relative_url;


Пример работы можно посмотреть здесь http://www.forum.kia-club.ru/viewtopic.php?f=1&t=26324
И точка лазерного прицела на твоём лбу - тоже чья-то точка зрения
C уважением, ВладМощный :)

Правда то, что существуют ангелы, но иногда у них отсутствуют крылья, и мы называем их друзьями.
VladPowers
phpBB 1.4.1
 
Сообщения: 41
Зарегистрирован: 03.03.2005 22:46

Re: Название темы вместо ссылки на нее

Сообщение FladeX 09.07.2008 20:08

MOD title: Convert URL Links With Page Title
MOD description: Links posted are automatically renamed to what the target Page Title it's defined. Users can disable it when posting and admin can turn it of via ACP.
MOD version: 0.6.0
phpBB version: 3.0.1

Development stage: BETA

phpBB.com
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
Интеграция phpBB 3.0.0 и Slaed 2.5 lite
Сверстал стилей для phpBB: 5
Аватара пользователя
FladeX
phpBB 2.0.18
 
Сообщения: 1162
Зарегистрирован: 02.06.2007 23:44
Откуда: Саранск

Re: Название темы вместо ссылки на нее

Сообщение Romaaa 10.07.2008 12:11

VladPowers писал(а):Не умею оформлять моды, так что смотрите здесь

спасибо, красивое решение :) один небольшой недочет заметил кода... когда ссылку из поиска даешь, то по ней скрипт не может вытянуть название темы. пример:
_http://localhost/forum/viewtopic.php?f=2&t=5&p=12&hilit=678678678#p12

FladeX писал(а):MOD title: Convert URL Links With Page Title

тестировал этот мод, пока что еще сыроват и не очень дружит с кодировками.. т.е. если на сайте что-то нестандартное, то при отправке сообщения вылетает ошибка мускула
Аватара пользователя
Romaaa
phpBB 1.2.0
 
Сообщения: 14
Зарегистрирован: 19.10.2007 11:32
Откуда: dp.ua

Re: Название темы вместо ссылки на нее

Сообщение VladPowers 17.07.2008 21:33

Romaaa
Точно :) Надо подумать :) Спасибо за бета-тестирование :)
И точка лазерного прицела на твоём лбу - тоже чья-то точка зрения
C уважением, ВладМощный :)

Правда то, что существуют ангелы, но иногда у них отсутствуют крылья, и мы называем их друзьями.
VladPowers
phpBB 1.4.1
 
Сообщения: 41
Зарегистрирован: 03.03.2005 22:46


Вернуться в Запросы модов для phpBB 3.0.x

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0