Перейти к контенту

Как сделать ссылки на темы форума читабельными


Рекомендуемые сообщения

а ну да.. я опять забыл что в стандартном IPB эта идиотская система, когда html в БД. Сорри.
Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 202
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Многоуважаемый winnie, а не смог бы ты зделать парсинг файлов с ftp и http?

Т.е. например есть файл на http://files.ru/file.rar и ftp://files.ru/file.rar ,чтобы он парсил их и выводил как file.rar или даже можно зделать по желанию чтобы он выводил ftp: file.rar или http: file.rar

 

Простите если это оффтоп, но я посчитал нужным написать это сюда.

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

После установки мода все ссылки на смайлы/другие сайты и т.д. заменяются h++t://<урл к картинке/другому сайту>

Т.е. вместо http пишет h++t.

 

Форум IPB 1.3.1

Ссылка на комментарий
Поделиться на других сайтах

Maz какого имено мода? для 1.3.1 нужно ставить по описанию из Как сделать ссылки на темы форума читабельными
Ссылка на комментарий
Поделиться на других сайтах

Вот как там написано, так и сделал. Теперь везде, где встречается http скрипт заменяет его на h++t

До установки Как сделать ссылки на темы форума читабельными все было гуд. :D

Ссылка на комментарий
Поделиться на других сайтах

такого быть не должно, модификация http не меняет никак. попробуйте вернуть все к исходному виду и еще раз попробовать поставить, если ничего не получится в приват обратитесь.
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
;) Так что вы с 2.0 решили? :) Я переитал весь топик и так ы не понял пришли ли вы к окончательному варинтанту даного моджа к версии 2.0? :D:)
Ссылка на комментарий
Поделиться на других сайтах

DJ_KISSLOTNIY пришли - см. мою подпись :D
Ссылка на комментарий
Поделиться на других сайтах

Iris

см. мою подпись
аминь :D

Так где ж его раздобыть, рабочий-то вариант? ;):)

 

Удален оффтопик

Изменено пользователем Iris
Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...
А у меня вообще в адресной строке всё также: http://localhost/pclub/forum/index.php?showtopic=5, хотя сделал всё, что сделал winnie... :D
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
Ну что все уснули а?
Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...

GiV

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

Ссылка на комментарий
Поделиться на других сайтах

GiV

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

               $DB->query("SELECT title FROM ibf_topics WHERE tid=".intval($find[1])); 
              if($DB->get_num_rows()) 
              { 
                $record=$DB->fetch_row(); 
                
                if (preg_match("~p=(\d+)~",$show,$find))
                {
                 $record['title'] = $record['title']." (post #{$find[1]})";
                }
                
                $show = $record['title']; 
              }

Заменить на:

               [b]$qh[/b] = $DB->query("SELECT title FROM ibf_topics WHERE tid=".intval($find[1])); 
              if($DB->get_num_rows([b]$qh[/b])) 
              { 
                $record=$DB->fetch_row([b]$qh[/b]); 
                
                if (preg_match("~p=(\d+)~",$show,$find))
                {
                 $record['title'] = $record['title']." (post #{$find[1]})";
                }
                
                $show = $record['title']; 
              }

Ссылка на комментарий
Поделиться на других сайтах

чтобы не править адрес форума предлагаю еще вот так изменить первые строки:

 

 $my_forum_url = str_replace("http://", "", $ibforums->vars[board_url]);
$my_forum_url = str_replace("www", "", $my_forum_url);
if (stristr($show, $my_forum_url))
...

[1116069497:1116069562]Любопытно, что если название темы содержит двоеточкие и скобку (текстовый смайлик), то он преобразуется в картинку... не знаю... насколько это корректно?

Ссылка на комментарий
Поделиться на других сайтах

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

 

Как приведено было выше - не исправилось, но исправилось когда еще добавил переменную для запросов к БД так (файл sources/misc/warn.php):

 

[b]$row=[/b]$DB->query("SELECT l.*,  p.id as punisher_id, p.name as punisher_name
                                            FROM ibf_warn_logs l
                                             LEFT JOIN ibf_members p ON ( p.id=l.wlog_addedby )
                                           WHERE l.wlog_mid={$this->warn_member['id']} ORDER BY l.wlog_date DESC LIMIT $start, $perpage");

                       while ( $r = $DB->fetch_row([b]$row[/b]) )
                       {

 

Это все в версии 1.2.

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
Как я понял, с конвертором php2html мод работать не будет, да?

нет не работает. Там и ссылки иные, хотя написать обработчик можно.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

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

так как это пофиксить? способы выше не помогают. Форум 2.0.4

Ссылка на комментарий
Поделиться на других сайтах

Выложите плз версию для 2.0.x

 

Под 2.х практически все идентично :D (я от себя еще добавил определение "поиска" и "поиска в форуме")

 

Файл /sources/lib/post_parser.php

Ищем:

function regex_build_url($url=array()) {

и добавляем после

   global $ibforums, $DB;

Ниже будут строки:

 // Make sure it's a "proper" url

if (!preg_match( "/^(http|ftp|https|news):\/\//i", $url['show'] )) $skip_it = 1;

$show     = $url['show'];

Добавляем после них:

  if (stristr($show, $ibforums->vars['board_url'])){
	 if (preg_match("/showtopic=(\d+)/is",$show,$find) || preg_match("/&t=(\d+)/is",$show,$find)){
   $DB->query("SELECT title FROM ibf_topics WHERE tid=".intval($find[1]));
   if($DB->get_num_rows()){
  	 if ( $record=$DB->fetch_row()){
     if (preg_match("~p=(\d+)~",$show,$find) || preg_match("~#entry(\d+)~",$show,$find)) $record['title'] .= " (сообщение #{$find[1]})";
     $show = $record['title'];
  	 }
   }
	 }elseif (preg_match("/showforum=(\d+)/is",$show,$find) || preg_match("/&f=(\d+)/is",$show,$find)){
   $DB->query("SELECT name FROM ibf_forums WHERE id=".intval($find[1]));
   if($DB->get_num_rows()){
  	 if ($record=$DB->fetch_row()){
     $show = (preg_match("/act=Search/is",$show))?"Поиск в ":"";
     $show .= $record['name'];
  	 }
   }
	 }elseif (preg_match("/act=Search/is",$show)) $show = "Поиск";
	 
 }else

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.