Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[FAQ] Интеграция входа на конференцию phpBB с сайтом

Темы по наиболее часто задаваемым вопросам без привязки к версии phpBB. Читать в первую очередь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x/3.3.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16699
Стаж: 18 лет 6 месяцев
Откуда: Красноярск
Благодарил (а): 558 раз
Поблагодарили: 1847 раз

[FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение rxu »

Ниже приведен пример скрипта с интегрированной формой входа на конференцию (общего вида).
В приведённом примере папка, в которой находится скрипт, находится на один уровень выше папки конференции. Файлы конференции находятся в папке phpBB3 относительно скрипта.

По коду скрипта имеются пояснительные комментарии (на английском языке).

Вопросы принимаются в этой теме.

Версия 1.1.0 с интегрированным списком онлайн и легендой групп здесь.
Версия 1.2.0 с аватарой здесь.

Версия 2.0.1 для phpBB 3.2/3.3 здесь.

login_1.0.5.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось rxu 22.05.2020 8:37, всего редактировалось 6 раз.
Изображение
Перенесено из форума FAQ (phpBB 3.0.x) в форум FAQ 28.09.2016 15:02 модератором rxu

lumuso
phpBB 1.2.0
Сообщения: 12
Стаж: 3 года

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение lumuso »

На этом все и заканчивается при запросе в даижок:

Код: Выделить всё

Fatal error: Uncaught Error: Call to a member function getParameter() on null in C:\Server\OpenServer\domains\localhost.http\forum\phpbb\cache\driver\file.php:37
Этот код конфликтует:

Код: Выделить всё

    // Set phpBB root folder properly.
                                   // In this example, this script (login.php) is in the site root folder
                                   // and phpBB is in '33' site subfolder. Change in according to the actual phpBB folder
                                   $phpbb_folder = 'forum/';
                                   
                                   define('PHPBB_ROOT_PATH', $phpbb_folder);
                                   $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
                                   
                                   $phpEx = substr(strrchr(__FILE__, '.'), 1);
                                   include($phpbb_root_path . 'common.' . $phpEx);
                                   
                                   // Start session management
                                   $user->session_begin();
                                   $auth->acl($user->data);
                                   $user->setup('ucp');
Даже не успел протестировать остальное. Движок форума остался не тронутым с момента установки. Версия phpbb 3.3.5 с официального сайта.

Отправлено спустя 5 минут 50 секунд:
Код размещал я и в loginvмоего скрипта, и в index моего же - та же ошибка.
lumuso
phpBB 1.2.0
Сообщения: 12
Стаж: 3 года

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение lumuso »

Жаль, что вы не оправдали положительных рекомендаций со стороны про ваш проект. Я и в правду поверил, что мне тут помогут хоть чем-то. Оказывается вы и сами тут ничего не знаете про этот файл.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16699
Стаж: 18 лет 6 месяцев
Откуда: Красноярск
Благодарил (а): 558 раз
Поблагодарили: 1847 раз

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение rxu »

Конечно, если я его сделал, откуда я могу что-то про него знать.
То, что вы даже с четвертого раза не можете предоставить никакой смысловой информации по своей проблеме - не в счет.
То, что в приведенном выше вами коде нет ничего из файла в этой теме - тоже не в счет.
Попробуйте почитать для начала это: Как задавать вопросы
Изображение
lumuso
phpBB 1.2.0
Сообщения: 12
Стаж: 3 года

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение lumuso »

Ппц, задаю вопрос и даю симптом - нет ответа. Спрашиваю, как нужно это заводить - отсылки на какие-то глупые отмазки на подобии научить писать 😁😁😁😁 Мне кажется, что это вам нужно научиться понимать, не кажется?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12613
Стаж: 13 лет 3 месяца
Благодарил (а): 170 раз
Поблагодарили: 2535 раз

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение Татьяна5 »

lumuso писал(а): 17.11.2021 13:12 $phpbb_folder = 'forum/';
Для начала не forum/, а ./forum/
Формат адреса в файле есть. С чего вдруг используется другой?
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5360
Стаж: 19 лет 10 месяцев
Откуда: Питер
Благодарил (а): 192 раза
Поблагодарили: 828 раз

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение Siava »

lumuso, сам скрипт из шапки темы, без помещения его в ваш "код" вы проверяли? Он работает у вас?
Я бы начал именно с этого, - проверки работы скрипта, а уж потом интеграция его в свой код.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12613
Стаж: 13 лет 3 месяца
Благодарил (а): 170 раз
Поблагодарили: 2535 раз

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение Татьяна5 »

lumuso писал(а): 17.11.2021 13:12 Этот код конфликтует
Конфликтует с чем?
lumuso писал(а): 17.11.2021 13:12 Код размещал я и в loginvмоего скрипта, и в index моего же - та же ошибка.
Откуда кому знать, что там находится из конфликтующего кода?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16699
Стаж: 18 лет 6 месяцев
Откуда: Красноярск
Благодарил (а): 558 раз
Поблагодарили: 1847 раз

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение rxu »

lumuso писал(а): 18.11.2021 10:08 Мне кажется, что это вам нужно научиться понимать, не кажется?
Когда кажется - креститься надо. Еще один великий учитель объявился. Начнем с предупреждения, а дальше посмотрим.
Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 9 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1717 раз

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение Sheer »

Код: Выделить всё

Fatal error: Uncaught Error: Call to a member function getParameter() on null in C:\Server\OpenServer\domains\localhost.http\forum\phpbb\cache\driver\file.php:37
Это потому, что не найдена папка cache ибо неправильно задан путь к корню форума
Татьяна5 писал(а): 18.11.2021 10:16 Для начала не forum/, а ./forum/
Строка 37 phpbb\cache\driver\file.php

Код: Выделить всё

$this->cache_dir = !is_null($cache_dir) ? $cache_dir : $phpbb_container->getParameter('core.cache_dir');
Ву компрене, мон ами?
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
lumuso
phpBB 1.2.0
Сообщения: 12
Стаж: 3 года

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение lumuso »

Siava писал(а): 18.11.2021 10:16 сам скрипт из шапки темы, без помещения его в ваш "код" вы проверяли? Он работает у вас?
Я бы начал именно с этого, - проверки работы скрипта, а уж потом интеграция его в свой код.
Вот почему всегда получаешь нужный ответ после срача? К тому же при использовании вашего скрипта почему-то кидает на форум и не видео никакого от него результата, кроме эффекта header()
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5360
Стаж: 19 лет 10 месяцев
Откуда: Питер
Благодарил (а): 192 раза
Поблагодарили: 828 раз

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение Siava »

lumuso писал(а): 18.11.2021 13:03 Вот почему всегда получаешь нужный ответ после срача?
Потому что правильно заданный вопрос уже содержит половину ответа.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
lumuso
phpBB 1.2.0
Сообщения: 12
Стаж: 3 года

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение lumuso »

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

Отправлено спустя 9 минут 17 секунд:
Ввожу пароль неправильно 3 раза и скрипт из шапки просто переадресовывает на форум. Подразумевается, что должна быть капча. Как поймать эту ошибку скриптом?
Shredder
Former team member
Сообщения: 2226
Стаж: 15 лет 11 месяцев
Благодарил (а): 125 раз
Поблагодарили: 138 раз

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение Shredder »

Нужно сделать общий вход для старой CMS Smallnuke (работает только на PHP 5.3) и форума phpBB 3.3.5 (работает на PHP 7).
Форум находится в поддиректории forum и для него сделано отдельное подключение PHP 7:
1. Создан файл:

/var/www/site.ru/data/php-bin/info-cam.ru/php73

В нем прописан путь к интерпретатору PHP 7.3:
#!/opt/php73/bin/php-cgi

2. В начало файла:

/var/www/site.ru/data/www/site.ru/forum/.htaccess

Добавлена строчка:

FcgidWrapper "/var/www/info-cam.ru/data/php-bin/info-cam.ru/php73"
Для всего остального сайта работает PHP 5.3

Всё бы хорошо, но в скрипте общей авторизации (на PHP 5.3) не работает функция phpbb_check_hash, а при попытке подключить файл includes/functions_compatibility.php , где эта функция находится в phpBB 3.3.5, происходит ошибка, т.к. этот файл не работает на PHP 5.3... Как быть?

Как сделать функцию проверки phpbb_check_hash без подключения файла?

Отправлено спустя 42 минуты 17 секунд:
Отвечаю на свой вопрос. Замена для phpbb_check_hash будет такая:

Код: Выделить всё

if (!function_exists('phpbb_check_hash')) {
function phpbb_check_hash($password, $hash)
{
	if (hash_equals($hash, crypt(htmlspecialchars($password, ENT_COMPAT, 'UTF-8'), $hash)))
	{
		return true;
	}

	return false;
}}

if(!function_exists('hash_equals')) {
  function hash_equals($str1, $str2) {
    if(strlen($str1) != strlen($str2)) {
      return false;
    } else {
      $res = $str1 ^ $str2;
      $ret = 0;
      for($i = strlen($res) - 1; $i >= 0; $i--) $ret |= ord($res[$i]);
      return !$ret;
    }
  }
}
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 11 месяцев
Благодарил (а): 275 раз
Поблагодарили: 64 раза

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение Vlad__ »

rxu писал(а): 23.01.2008 8:56 Ниже приведен пример скрипта с интегрированной формой входа на конференцию (общего вида).
В приведённом примере папка, в которой находится скрипт, находится на один уровень выше папки конференции. Файлы конференции находятся в папке phpBB3 относительно скрипта.
Как я понимаю, это решение для сайта и форума, находящихся на одном домене. Есть ли что-то подобное для ресурсов на разных доменах, но на одном сервере?
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5360
Стаж: 19 лет 10 месяцев
Откуда: Питер
Благодарил (а): 192 раза
Поблагодарили: 828 раз

Re: [FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение Siava »

Vlad__ писал(а): 04.01.2023 21:09 для ресурсов на разных доменах, но на одном сервере?
По идее возможно..
вот в этой строчке кода указать абсолютный путь до форума, например:

Код: Выделить всё

define('PHPBB_ROOT_PATH', '/home/site1/phpbb3/');
Однако могут быть проблемы с куками при такой авторизации (через другой домен). Возможно решатся, если на форуме в настройках cookies оставить поле "домен куки" пустым. Можете поэкспериментировать)
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)

Вернуться в «FAQ»