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

Правила из поста форума


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

Может быть кому-то будет интересен такой мод. Я очень серьезно отношусь к правилам и стремлюсь к тому, чтобы их можно было централизованно контролировать. При регистрации пользователя, в первую очередь выводится экран с правилами, текст которых в 2.0.0 редактируется в админке

 

System Settings // All General Settings // Board Guidelines // Registration Terms & Rules

 

По умолчанию там вбит большой кусок текста с правила с Html форматированием. Однако, воспользовавшись средставами форума можно создать правила в отдельном посте (в отдельной теме, в отдельном форуме например). При этом их можно очень удобно форматировать и редактировать, не заходя в админку, можно даже вставлять смайлы и любые коды форума.

 

Создаем такой пост и запоминаем его номер. Номер записываем вместо правил в админке (туда, где написано выше).

 

Теперь открываем /sources/register.php

 

Найти:

$this->output .= $this->html->show_terms( $std->my_nl2br($text), $coppa );

Заменить на:

// MOD Board Rules from post number
$DB->query("SELECT pid, post FROM ibf_posts WHERE pid=".$std->my_nl2br($text));
$row=$DB->fetch_row();
$getrules=$row['post'];
$this->output .= $this->html->show_terms( $getrules, $coppa );
// source string:
// $this->output .= $this->html->show_terms( $std->my_nl2br($text), $coppa );

 

Теперь при регистрации будет отображаться не номер, а содержимое поста с этим номером.

 

Быть может есть какие-то исправления, добавления, замечания...

Я подумала, это может быть полезно.

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

Anna

$DB->query("SELECT pid, post FROM ibf_posts WHERE pid=".$std->my_nl2br($text));

Честно не понял суть этой операции. Тебе нужно в качестве pid целое число - а ты пытаешься в $text все переносы строки (CR/LF) заменить на тэги <br />. ;)

Насколько я понимаю, должно быть так:

// MOD Board Rules from post number
$DB->query("SELECT pid, post FROM ibf_posts WHERE pid=".intval($text));
$row=$DB->fetch_row();
// $getrules=$row['post']; - лишняя операция
$this->output .= $this->html->show_terms( $std->my_nl2br($row['post']), $coppa );
// source string:
// $this->output .= $this->html->show_terms( $std->my_nl2br($text), $coppa );

Кроме того, вчера я тоже сидел весь вечер над правилами, до того они меня задолбали, что обработку их при помощи nl2br я у себя вообще убрал. Она только мешает, блин! Бегаешь потом по тексту и ищешь, где там лишний перевод строки затерялся - потому что они преобразовываются в <br /> некстати и портят весь вид странички.

Хотя для данной модификации это не столь актуально. :D

 

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

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

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

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

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

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

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

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

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

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

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

Зарузка...
×
×
  • Создать...

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

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