Автор Тема: Интеграция форума FluxBB с MODX и любой CMS  (Прочитано 4155 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sadex13

  • Модератор
  • Разработчик
  • *****
  • Сообщений: 1097
    • Просмотр профиля
  • Версия modx: Evo 1.0.6, ClipperCMS 1.2.6
Цель интеграции очевидна - иметь единую систему регистрации и учета пользователей, на одних таблицах БД и скриптах для сайта и форума. Скрипты и таблицы FluxBB современны и просты, поэтому этот форум может легко интегрироваться в любую CMS, включая, естественно, MODX-CMS.

Простейшее встраивание форума флакса в сайт на MODX (СlipperCMS) можно посмотреть здесь:
http://www.clippercms.com/forum/
Там к флаксу просто добавлен хидер Клиппера сверху и футер снизу.

Более серьезные способы интеграции CMS и FluxBB описаны здесь:
http://fluxbb.org.ru/forum/viewtopic.php?id=3842
« Последнее редактирование: 28 Январь 2014, 05:27:27 от sadex13 »
FluxBB (PHP/MySQL) - легкий и быстрый форум для MODX с открытым кодом, минимальные требования к ресурсам.

Оффлайн sadex13

  • Модератор
  • Разработчик
  • *****
  • Сообщений: 1097
    • Просмотр профиля
  • Версия modx: Evo 1.0.6, ClipperCMS 1.2.6
Re: Интеграция форума FluxBB с MODX и любой CMS
« Ответ #1 : 31 Январь 2014, 11:22:12 »
В системе учета пользователей флакса используются всего три формы - Вход, Регистрация и Запрос_пароля (по ссылке Забыли пароль? из формы Входа). Поначалу я выдрал все три формы из флакса и всадил их в свои скрипты логина и регистрации CMS. Все работает, в случае отсутствия ошибок ввода (имеются ввиду не простые ошибки заполнения полей форм, которые, в скриптах логина и регистрации CMS, также нормально обрабатываются через взятые у флакса JS-обработчики первичной валидации на клиенте). Имеются в виду серьезные обработчики на PHP, довольно сложные, которые только для простейшей формы Запрос_пароля делают много чего навороченного.

В итоге оставил на сайте ST-CMS только форму Входа, остальную обработку перенаправляю на формы и скрипты флакса. Это удобно. Форма входа у сайта своя, ей юзеры наиболее часто пользуются. Форма Регистрации на флаксе - для сайта и форума общая. Форма Запрос_пароля на флаксе - для сайта и форума общая.
FluxBB (PHP/MySQL) - легкий и быстрый форум для MODX с открытым кодом, минимальные требования к ресурсам.

Оффлайн sadex13

  • Модератор
  • Разработчик
  • *****
  • Сообщений: 1097
    • Просмотр профиля
  • Версия modx: Evo 1.0.6, ClipperCMS 1.2.6
Re: Интеграция форума FluxBB с MODX и любой CMS
« Ответ #2 : 31 Январь 2014, 11:25:06 »
Пример встраивания формы входа FluxBB в шаблон главной страницы ST-CMS (SadexTest-CMS)
<?php

/**
 * Copyright (C) 2014 ST-CMS
*/

define('ST_ROOT', dirname(__FILE__).'/'); // путь к корню ST-CMS

$stat='<form id="login" method="post" action="xba/login.php?action=in" onsubmit="return process_form(this)">';
$stat.='<div class="inform">
<fieldset>
<legend>Введите имя пользователя и пароль</legend>
<div class="infldset">
<input type="hidden" name="form_sent" value="1" />
<input type="hidden" name="redirect_url" value="http://st/xba/index.php" />
<label class="conl required"><strong>Имя <span>(Обязательно)</span></strong><br /><input type="text" name="req_username" size="25" maxlength="25" tabindex="1" /><br /></label>
<label class="conl required"><strong>Пароль <span>(Обязательно)</span></strong><br /><input type="password" name="req_password" size="25" tabindex="2" /><br /></label>';

$stat.='<div class="rbox clearb">
<label><input type="checkbox" name="save_pass" value="1" tabindex="3" />Узнавать меня автоматически при каждом посещении.<br /></label>
</div>
<p class="clearb">Если вы ещё не зарегистрированы или забыли пароль, кликните на подходящей ссылке внизу.</p>
<p class="actions"><span><a href="xba/register.php" tabindex="5">Ещё не зарегистрированы?</a></span><span><a href="xba/login.php?action=forget" tabindex="6">Забыли пароль?</a></span></p>
</div>
</fieldset>
</div>
<p class="buttons"><input type="submit" name="login" value="Вход" tabindex="4" /></p>
</form>';

// Включение шаблона главной страницы ST-CMS
include_once(ST_ROOT.'psdv/tpl/main.php');

?>
Пояснения к скрипту.

В шаблоне ST-CMS эта форма выводится так: <?=$stat?>. Такой способ сборки формы в переменную и последующего вывода этой переменной в шаблоне позволяет вывести форму в любой удобной для этого области страницы CMS.

В папке xba/ у меня расположены файлы FluxBB.

При вводе данных в форму и нажатии кнопки "Вход" данные формы передаются на скрипт login.php FluxBB по ссылке xba/login.php?action=in, что указано в атрибуте action.

JS-обработчик onsubmit="return process_form(this)" также можно включить в переменную $stat.

Работа при входе/авторизации из данной формы проверена, скрипты FluxBB работают нормально.

По такому принципу, надеюсь, можно выводить любую форму системы входа/регистрации FluxBB на странице сопряженной с FluxBB и работать через нее.
FluxBB (PHP/MySQL) - легкий и быстрый форум для MODX с открытым кодом, минимальные требования к ресурсам.