FluxBB

Тема в разделе "Форумы", создана пользователем нарада, 23 фев 2015.

?

Нравится

  1. Да

    85,7%
  2. Нет

    14,3%
  3. Кривой

    0 голосов
    0,0%
  1. нарада

    нарада

    Регистр.:
    15 сен 2009
    Сообщения:
    469
    Симпатии:
    64
    Понравился лёгкий движок.

    Кратко:

    FluxBB is fast, light, user-friendlyforum software for your website.
    FluxBB is designed as a lighter, faster alternative to some of the traditional feature heavy forum applications. It is easy to use and has a proven track record of stability and security making it an ideal choice of forum for your website.

    UTF-8 support
    XHTML compliant
    Password hashing
    IPv6 support
    GZip output
    MySQL(i)
    MySQL(i) InnoDB
    PostgreSQL
    SQLite
    External SMTP support
    SMTP over SSL
    Language packs
    User selectable language
    CSS styles
    User selectable style
    Admin panel plugins
    Read topic tracking
    Topic subscription
    Forum subscription
    Announcements
    Post preview
    Move topics
    Merge topics
    Split topics
    Close topics
    Sticky topics
    Prune old topics
    Edit posts
    Delete posts
    BBCode
    Smilies
    Quoting
    (Dis)Allow links
    Word censoring
    RSS feed support
    Atom feed support
    New topic feed
    Forum specific feed
    Topic specific feed
    Disable registrations
    Registration notification
    Email validation
    Registration terms
    Online users list
    Avatar upload
    Signatures
    User post counts
    User ranks
    User profile
    User preferences
    User titles
    Topic search
    Author search
    Userlist search
    New posts view
    Recent posts view
    Unanswered posts view
    Subscribed posts view
    View specific users posts
    Forum categories
    Redirect forums
    User groups
    Group based permissions
    Promote users
    Moderator groups
    Group titles
    (Dis)Allow guest view
    (Dis)Allow guest posts
    Maintenance mode
    Permanent bans
    Temporary bans
    Delete users
    Ban by username
    Ban by email
    Ban by IP address
    Flood control
    User notes
    IP address logging
    (Dis)Allow used emails
    (Dis)Allow banned emails
    Report posts

    Адрес сайта разработчика: Перейти по ссылке
     
    Inov нравится это.
  2. I-Mixail

    I-Mixail Создатель

    Регистр.:
    13 янв 2014
    Сообщения:
    31
    Симпатии:
    17
    Сам с ним работаю. Вы не хотели перевести сообщение на русский язык?
     
    Последнее редактирование: 15 апр 2015
  3. нарада

    нарада

    Регистр.:
    15 сен 2009
    Сообщения:
    469
    Симпатии:
    64
    Так ведь он есть в паблике:
     
  4. I-Mixail

    I-Mixail Создатель

    Регистр.:
    13 янв 2014
    Сообщения:
    31
    Симпатии:
    17
    Я про первое сообщение. После слова "кратко". Лично я плох в английском. :)
     
  5. IvanMega

    IvanMega Постоялец

    Регистр.:
    26 янв 2015
    Сообщения:
    85
    Симпатии:
    26
    В чем отличие от phpbb 3?
     
  6. I-Mixail

    I-Mixail Создатель

    Регистр.:
    13 янв 2014
    Сообщения:
    31
    Симпатии:
    17
    Эээ.. Даже не знаю с чего начать :conf: Проще перечислить их схожие качества, так как это два совершенно разные по своей структуре движка.
     
  7. Hermes_r

    Hermes_r Постоялец

    Регистр.:
    27 июн 2009
    Сообщения:
    144
    Симпатии:
    63
    FluxBB быстрая, лёгкая и удобная в использовании платформа создания форума на вашем сайте.
    FluxBB была спроектирована как лёгкая и быстрая альтернатива большинству общеизвестных форумных решений. Легка в использовании и имеет положительную репутацию стабильности и безопасности, что делает её хорошим выбором для вашего сайта.
     
  8. linuxuser

    linuxuser Писатель

    Регистр.:
    29 ноя 2014
    Сообщения:
    2
    Симпатии:
    1
    Хак для скрытия всех внешних ссылок через редирект на Fluxbb
    (с возможностью оставить открытой любую необходимую ссылку)

    Когда хак будет настроен, все внешние ссылки с сайта, включая ссылки в бб-кодах url, в описаниях профилей и на страницах профилей, будут работать редиректом через файл go.php
    Таким образом все внешние ссылки будут иметь следующий вид:
    Код:
    http://site.ru/go.php?to=http://yandex.ru
    Затем данный файл для надежности закрывается от индексации в robots.txt с помощью такой директивы:
    Код:
    Disallow: go.php
    Чтобы иметь возможность оставлять некоторые ссылки открытыми, мы добавим на форум дополнительный бб-код [rurl]. Далее в инструкции в коде в качестве бб-кода будет использоваться rurl, но вы можете использовать любой другой (скажем [refurl231], чтобы защитить свой форум от спамеров, которые возможно набредут на инструкцию по этому хаку. Это маловероятно, но всё же.

    Инструкция для Fluxbb 1.5.10:
    1) Создаем в корне форума файл с названием go.php и таким содержанием:
    Код:
    <?php
    $to_link = $_GET["to"];
    $URL = substr_replace($URL, $to_link, 0);
    header ("Location: $URL");
    ?>
    2) Находим в файле /includes/parser.php функцию handle_url_tag, в которой нас интересует вот эта часть:

    Код:
    return '<a href="'.$full_url.'" rel="nofollow">'.$link.'</a>';
    Заменяем её на это, изменив site.ru на ваш домен:

    Код:
    return '<a href="http://site.ru/go.php?to='.$full_url.'" rel="nofollow">'.$link.'</a>';
    Теперь все ссылки в бб-коде url будут идти редиректом через go.php

    3) Чтобы иметь возможность оставлять некоторые ссылки прямыми, без редиректов и rel=nofollow, нам нужна точно такая же функция, но которая будет обрабатывать ссылки, скажем, в бб-коде [rurl] и выдавать их напрямую, без подстановки go.php.

    Для этого мы полностью копируем функцию handle_url_tag, переименовываем её в handle_rurl_tag, приводим строчку return к такому виду:
    Код:
    return '<a href="'.$full_url.'">'.$link.'</a>';
    А также находим вот этот кусок кода:
    Код:
    if ($bbcode)
    {
        if ($full_url == $link)
            return 'Перейти по ссылке';
        else
            return 'Перейти по ссылке';
    }
    И заменяем в нём все url, на rurl. Получится вот так:
    Код:
    if ($bbcode)
    {
        if ($full_url == $link)
            return '[rurl]'.$link.'[/rurl]';
        else
            return '[rurl='.$full_url.']'.$link.'[/rurl]';
    }
    Вы могли заметить, что помимо отсутствия go.php мы также убрали и rel="nofollow".
    Напоминаю, что если вы хотите получить в итоге не [rurl] бб-код для открытых ссылок, а какой-то другой, то начиная с этого момента и далее все rurl вам надо заменять на свой вариант.

    В итоге у вас должна получиться вот такая картина:
    Код:
    function handle_rurl_tag($url, $link = '', $bbcode = false)
    {
        $url = pun_trim($url);
    
        // Deal with Перейти по ссылке
        if (preg_match('%<img src=\"(.*?)\"%', $url, $matches))
            return handle_url_tag($matches[1], $url, $bbcode);
    
        $full_url = str_replace(array(' ', '\'', '`', '"'), array('%20', '', '', ''), $url);
        if (!preg_match('#^([a-z0-9]{3,6})://#', $url)) // Else if it doesn't start with abcdef://, we add http://
            $full_url = 'http://'.$full_url;
    
        // Ok, not very pretty :-)
        if ($bbcode)
        {
            if ($full_url == $link)
                return '[rurl]'.$link.'[/rurl]';
            else
                return '[rurl='.$full_url.']'.$link.'[/rurl]';
        }
        else
        {
            if ($link == '' || $link == $url)
            {
                $url = pun_htmlspecialchars_decode($url);
                $link = utf8_strlen($url) > 55 ? utf8_substr($url, 0 , 39).' … '.utf8_substr($url, -10) : $url;
                $link = pun_htmlspecialchars($link);
            }
            else
                $link = stripslashes($link);
    
            return '<a href="'.$full_url.'">'.$link.'</a>';
        }
    }
    Не забываем про замену site.ru на ваш домен.

    Необязательное улучшение
    Хотите немного сэкономить ресурсы сервера? Для этого можно удалить лишние обработчики неправильного написания ссылок в нашей новой функции.
    Убираем из handle_rurl_tag данный кусок кода:
    Код:
    if (strpos($url, 'www.') === 0) // If it starts with www, we add http://
            $full_url = 'http://'.$full_url;
    else if (strpos($url, 'ftp.') === 0) // Else if it starts with ftp, we add ftp://
            $full_url = 'ftp://'.$full_url;
    else if (strpos($url, '/') === 0) // Allow for relative URLs that start with a slash
            $full_url = get_base_url(true).$full_url;
    и заменяем оставшуюсся

    Код:
    else if (!preg_match('#^([a-z0-9]{3,6})://#', $url)) // Else if it doesn't start with abcdef://, we add http://
            $full_url = 'http://'.$full_url;
    на

    Код:
    if (!preg_match('#^([a-z0-9]{3,6})://#', $url)) // Else if it doesn't start with abcdef://, we add http://
            $full_url = 'http://'.$full_url;
    В итоге наша функция handle_rurl_tag станет на несколько операций короче и будет выглядеть так:

    Код:
    function handle_rurl_tag($url, $link = '', $bbcode = false)
    {
        $url = pun_trim($url);
    
        // Deal with Перейти по ссылке
        if (preg_match('%<img src=\"(.*?)\"%', $url, $matches))
            return handle_url_tag($matches[1], $url, $bbcode);
    
        $full_url = str_replace(array(' ', '\'', '`', '"'), array('%20', '', '', ''), $url);
        if (!preg_match('#^([a-z0-9]{3,6})://#', $url)) // Else if it doesn't start with abcdef://, we add http://
            $full_url = 'http://'.$full_url;
    
        // Ok, not very pretty :-)
        if ($bbcode)
        {
            if ($full_url == $link)
                return '[rurl]'.$link.'[/rurl]';
            else
                return '[rurl='.$full_url.']'.$link.'[/rurl]';
        }
        else
        {
            if ($link == '' || $link == $url)
            {
                $url = pun_htmlspecialchars_decode($url);
                $link = utf8_strlen($url) > 55 ? utf8_substr($url, 0 , 39).' … '.utf8_substr($url, -10) : $url;
                $link = pun_htmlspecialchars($link);
            }
            else
                $link = stripslashes($link);
    
            return '<a href="'.$full_url.'">'.$link.'</a>';
        }
    }
    С такой функцией в тэгах [rurl] ссылки нужно будет обязательно прописывать с http:// в начале. Вот так:
    Код:
    [rurl=http://yandex.ru]анкор ссылки[/rurl]
    Если указать ссылку без http:// - она не будет работать, потому что мы удалили код, отвечающий за преобразование неправильных ссылок без протокола к виду с протоколом: Перейти по ссылке
    Зато сэкономили немного серверных ресурсов на будущее.


    3) Теперь нам надо связать новую функцию handle_rurl_tag с, собственно, бб-кодом rurl, который нам кстати тоже сперва надо добавить.

    Для этого находим в файле /includes/parser.php функцию do_bbcode, а в ней такие строки:
    Код:
    $pattern_callback[] = '%\[url\]([^\[]*?)\[/url\]%';
    $pattern_callback[] = '%\[url=([^\[]+?)\](.*?)\[/url\]%';
    Делаем дубль этих двух строк.
    Меняем в дублированных строках url на rurl или ваш бб-код.

    В итоге получаем такой код:
    Код:
    $pattern_callback[] = '%\[url\]([^\[]*?)\[/url\]%';
    $pattern_callback[] = '%\[url=([^\[]+?)\](.*?)\[/url\]%';
    $pattern_callback[] = '%\[rurl\]([^\[]*?)\[/rurl\]%';
    $pattern_callback[] = '%\[rurl=([^\[]+?)\](.*?)\[/rurl\]%';
    Далее опускаемся ниже и находим такие строки:
    Код:
    $replace_callback[] = 'handle_url_tag($matches[1])';
    $replace_callback[] = 'handle_url_tag($matches[1], $matches[2])';
    Поясню подробнее. Данные строки отвечают за то, чтобы бб-код url обрабатывался функцией handle_url_tag.
    Наша задача теперь привязать только что созданный [rurl] бб-код к новой функции handle_rurl_tag.
    Для этого мы также делаем дубль этих двух строк и заменяем в них handle_url_tag на handle_rurl_tag.

    В итоге у нас получится вот это:
    Код:
    $replace_callback[] = 'handle_url_tag($matches[1])';
    $replace_callback[] = 'handle_url_tag($matches[1], $matches[2])';
    $replace_callback[] = 'handle_rurl_tag($matches[1])';
    $replace_callback[] = 'handle_rurl_tag($matches[1], $matches[2])';
    Сохраняем файл на сервере вместо стандартного, заходим на форум и создаём пост с двумя ссылками:
    Одну через url бб-код, другую через rurl бб-код. Если вы всё сделали правильно, то обычная ссылка будет идти через редирект, а rurl-ссылка будет прямой и без атрибута rel="nofollow".

    4) Осталось дело за малым. Помимо текстов постов, нам надо закрыть ещё и ссылки в описаниях профилей и на страницах профилей.
    а) Чтобы такие ссылки в описаниях профилей тоже работали через редирект:
    [​IMG]
    Открываем файл /viewtopic.php и заменяем вот эту строку:

    Код:
    $user_contacts[] = '<span class="website"><a href="'.pun_htmlspecialchars($cur_post['url']).'" rel="nofollow">'.$lang_topic['Website'].'</a></span>';
    на это, заменив site.ru на свой домен:
    Код:
    $user_contacts[] = '<span class="website"><a href="http://site.ru/go.php?to='.pun_htmlspecialchars($cur_post['url']).'" rel="nofollow">'.$lang_topic['Website'].'</a></span>';
    б) Чтобы редиректить ссылки со страниц профилей, открываем файл /profile.php и аналогичным образом заменяем это:

    Код:
    $user_personal[] = '<dd><span class="website"><a href="'.$user['url'].'" rel="nofollow">'.$user['url'].'</a></span></dd>';
    на это, заменив site.ru на свой домен:

    Код:
    $user_personal[] = '<dd><span class="website"><a href="http://site.ru/go.php?to='.$user['url'].'" rel="nofollow">'.$user['url'].'</a></span></dd>';
    Инструкция для Fluxbb 1.4

    В файле include/parser.php также дублируем функцию function handle_url_tag
    и меняем
    Код:
    {
            if ($full_url == $link)
                return 'Перейти по ссылке';
            else
                return 'Перейти по ссылке';
        }
    на
    Код:
    {
            if ($full_url == $link)
                return '[rurl]'.$link.'[/rurl]';
            else
                return '[rurl='.$full_url.']'.$link.'[/rurl]';
        }
    Добавляем бб-тэг rurl и связываем его с нашей новой функцией. Для этого находим в файле include/parser.php такие строчки:

    Код:
    $pattern[] = '#\[url\]([^\[]*?)\[/url\]#e';
        $pattern[] = '#\[url=([^\[]+?)\](.*?)\[/url\]#e';
    Дублируем их и в продублированных строчках заменяем url на rurl
    Далее находим строки:
    Код:
    $replace[] = 'handle_url_tag(\'$1\')';
        $replace[] = 'handle_url_tag(\'$1\', \'$2\')';
    Дублируем их и также заменяем url на rurl

    Примеры include/parser.php:
    Перейти по ссылке
    Перейти по ссылке

    Сделал фрилансер Перейти по ссылке

    Я потратился на этот код, в знак благодарности можете зарегистрироваться по моей партнёрской ссылке на linkum.ru

    Перейти по ссылке
     
    allmoll нравится это.
  9. allmoll

    allmoll

    Регистр.:
    1 мар 2014
    Сообщения:
    487
    Симпатии:
    131
    Развиваться не будет, поддержка в течении года (латание дыр), а дальше зависит от количества оставшихся ресурсов на движке. Разработчик участвует в проекте и, естественно, предлагает перейти на Flarum Перейти по ссылке .
     
  10. TheOne

    TheOne Создатель

    Регистр.:
    1 сен 2012
    Сообщения:
    12
    Симпатии:
    2
    2008-2017, почти 10 лет уже. Врядли один из самых быстрых форумных движков вот так возмёт и погибнет.