1

Тема: FAQ

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

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

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

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

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


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

(Please log in or register to see this URL)


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

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

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

2 (12.01.2007 17:53 отредактировано 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. Как сделать чтобы на главной странице колонка с последним сообщением содержала название темы?

(Please log in or register to see this URL)


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

Да. (Please log in or register to see this URL)


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. Как сделать чтобы при удалении сообщений пользователя ему автоматически уменьшали их в профиле?

(Please log in or register to see this URL)

Сайт Slavik

Поделиться

3

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 ");
Подробнее на офсайте - (Please log in or register to see this URL)

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

4

Re: FAQ

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

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

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

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

Подробнее на русском:
(Please log in or register to see this URL)

Подробнее на английском:
(Please log in or register to see this URL) - примеры кода, когда сайт и форум в одной БД и в разных
(Please log in or register to see this URL) - готовый мод для punbb, выводит на главной странице форума последние активные темы
(Please log in or register to see this URL) - если возникли проблемы
(Please log in or register to see this URL) - если возникли проблемы
(Please log in or register to see this URL) - если возникли проблемы

PunBB.Ru ☭

Сайт nobody

Поделиться

5

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>';
        }

(Please log in or register to see this URL)

Сайт Serge

Поделиться

6

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, описанное выше.

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


Если ничего не помогло, можно (Please log in or register to see this URL) о проблеме с кодировками в связке php/mysql. Удачи! smile

PunBB.Ru ☭

Сайт nobody

Поделиться

7 (09.10.2008 23:13 отредактировано nobody)

Re: FAQ

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

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

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

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

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

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

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

PunBB.Ru ☭

Сайт nobody

Поделиться

8

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/ - адрес форума.

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

---

(Please log in or register to see this URL) coordinator'у.

PunBB.Ru ☭

Сайт nobody

Поделиться

9

Re: FAQ

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

Поделиться

10 (14.02.2009 22:10 отредактировано ital)

Re: FAQ

Re: FAQВо влип! В админке поставил фукцию  - профилактика форума, а сам вышел из админки и даже с самого форума - (Please log in or register to see this URL), переустановил версию форума, а теперь не знаю как в админку попасть:rolleyes:

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

Поделиться

11

Re: FAQ

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

Моя сборка FluxBB 1.5 - fluxbb.qb7.ru, парсер сообщений с бб-кодами "Parserus" и анализатор useragent "UserAgentAnalyzer" - github.com/MioVisman/

Сайт Visman

Поделиться

12 (14.02.2009 22:12 отредактировано ital)

Re: FAQ

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

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

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

Поделиться

13 (20.04.2009 22:07 отредактировано artawasd)

Re: FAQ

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

Спасибо.

Поделиться

14

Re: FAQ

Как забанить пользователя мира?:D

Поделиться