Страница 1 из 1

Выполнение стороннего скрипта в контексте phpbb

Добавлено: 30.09.2015 0:46
halfhope
Всем доброго времени суток.

Возникла необходимость объединить регистрацию/авторизацию на PHPBB и OpenCart, но как оказалось простого добавления записей В БД было мало, загорелся и захотел написать еще пару модулей для интеграции phpbb в OpenCart (не наоборот).

Вот тут-то и возникла проблема. Я, конечно, могу выполнять запросы напрямую к БД и выдергивать нужные данные, но это не то. Нужно, чтобы скрипт имел доступ ко всем классам и выполнялся в контексте движка. Я честно гуглил, но не нашел ничего дельного. Прошу помощи.

Может есть наработки или готовый API? Я так понял, что написать свое расширение для phpbb (посредник) и работать через него будет намного проще или нет?!

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 30.09.2015 1:14
владимир1983
OpenCart использует phpbb на форуме поддержки http://forum.opencart.com/index.php не пробовал там мост интеграции или какие решения по интеграции искать?

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 30.09.2015 18:11
halfhope
Само собой искал, я там завсегдатай. Нет, там на самом форуме раздельная регистрация, даже разраб OpenCart не смог их совместить, может даже не пытался. Нашел платное решение, но только для регистрации, потом нашел бесплатное решение для регистрации, но оно работает напрямую с БД, пдозреваю, что и первое работает так же. Мне же нужно получить контекст phpbb и выполнить в нем свой код.

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 30.09.2015 18:34
rxu

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 30.09.2015 19:22
halfhope
Спасибо, то что нужно, оказывается достаточно было всего-то:

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

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');//$user->setup('ucp');

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 04.10.2015 13:40
Siava
А вообще реально ли сделать общую таблицу сессий для двух форумных движков (на основе 2.0 и 3.1)?

Поясню. У меня на старом форуме, который на основе 2.0.23, есть большой мод дневников от Hyperion. В текущей 3.1 дневников нет вовсе, а терять модификацию с кучей данных очень не хочется. Возможно ли, чтобы старый мод как-то работал в связке с новым движком? Чтобы при авторизации в phpbb 3.1 пользователь также авторизовался в старом форуме и мог пользоваться некоторыми древними функциями :mrgreen:

Наверное конфликтов будет масса...

P.S.
Ну или на крайний случай общую авторизацию 3.1 с 3.0. Так как в 3.0 есть потомок дневников от Hyperion - User Blog Mod.

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 04.10.2015 15:21
rxu
Siava, так может, конвертнуть User Blog Mod в расширение?

EDIT: мда. Посмотрел мод, там конвертировать - работы на месяц, не меньше.

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 02.05.2016 3:46
grechca
halfhope писал(а): Спасибо, то что нужно, оказывается достаточно было всего-то:

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

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');//$user->setup('ucp');
Доброго дня, подробнее можно?

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 02.05.2016 13:21
Sheer
Подробнее о чем?

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 03.05.2016 23:01
grechca
Sheer писал(а): Подробнее о чем?
О тому коде которые написано выше.
Задача следующая сделать:
Единую регистрацию Opencart 2,2 с phpBB3
Чтобы зарегистрированные пользователи могли оставить запись на форуме.

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 03.05.2016 23:18
halfhope
grechca писал(а):
Sheer писал(а): Подробнее о чем?
О тому коде которые написано выше.
Задача следующая сделать:
Единую регистрацию Opencart 2,2 с phpBB3
Чтобы зарегистрированные пользователи могли оставить запись на форуме.
Доброго времени суток. К сожалению, код ушел к клиенту, у себя не оставил. Работать вместе их заставить не получится. К сожалению, в PHP беда с пространством имен. Но если делать только авторизацию, то сделать можно - главное знак как именно происходит авторизация в обоих движках. Для этого можно использовать xhprof + callgraph.

Вот еще нашел готовый модуль "Единая регистрация PHPBB3 и ocStore 1.5.5.1.2"

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 03.05.2016 23:25
Sumanai
halfhope писал(а): К сожалению, в PHP беда с пространством имен.
Информация из 2009. Неймспейсы там давно есть.

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 04.05.2016 3:03
grechca
Дела в том, что этот модуль "Единая регистрация PHPBB3 и ocStore 1.5.5.1.2" для версии 1,5 а мне нужна для версии 2,2.
Мне не только нужна авторизация но, чтобы оставляли темы на форуме.

Re: Выполнение стороннего скрипта в контексте phpbb

Добавлено: 18.05.2016 9:14
halfhope
Sumanai писал(а):
halfhope писал(а): К сожалению, в PHP беда с пространством имен.
Информация из 2009. Неймспейсы там давно есть.
В OpenCart с этим проблема. Я же модуль пишу, я не хочу половину движка перелопатить. Причем перелопатить нужно под разные версии OpenCart, чтобы у всех клиентов работало, а потом как всегда придется все переписывать вручную почти каждому клиенту. Единственное правильно решения между двумя системами - мост, каким бы он ни был. А еще бывает такое, что строишь этот мост через забор, перешел, а там в заборе оказывается дверь была)