[FAQ] Интеграция входа на конференцию phpBB с сайтом
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x/3.3.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x/3.3.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
[FAQ] Интеграция входа на конференцию phpBB с сайтом
Ниже приведен пример скрипта с интегрированной формой входа на конференцию (общего вида).
В приведённом примере папка, в которой находится скрипт, находится на один уровень выше папки конференции. Файлы конференции находятся в папке phpBB3 относительно скрипта.
По коду скрипта имеются пояснительные комментарии (на английском языке).
Вопросы принимаются в этой теме.
Версия 1.1.0 с интегрированным списком онлайн и легендой групп здесь.
Версия 1.2.0 с аватарой здесь.
Версия 2.0.1 для phpBB 3.2/3.3 здесь.
В приведённом примере папка, в которой находится скрипт, находится на один уровень выше папки конференции. Файлы конференции находятся в папке phpBB3 относительно скрипта.
По коду скрипта имеются пояснительные комментарии (на английском языке).
Вопросы принимаются в этой теме.
Версия 1.1.0 с интегрированным списком онлайн и легендой групп здесь.
Версия 1.2.0 с аватарой здесь.
Версия 2.0.1 для phpBB 3.2/3.3 здесь.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось rxu 22.05.2020 8:37, всего редактировалось 6 раз.
-
- phpBB 1.2.1
- Сообщения: 20
- Стаж: 16 лет 10 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Прошу прощения, за оффтоп. Открывать новую тему не хотел, дабы не засорять форум, а эту посчитал свзянной(хотя бы косвенно) с моим вопросом.rxu писал(а):Класс user задается в Includes/session.php. Прошу заметить, что ваши вопросы - оффтоп.
Появился ещё один вопрос, имеющий прямое отношение к вашему скрипту:
Почему вы отказались от использования встроенной функции login_box? У неё есть какие-то существенные недостатки?
Объясню, почему я про неё заговорил, там уже предусмотрены следующие моменты:
1)Возможность редиректа, после авторизации.
2)Авторизация для администраторов.
Отказ от использования этой функции вызван, лишь желаением упростить скрипт, или же были другие причины?
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Эта функция использует заданный шаблон login_body.html вместе с шапкой и футером форума.
И еще jumpbox выдает.
Поэтому использовал простую форму, дабы отказаться от лишнего скрипта и вывода на странице.
И еще jumpbox выдает.
Поэтому использовал простую форму, дабы отказаться от лишнего скрипта и вывода на странице.
-
- phpBB 1.0.0
- Сообщения: 8
- Стаж: 15 лет 11 месяцев
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
dark_hero
Вы куда вообще этот код вставляете, конкретно?
Вы куда вообще этот код вставляете, конкретно?
-
- phpBB 1.0.0
- Сообщения: 8
- Стаж: 15 лет 11 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
dark_hero писал(а):ну дык, пробовал при измененииТам объявляются и задаются переменные, используемые во включаемых скриптах.вылетает ошибкаКод: Выделить всё
/* // Set phpBB root folder properly. Change in according to the actual board folder define('PHPBB_ROOT_PATH', './'); $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './'; $phpEx = substr(strrchr(__FILE__, '.'), 1); include_once("/home/zagsby/public_html/forum/common.php"); */ define('IN_PHPBB', true); // Set phpBB root folder properly. Change in according to the actual board folder define('PHPBB_ROOT_PATH', '/home/zagsby/public_html/forum/'); $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './'; $phpEx = substr(strrchr(__FILE__, '.'), 1); include($phpbb_root_path . 'common.' . $phpEx);
Fatal error: Cannot redeclare class cache in /home/zagsby/public_html/forum/includes/cache.php on line 23
скрипт подключается в самом верху overall_header.htmlНе знаком с вашим скриптом, поэтому не могу сказать, где там у вас что вперед подключается.
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Могу только повторить вопрос. Что такое самый верх, и как вы подключаете скрипт в шаблон, протелепатировать не в силах.
-
- phpBB 1.0.0
- Сообщения: 8
- Стаж: 15 лет 11 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Код: Выделить всё
<!-- PHP -->
include('/home/zagsby/public_html/forum/includes/header.inc');
<!-- ENDPHP -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
<head>
<meta http-equiv="content-type" content="text/html; charset={S_CONTENT_ENCODING}" />
<meta http-equiv="content-language" content="{S_USER_LANG}" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
<meta name="copyright" content="2000, 2002, 2005, 2007 phpBB Group" />
<meta name="keywords" content="" />
<meta name="description" content="" />
{META}
<title>{SITENAME} • <!-- IF S_IN_MCP -->{L_MCP} • <!-- ELSEIF S_IN_UCP -->{L_UCP} • <!-- ENDIF -->{PAGE_TITLE}</title>
<link rel="stylesheet" href="{T_STYLESHEET_LINK}" type="text/css" />
<script type="text/javascript">
// <![CDATA[
<!-- IF S_USER_PM_POPUP -->
if ({S_NEW_PM})
{
popup('{UA_POPUP_PM}', 400, 225, '_phpbbprivmsg');
}
<!-- ENDIF -->
function popup(url, width, height, name)
{
if (!name)
{
name = '_popup';
}
window.open(url.replace(/&/g, '&'), name, 'height=' + height + ',resizable=yes,scrollbars=yes,width=' + width);
return false;
}
function jumpto()
{
var page = prompt('{LA_JUMP_PAGE}:', '{ON_PAGE}');
var perpage = '{PER_PAGE}';
var base_url = '{A_BASE_URL}';
if (page !== null && !isNaN(page) && page > 0)
{
document.location.href = base_url.replace(/&/g, '&') + '&start=' + ((page - 1) * perpage);
}
}
/**
* Find a member
*/
function find_username(url)
{
popup(url, 760, 570, '_usersearch');
return false;
}
/**
* Mark/unmark checklist
* id = ID of parent container, name = name prefix, state = state [true/false]
*/
function marklist(id, name, state)
{
var parent = document.getElementById(id);
if (!parent)
{
eval('parent = document.' + id);
}
if (!parent)
{
return;
}
var rb = parent.getElementsByTagName('input');
for (var r = 0; r < rb.length; r++)
{
if (rb[r].name.substr(0, name.length) == name)
{
rb[r].checked = state;
}
}
}
<!-- IF ._file -->
/**
* Play quicktime file by determining it's width/height
* from the displayed rectangle area
*
* Only defined if there is a file block present.
*/
function play_qt_file(obj)
{
var rectangle = obj.GetRectangle();
if (rectangle)
{
rectangle = rectangle.split(',')
var x1 = parseInt(rectangle[0]);
var x2 = parseInt(rectangle[2]);
var y1 = parseInt(rectangle[1]);
var y2 = parseInt(rectangle[3]);
var width = (x1 < 0) ? (x1 * -1) + x2 : x2 - x1;
var height = (y1 < 0) ? (y1 * -1) + y2 : y2 - y1;
}
else
{
var width = 200;
var height = 0;
}
obj.width = width;
obj.height = height + 16;
obj.SetControllerVisible(true);
obj.Play();
}
<!-- ENDIF -->
// ]]>
</script>
</head>
<body class="{S_CONTENT_DIRECTION}">
[color=#FF0000]<!-- PHP -->
include('/home/zagsby/public_html/forum/includes/top.inc');
<!-- ENDPHP -->[/color]
<a name="top"></a>
<div id="wrapheader">
<div id="menubar">
<table width="100%" cellspacing="0">
<tr>
<td colspan="2" class="genmed" align="center">
<a href="{U_FAQ}"><img src="{T_THEME_PATH}/images/icon_mini_faq.gif" width="12" height="13" alt="*" /> {L_FAQ}</a>
<!-- IF S_DISPLAY_SEARCH --> <a href="{U_SEARCH}"><img src="{T_THEME_PATH}/images/icon_mini_search.gif" width="12" height="13" alt="*" /> {L_SEARCH}</a><!-- ENDIF -->
<!-- IF not S_IS_BOT -->
<!-- IF S_DISPLAY_MEMBERLIST --> <a href="{U_MEMBERLIST}"><img src="{T_THEME_PATH}/images/icon_mini_members.gif" width="12" height="13" alt="*" /> {L_MEMBERLIST}</a><!-- ENDIF -->
<!-- IF S_USER_LOGGED_IN --> <a href="{U_PROFILE}"><img src="{T_THEME_PATH}/images/icon_mini_profile.gif" width="12" height="13" alt="*" /> {L_PROFILE}</a><!-- ENDIF -->
<!-- ENDIF -->
</td>
</tr>
</table>
</div>
<div id="datebar">
<table width="100%" cellspacing="0">
<tr>
<td class="gensmall"><!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}<!-- ENDIF --></td>
<td class="gensmall" align="{S_CONTENT_FLOW_END}">{CURRENT_TIME}<br /></td>
</tr>
</table>
</div>
</div>
<div id="wrapcentre">
<!-- IF S_DISPLAY_SEARCH -->
<p class="searchbar">
<span style="float: {S_CONTENT_FLOW_BEGIN};"><a href="{U_SEARCH_UNANSWERED}">{L_SEARCH_UNANSWERED}</a> | <a href="{U_SEARCH_ACTIVE_TOPICS}">{L_SEARCH_ACTIVE_TOPICS}</a></span>
<!-- IF S_USER_LOGGED_IN -->
<span style="float: {S_CONTENT_FLOW_END};"><a href="{U_SEARCH_NEW}">{L_SEARCH_NEW}</a> | <a href="{U_SEARCH_SELF}">{L_SEARCH_SELF}</a></span>
<!-- ENDIF -->
</p>
<!-- ENDIF -->
<br style="clear: both;" />
<!-- INCLUDE breadcrumbs.html -->
<br />
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
dark_hero
Скрипт этот нужен для того, чтобы интегрировать вход с форумом на сторонней странице, не принадлежащей к форуму.
А зачем нужно то, что вы сейчас показали, и как вы себе представляете работу такого кода?
Скрипт этот нужен для того, чтобы интегрировать вход с форумом на сторонней странице, не принадлежащей к форуму.
А зачем нужно то, что вы сейчас показали, и как вы себе представляете работу такого кода?
-
- phpBB 1.0.0
- Сообщения: 8
- Стаж: 15 лет 11 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
ну я хотел использовать его как некий вариант авторизации на форуме и на сайте одновременно, дабы не ковырять родную авторизацию на форуме и не вставлять туда авторизацию для сайта
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
dark_hero
Данный скрипт авторизует на форуме, но не на сайте. Поэтому добавлять его на форум бессмысленно и правильно он там работать не будет.
Данный скрипт авторизует на форуме, но не на сайте. Поэтому добавлять его на форум бессмысленно и правильно он там работать не будет.
Если хотите авторизовать на сайте через форум, ковырять всё равно придется.dark_hero писал(а):дабы не ковырять родную авторизацию на форуме и не вставлять туда авторизацию для сайта
-
- phpBB 1.0.0
- Сообщения: 8
- Стаж: 15 лет 11 месяцев
-
- phpBB 1.4.1
- Сообщения: 46
- Стаж: 16 лет 10 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Для входа на форум достаточно записать правильно ключ сессии, правильно записать куки. При входе на форум, при наличии ключа сессии - новая сессия будет создана автоматом.

-
- phpBB 1.0.0
- Сообщения: 8
- Стаж: 15 лет 10 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Здравствуйте!
А вот у меня еще такая идея возникла! А можно ли еще сделать так, чтобы при успешной авторизации кроме аватара и имени пользователя отображалось еще и колличество новых личных сообщений, и при нажатии на эту строку открывался раздел "личные сообщения" на форуме.
А вот у меня еще такая идея возникла! А можно ли еще сделать так, чтобы при успешной авторизации кроме аватара и имени пользователя отображалось еще и колличество новых личных сообщений, и при нажатии на эту строку открывался раздел "личные сообщения" на форуме.
-
- Former team member
- Сообщения: 6517
- Стаж: 20 лет 9 месяцев
- Откуда: Бердск
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Ну почему же нельзя. Все можно сделать
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
-
- phpBB 1.2.1
- Сообщения: 20
- Стаж: 16 лет 10 месяцев
Re: [FAQ RC] Интеграция входа на конференцию с сайтом
Столкнулся с одним багом при обкатке(возможно, что он связан с оими настройками и у других его нет).
Форум висит на домене:
forum.site.ru
На другом поддомен делаю авторизацию:
sub1.site.ru
В настройках скрипта для авторизации прописываю:
define('PHPBB_ROOT_PATH', '/home/u*****/forum.site.ru/www/');
Всё работает, НО, get_username_string возвращает ссылку не:
http://forum.site.ru/www/memberlist.php ... profile&u=[тут user_id]
, а:
http://sub1.site.ru/home/u*****/forum.s ... profile&u=[тут user_id]
Разумеется исправить это можно, просто написав свой аналог get_username_string, но мне кажется, что это не самый лучший вариант.
Может быть я что-то не так сделал в настройках? Можно ли как-нибудь это исправить?
Форум висит на домене:
forum.site.ru
На другом поддомен делаю авторизацию:
sub1.site.ru
В настройках скрипта для авторизации прописываю:
define('PHPBB_ROOT_PATH', '/home/u*****/forum.site.ru/www/');
Всё работает, НО, get_username_string возвращает ссылку не:
http://forum.site.ru/www/memberlist.php ... profile&u=[тут user_id]
, а:
http://sub1.site.ru/home/u*****/forum.s ... profile&u=[тут user_id]
Разумеется исправить это можно, просто написав свой аналог get_username_string, но мне кажется, что это не самый лучший вариант.
Может быть я что-то не так сделал в настройках? Можно ли как-нибудь это исправить?