Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2007-01-09 17:08:43

hcs
Гость

FAQ

1. Проблема со входом, пользователи не могут залогиниться, выводится уведомление об успешном входе, переадресация и они попадают на главную страничку как гости. Что делать?

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

создаем в корне форума файл .htaccess, если он уже есть то добавляем туда следущее:

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.punbb.ru$
RewriteRule ^(.*)$ http://punbb.ru/$1 [R=301,L]

адрес меняйте на свой


2. Где взять такую защиту, как на этом форуме при регистрации нового пользователя?

http://www.punres.org/viewtopic.php?id=281


3. При входе на страницу регистрации нет картинки, с которой нужно вводить текст (защита от автоматической регистрации). Может кто знает, с чем это может быть связано и как это поправить?

Требуется библиотека GD

#2 2007-01-09 18:05:22

Slavik
Гость

Re: FAQ

4. Что такое PUN_DEBUG?

Это отладочный режим форума.
Чтобы его включить нужно открыть файл include/common.php
найти на 26 строке

//define('PUN_DEBUG', 1);

и заменить его на

define('PUN_DEBUG', 1);

Отключение наоборот.


5. Я добавлял мод на форум, теперь на измененной странице ошибка. Что делать?

PUN_DEBUG
Теперь вы можете узнать в каком именно месте ошибка


6. Хотелось бы чтобы было видно за какое время генирируется страница и сколько было обращений к базе данных?

PUN_DEBUG


7. Как сделать чтобы на главной странице колонка с последним сообщением содержала название темы?

http://www.punres.org/viewtopic.php?id=728


8. Можно ли на форум добавить личные сообщения?

Да. http://www.punres.org/desc.php?pid=52


9. Можно ли добавить ссылку в профиль пользователя (при просмотре сообщений)?

Да.

#
#---------[ FIND (line:242) ]---------------------------------------------------
#

            // Now let's deal with the contact links (E-mail and URL)

#
#---------[ AFTER, ADD ]---------------------------------------------------
#

            $user_contacts[] = '<a href="profile.php?id='.$cur_post['poster_id'].'">'.$lang_common['Profile'].'</a>';

10. Пытаюсь установить мод, а он пишет что данный мод не совместим с текущей версией форума? Что делать?

Открыть файл install_mod.php в любом текстовом редакторе. В самом начале (приблизительно 12 строка) будет:

// One or more versions of PunBB that this mod works on. The version names must match exactly!
$punbb_versions        = array('1.2', '1.2.1', '1.2.2', '1.2.3', '1.2.4', '1.2.5');

Вы можете изменить одну из поддерживаемых версий на нужныю вам, либо добавить свою:

// One or more versions of PunBB that this mod works on. The version names must match exactly!
$punbb_versions        = array('1.2', '1.2.1', '1.2.2', '1.2.3', '1.2.4', '1.2.5', '1.2.14');

Скорее всего мод работает на вашей версии форума, просто разработчик(и) не тестировал(и) его именно на этой версии. Но будьте внимательны! Не забывайте делать резервные копии файлов и базы данных перед устанеовкой мода!


11. Как сделать чтобы при удалении сообщений пользователя ему автоматически уменьшали их в профиле?

http://www.punbb.org/download/plugins/A … leanup.zip

Редактировался Slavik (2007-01-12 16:53:28)

#3 2007-03-14 05:12:55

hcs
Гость

Re: FAQ

12.  Мне форум выдаёт ошибку - Unable to insert search index words, что делать?

Вкратце:
Открываем phpMyAdmin, находим таблицу search_words и для поля word меняем тип с VARCHAR на VARBINARY  или BINARY.
Или выполняем:
mysql_query("ALTER TABLE `search_words` CHANGE `word` `word` VARBINARY( 40 ) NOT NULL ");
Подробнее на офсайте - http://forums.punbb.org/viewtopic.php?id=5882

#4 2007-07-14 18:04:50

nobody
Гость

Re: FAQ

13. Как мне сделать что-то вроде модуля для моего сайта, выводящего последние темы/сообщения/статистику форума?

Для этого используется файл extern.php из корневой директории форума. Например, для вывода 7 последних активных тем используется скрипт:

<?php include "http://yoursite.com/forum/extern.php?action=active&show=7"; ?>

Подробная инструкция по использованию extern.php написана в самом файле, вывод другой информации делается по-анологии.

Подробнее на русском:
Вывод последних сообщений с форума на сайт

Подробнее на английском:
http://punbb.org/forums/viewtopic.php?id=16096 - примеры кода, когда сайт и форум в одной БД и в разных
http://punbb.org/forums/viewtopic.php?id=4160 - готовый мод для punbb, выводит на главной странице форума последние активные темы
http://punbb.org/forums/viewtopic.php?id=16412 - если возникли проблемы
http://punbb.org/forums/viewtopic.php?id=14244 - если возникли проблемы
http://punbb.org/forums/viewtopic.php?id=14244 - если возникли проблемы

#5 2007-08-14 05:08:41

Serge
Гость

Re: FAQ

14. Как убрать показ IP модераторам? (Администраторы видят IP по-прежнему)

В файле в viewtopic.php находим

        if ($pun_user['g_id'] < PUN_GUEST)
        {
            $user_info[] = '<dd>IP: <a href="moderate.php?get_host='.$cur_post['id'].'">'.$cur_post['poster_ip'].'</a>';

            if ($cur_post['admin_note'] != '')
                $user_info[] = '<dd>'.$lang_topic['Note'].': <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong>';
        }

меняем на

// MODERS not VIEW IP
            if ($pun_user['g_id'] == PUN_ADMIN)
//        if ($pun_user['g_id'] < PUN_GUEST)
        {
            $user_info[] = '<dd>IP: <a href="moderate.php?get_host='.$cur_post['id'].'">'.$cur_post['poster_ip'].'</a>';
// start MODERS not VIEW IP
        }
        if ($pun_user['g_id'] < PUN_GUEST)
        {
// end MODERS not VIEW IP
            if ($cur_post['admin_note'] != '')
                $user_info[] = '<dd>'.$lang_topic['Note'].': <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong>';
        }

здесь же

        if ($pun_user['g_id'] < PUN_GUEST)

меняем на

// MODERS not VIEW IP
            if ($pun_user['g_id'] == PUN_ADMIN)
//        if ($pun_user['g_id'] < PUN_GUEST)

Находим в файле profile.php

                            <p><?php echo $lang_common['Registered'] ?>: <?php echo format_time($user['registered'], true); if ($pun_user['g_id'] < PUN_GUEST) echo ' (<a href="moderate.php?get_host='.pun_htmlspecialchars($user['registration_ip']).'">'.pun_htmlspecialchars($user['registration_ip']).'</a>)'; ?></p>

меняем на

<?php if ($pun_user['g_id'] == PUN_ADMIN):  ?>
                            <p><?php echo $lang_common['Registered'] ?>: <?php echo format_time($user['registered'], true); if ($pun_user['g_id'] < PUN_GUEST) echo ' (<a href="moderate.php?get_host='.pun_htmlspecialchars($user['registration_ip']).'">'.pun_htmlspecialchars($user['registration_ip']).'</a>)'; ?></p>
<?php endif; ?>

В файле admin_users.php находим

                $actions = '<a href="admin_users.php?ip_stats='.$user_data['id'].'">Статистика IP</a> - <a href="search.php?action=show_user&amp;user_id='.$user_data['id'].'">Показать сообщения</a>';

меняем на

               if ($pun_user['g_id'] == PUN_ADMIN)
                    $actions = '<a href="admin_users.php?ip_stats='.$user_data['id'].'">статистика IP</a> - <a href="search.php?action=show_user&amp;user_id='.$user_data['id'].'">Показать сообщения</a>';

                else
                    $actions = '<a href="search.php?action=show_user&amp;user_id='.$user_data['id'].'">Показать сообщения</a>';

и

            $actions = '<a href="admin_users.php?ip_stats='.$user_data['id'].'">Смотреть статистику IP</a> - <a href="search.php?action=show_user&amp;user_id='.$user_data['id'].'">Показать сообщения</a>';

меняем на

            if ($pun_user['g_id'] == PUN_ADMIN)
                $actions = '<a href="admin_users.php?ip_stats='.$user_data['id'].'">статистика IP</a> - <a href="search.php?action=show_user&amp;user_id='.$user_data['id'].'">Показать сообщения</a>';

            else
                $actions = '<a href="search.php?action=show_user&amp;user_id='.$user_data['id'].'">Показать сообщения</a>';

а также

        <h2 class="block2"><span>Поиск по IP адресу</span></h2>
        <div class="box">
            <form method="get" action="admin_users.php">
                <div class="inform">
                    <fieldset>
                        <legend>Введите IP для поиска</legend>
                        <div class="infldset">
                            <table class="aligntop" cellspacing="0">
                                <tr>
                                    <th scope="row">IP адрес<div><input type="submit" value=" Поиск " tabindex="25" /></div></th>
                                    <td><input type="text" name="show_users" size="18" maxlength="15" tabindex="24" />
                                    <span>IP для поиска в базе данных сообщений.</span></td>
                                </tr>
                            </table>
                        </div>
                    </fieldset>
                </div>
            </form>
        </div>

меняем на

<?php if ($pun_user['g_id'] == PUN_ADMIN):  ?>
        <h2 class="block2"><span>Поиск по IP адресу</span></h2>
        <div class="box">
            <form method="get" action="admin_users.php">
                <div class="inform">
                    <fieldset>
                        <legend>Введите IP для поиска</legend>
                        <div class="infldset">
                            <table class="aligntop" cellspacing="0">
                                <tr>
                                    <th scope="row">IP адрес<div><input type="submit" value=" Поиск " tabindex="25" /></div></th>
                                    <td><input type="text" name="show_users" size="18" maxlength="15" tabindex="24" />
                                    <span>IP для поиска в базе данных сообщений.</span></td>
                                </tr>
                            </table>
                        </div>
                    </fieldset>
                </div>
            </form>
        </div>
<?php endif; ?>

В ЛС в файле message_list.php находим

        //Moderator and Admin stuff
        if ($pun_user['g_id'] < PUN_GUEST)
        {
            $user_info[] = '<dd>IP: <a href="moderate.php?get_host='.$cur_post['id'].'">'.$cur_post['sender_ip'].'</a>';

            if ($cur_post['admin_note'] != '')
                $user_info[] = '<dd>'.$lang_topic['Note'].': <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong>';
        }

меняем на

        //Moderator and Admin stuff
// MODERS not VIEW IP
            if ($pun_user['g_id'] == PUN_ADMIN)
//        if ($pun_user['g_id'] < PUN_GUEST)
        {
            $user_info[] = '<dd>IP: <a href="moderate.php?get_host='.$cur_post['id'].'">'.$cur_post['sender_ip'].'</a>';
// start MODERS not VIEW IP
        }
        if ($pun_user['g_id'] < PUN_GUEST)
        {
// end MODERS not VIEW IP
            if ($cur_post['admin_note'] != '')
                $user_info[] = '<dd>'.$lang_topic['Note'].': <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong>';
        }

Отсюда

#6 2008-01-26 12:22:47

nobody
Гость

Re: FAQ

15. Проблема с кодировкой (вместо текста непонятная абракадабра). Что делать?

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

1) Возможно, нужно просто пересохранить некоторые файлы в нужной вам кодировке? Для этого нужно открыть все админ-скрипты в редакторе с поддержкой utf, пересохранить в нужной кодировке и перезалить. Таким же способом надо пересохранить все скрипты плагинов в директории /plugins. В зависимости от сборки набор пересохранямых файлов может меняться, поэтому здесь никакой конкретики.

2) Проверить в mysql.php наличие строки:

//@mysql_query("SET NAMES 'utf8'");

раскомментировать, поэксперементировать с параметром "SET NAMES", подставляя разные значения (utf-8, cp1251, windows-1251).

3) В файле common.php:

'lang_encoding'            =>    'utf-8',

utf сменить на windows-1251, или наоборот, в зависимости от вашего случая опять же.

4) Проверить, какой header content-encoding шлет сервер. Если не верный, то задаем принудительно. header.php, находите строку:

header('Pragma: no-cache');

после нее вставляете:

header('Content-type: text/html; charset=utf-8');

utf-8 или cp1251, как всегда, в зависимости от того, что вам требуется. Возможно придется добавить в include/functions.php, в функцию redirect тот же header

5) В .htacces прописать строку:

AddDefaultCharset utf-8

(или win-1251, в зависимости от того, что вам нужно). Или же можно прописать:

AddDefaultCharset Off

тогда браузеры будут на автомате использовать <meta ...charset...> страниц. Имейте ввиду, что это может быть запрещено хостером, если проблема с кодировками никак не хочет решаться, имеет смысл напрямую связаться с вашим хостером и требовать у него разрешения проблемы.

6) Проверить default charset и collation у таблиц в БД, выставить там нужную кодировку, если что-то не так.

7) Встречается похожая проблема, когда выпадает одна или несколько букв (обычно "ш" или "и"), и вместо нее выводится "?". В таком случае, нужно проверить в config.php, что тип БД не mysqli, а обычный mysql. Также в этом случае может помочь раскомментирование строки SET NAMES в mysql.php, описанное выше.

И последнее, при эксперементах может получиться так, что старые данные остаются в крякозябрах, но новые создаются уже нормально. Значит проблема решена. Старые записи можно восстановить с помощью бэкапа и конвертации.


Если ничего не помогло, можно еще немного почитать о проблеме с кодировками в связке php/mysql. Удачи! smile

#7 2008-03-15 14:42:45

nobody
Гость

Re: FAQ

16. При совершении некоторых операций (удаление форума/категории, редактирование сообщений, сохранение настроек) возникает ошибка:

Неверный источник. Вы попали на эту страницу из несанкционированного источника. Пожалуйста, вернитесь и попробуйте еще раз. Если проблема осталась, пожалуйста, убедитесь что 'Начальный URL' правильно установлен в Администрирование/Свойства и, что, Вы попадаете на форум через этот URL.

Причин может быть несколько:

1) Неверно указан Base URL в настройках форума. Очистите каталог "cache", затем исправьте значение "o_base_url" в таблице "config" (с помощью phpMyAdmin).

2) Может быть отключена передача источника при переходах в самом браузере, и из-за этого появляется данная ошибка, везде, где стоит проверка источника. Решается включением в браузере передачи источника перехода.

3) HTTP_REFERER пустой. Возможно прокси/файерволл вырезает его. Решение - добавить сайт в список исключений в настройках файерволла.

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

Редактировался nobody (2008-10-09 22:13:43)

#8 2009-01-18 22:40:18

nobody
Гость

Re: FAQ

17. Как мне перейти с ветки 1.2.x на ветку 1.3.x?

1. Бэкап и конвертация:
- Делаем бэкап базы,
- Открываем в текстовом редакторе с корректной поддержкой utf,
- Производим конвертацию из cp1251 в utf8, сохраняем,
- Делаем замену "cp1251" на "utf8" по файлу, сохраняем,
2. Восстановление базы:
- Удаляем старую базу,
- Выставляем PHPMyAdmin во вкладке "Операции" "Сравнение" - "utf8_general_ci"
- Восстанавливаем базу используя дамп, кодировка которого utf8.
3. Запуск скрипта обновления:
- Удаляем все старые файлы кроме config.php (можно сохранить содержимое папки /img, если нужно сохранить аватары и если есть оригинальные смайлы),
- Заливаем распакованное содержимое архива (то, что внутри папки "punbb-1.3")
- Запускаем скрипт db_update.php по адресу example.com/punbb/admin/db_update.php, где example.com/punbb/ - адрес форума.

Если были установлены моды, возможно потребуется удаление таблиц, которые они создали.

---

Спасибо coordinator'у.

#9 2009-02-13 03:58:20

MARTINI
Гость

Re: FAQ

не пойму, как установить расширение? Например pun_antispam - что куда заливать, как запустить собственно саму установку?

#10 2009-02-14 21:01:30

ital
Гость

Re: FAQ

Re: FAQВо влип! В админке поставил фукцию  - профилактика форума, а сам вышел из админки и даже с самого форума - http://www.lazarevka.ru/forum/, переустановил версию форума, а теперь не знаю как в админку попасть:rolleyes:

Извиняюсь - не в ту ветку залез!

Редактировался ital (2009-02-14 21:10:40)

#11 2009-02-14 21:08:39

Visman
Гость

Re: FAQ

Если для 1.2, то файл \extras\turn_off_maintenance_mode.php из установочного пакета надо кинуть в корень форума через фтп и потом в браузере его открыть.
Кажется так.

#12 2009-02-14 21:12:03

ital
Гость

Re: FAQ

К сожалению, версия 1.3.2

Добавлено спустя 33 минуты 12 секунд:

Спасибо, Visman!
Фууууу, выкрутился - перелил старые файлы на фтп и сделал бэкап, ну и запустил упомянутый Вами файл!

Редактировался ital (2009-02-14 21:12:56)

#13 2009-04-20 21:04:54

artawasd
Гость

Re: FAQ

Уважаемые, заранее извиняюсь за ламерский вопрос:
Интересует панелька, та что bar.php. В стандартной установке я так понимаю ее нет.
В файлах на сервере (версия 1.3.2) я такого файла не обнаружил, и никакой информации которая прояснила бы ситуацию тоже не нашел.
Подскажите пожалуйста что за расширение нужно установить, и где его взять.

Спасибо.

Редактировался artawasd (2009-04-20 21:07:14)

Подвал доски

Под управлением FluxBB. Хостинг Hostens