Интеграция форума vanilla

Обсуждение документации. Переводы Cookbook и авторские рецепты.
Ответить
Аватара пользователя
dust4alex
Сообщения: 9
Зарегистрирован: 2013.03.05, 21:36

Интеграция форума vanilla

Сообщение dust4alex » 2013.03.05, 22:43

Всем привет!

Я создаю небольшой проект, неотъемлемая часть которого является форум. Имея небольшой навык программирования и только базовое знакомство с yii я испугался подробного и отличного мануала по прикручиванию форума phpbb (ссылка на статью http://www.elisdn.ru/blog/32/podklyucha ... hpbb-k-yii)

Я начал искать советы/гуглить, наткнулся на такой замечательный форум как vanilla. (http://vanillaforums.org/)
Обзор на хабре: http://habrahabr.ru/post/116665/

Оказывается к этому достойному форуму есть proxy авторизация. Так же нашел статью на харбре где ее прикрутили к CI -http://habrahabr.ru/post/102149/

Уважаемое сообщество :ugeek: , очень рассчитываю на вашу активную помощь в прикрутке данного модуля к yii. А именно в решении 3 задач:
1. Аутефикации залогиненного пользователя в проекте yii при переходе на форум vanilla в рамках плагина proxyconnect.
2. Logout – выйдя на форуме, разлогиниваемся на сайте и наоброт. Login через форум vanilla
3. Скрытие/удаление регистрации пользователей на форуме vanilla, отображение форума vanilla только в рамках сайта.

Для решение задачи я создал проект в репозитории:
https://github.com/dust4alex/yiivanillaforum

Бд использовал mysql - yiivanillaforum / protected / data / schema.mysql.sql
В корне лежит архив форума vanilla (vanilla-core-2-0-18-4.zip) и плагин proxyconnect(proxyconnect-plugin-1-9-9.zip).

Единсвенную русскую статью с обзором и прикручиванием vanilla нашел в этом блоге –
http://anton.shevchuk.name/php/embed-mi ... n-vanilla/
Где описывается великолептный плагин встройки форума в сайт, с помощью плагина - <Embed>

Аватара пользователя
dust4alex
Сообщения: 9
Зарегистрирован: 2013.03.05, 21:36

Re: Интеграция форума vanilla

Сообщение dust4alex » 2013.03.05, 22:45

Установка vanilla forum

Я решил разместить форум в папке www/vanilla, мозможно целесообразно не давать пользователю прямой доступ к форуму, а использовать его только в рамках сайта, но сейчас это для меня не приоритетная проблема.

Для установки распакуем архив в папку vanilla.

Зайдем по адресу http://blog/vanilla/ - укажем параметры нашей БД. Форум установлен.

Добавим расширение proxyconnect. Распакуем папку ProxyConnect из архива blog\vanilla\plugins\proxyconnect-plugin-1-9-9.zip в blog/vanilla/plugins/

Возращаемся в http://blog/vanilla/ . Заходим под созданным админом и делаем плагины <Embed> Vanilla и появившийся Vanilla Proxyconnect – enable

Отобразить форум я решил http://blog/site/forum

Добавим код в blog\protected\views\site\forum.php из плагина <Embed>

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

<script type="text/javascript" src="http://blog/vanilla/plugins/embedvanilla/remote.js"></script>
И увидим наш форум http://blog/site/forum :)

Аватара пользователя
dust4alex
Сообщения: 9
Зарегистрирован: 2013.03.05, 21:36

Re: Интеграция форума vanilla

Сообщение dust4alex » 2013.03.05, 22:47

1. Аутефикации залогиненного пользователя в проекте yii при переходе на форум vanilla в рамках плагина proxyconnect.
На основании мануала к плагину proxyconnect:


http://vanillaforums.org/docs/proxyconnect_sso

а вернее примера на рельсах (http://vanillaforums.org/page/proxyconnect_rails)

Я перешел к созданию аутефикации.

В SiteController.php добавил

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

    //Authenticate with forum vanilla
    public function actionVanillaProxy()
    {
        if (!Yii::app()->user->isGuest){
            $user =User::model()->findByPk(Yii::app()->user->id);
            echo "
                    UniqueID={$user->id}
                    Name={$user->username}
                    Email={$user->email}
                ";
        }
        else {
            $this->render('VanillaProxy');
        }
    }
 
Создал вьюшку VanillaProxy.php, возможно отображения данных из модели юзеров стоит сделать непосредственно в ней, но как при этом игнорировать layouts?

Зашел в настройки форума - раздел Authentication, выбрал в Configure an Authenticator - proxyconnect
Указал Authenticate URL - http://blog/site/VanillaProxy

Остальные параметры еще не реализованы, поэтому просто заполнил их http://blog

Авторизовался в нашем блоге и успешно прошел - Test ProxyConnect Settings.
screen.jpg
screen.jpg (179.98 КБ) 5399 просмотров
На этом пока все. Надеюсь на вашу помощь в дополнении методов авторизации.

Аватара пользователя
dust4alex
Сообщения: 9
Зарегистрирован: 2013.03.05, 21:36

Re: Интеграция форума vanilla

Сообщение dust4alex » 2013.04.12, 16:44

После резко переноса в рецепты и нулевых ответов, я решительно поздабил :D

И вот спустя месяц попробывал еще разок, не поверите, все получилось!

Пример настройки proxyConnect,для локального блога:
123.png
123.png (11.86 КБ) 5283 просмотра
В нашем SiteController сделаем перелинковки:

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

    //Authenticate with forum vanilla
    public function actionVanillaProxy()
    {
        if (!Yii::app()->user->isGuest){
            $user =User::model()->findByPk(Yii::app()->user->id);
            echo "
                    UniqueID={$user->id}
                    Name={$user->username}
                    Email={$user->email}
                ";
        }
        else {
            echo "<script>parent.location.href='http://blog:82/'</script>";
            die();
        }
    }

    public function actionVanillaMain()
    {
        echo "<script>parent.location.href='http://blog:82/'</script>";
        die();
    }
    public function actionVanillaReg()
    {
        echo "<script>parent.location.href='http://blog:82/site/reg'</script>";
        die();
    }
    public function actionVanillaLogout()
    {
        echo "<script>parent.location.href='http://blog:82/site/logout'</script>";
        die();
    }

    public function actionVanillaLogin()
    {
        echo "<script>parent.location.href='http://blog:82/site/login'</script>";
        die();
    }
Залил для примера на фри хост - http://blogvanilla.zz.mu/site/forum

WhoShotYa
Сообщения: 1
Зарегистрирован: 2013.05.23, 20:52

Re: Интеграция форума vanilla

Сообщение WhoShotYa » 2013.05.23, 21:02

Спасибо большое! Я как раз столкнулся с необходимостьюв интеграции Vanilla - отпишу, если возникнут трудности или будут дополнения. Спасибо ещё раз!

Аватара пользователя
dignityinside
Сообщения: 74
Зарегистрирован: 2013.04.04, 17:57
Контактная информация:

Re: Интеграция форума vanilla

Сообщение dignityinside » 2013.05.28, 00:24

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

Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Интеграция форума vanilla

Сообщение Insolita » 2014.05.08, 08:37

интересный двиг, а главное весьма интуитивный , по поводу интеграции хочу уточнить - получается разворачивааешь форум - где-нибудь в подпапке или на поддомене, а потом можно в контроллер интегрировать именно юзерскую часть - или админка тоже интегрируется?
И раз используете - может подскажете полноценный перевод адекватный - уже и по статье со смартилокализатором опробовала и так - нормального полного перевода даже хотябы юзерской части нету:-( некоторые переводы вообще корявые

Аватара пользователя
dust4alex
Сообщения: 9
Зарегистрирован: 2013.03.05, 21:36

Re: Интеграция форума vanilla

Сообщение dust4alex » 2015.01.28, 03:42

Insolita писал(а):интересный двиг, а главное весьма интуитивный , по поводу интеграции хочу уточнить - получается разворачивааешь форум - где-нибудь в подпапке или на поддомене, а потом можно в контроллер интегрировать именно юзерскую часть - или админка тоже интегрируется?
Весь форум написан на js. Т.е вы можете вставить его в любое место вашего сайта.
Мной представлен "Легкий" способ интеграции.
Т.е находите нужное место в вашем проекте и впихиваете строчку:

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

<script type="text/javascript" src="http://blog/vanilla/plugins/embedvanilla/remote.js"></script>
Там будет отображаться форум.
Этот форум можно настроить, при регистрации и авторизации он будет работать с вашими пользователями на сайте. (ProxyConnect).

Так же есть API: http://blog.vanillaforums.com/api/
Insolita писал(а): И раз используете - может подскажете полноценный перевод адекватный - уже и по статье со смартилокализатором опробовала и так - нормального полного перевода даже хотябы юзерской части нету:-( некоторые переводы вообще корявые
Данный проект делался для небольшой группы людей, проблем с англ нет.

Но ванила продолжает развиваться, есть русская локализация:
http://vanillaforums.org/addon/vf_ru-locale

Инструкция по установке:

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

Enabling a Locale Pack on Your Site
Once you have a locale pack you can enable it on your site using these steps:
Copy the locale pack to your /locales folder.
Go to you dashboard under locales and enable the locale pack.
Make sure your locale is selected as the default locale at the top. 
Качаем в папку /locates и тыкаем в настройках enable и по умолчанию рус локализацию.

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

PS. Извиняюсь за поздний ответ

Ответить