October 9, 201213 yr Есть сайт c шаблонизатором smarty и отдельно стоит форум, откуда на сайт парсятся новости. Код шаблона смарти: {foreach from=$items item=topic} <div class="box"> <a href="/news/{$topic.tid}" name="{$topic.tid}">{$topic.title}</a> <a href="/forum/index.php?showtopic={$topic.tid}" class="box_comment">{$topic.posts}</a> </h1> <div class="box_content"> {$topic.text|parseipb} </div> </div> {/foreach} Код плагина для смарти parseipb: require_once($_SERVER['DOCUMENT_ROOT'].DIRSEP.'forum/initdata.php' ); require_once($_SERVER['DOCUMENT_ROOT'].DIRSEP.'forum/admin/sources/base/ipsRegistry.php' ); function smarty_modifier_parseipb($string) { $registry = ipsRegistry::instance(); $registry->init(); IPSText::getTextClass('bbcode')->parse_html = 0; IPSText::getTextClass('bbcode')->parse_nl2br = 1; IPSText::getTextClass('bbcode')->parse_bbcode = 1; IPSText::getTextClass('bbcode')->parse_smilies = 0; $string = IPSText::getTextClass('bbcode')->preDisplayParse($string); return $string; } Код работает и bbcode ipb парсится на сайт. Проблема в том, что уже залогиненные на форуме пользователи разлогиниваются, когда заходят на сайт со страничкой новостей. Подскажите, как поправить.
October 9, 201213 yr Как-то вы неправильно подключаете ядро define( 'IPB_THIS_SCRIPT', 'public' ); define( 'IPS_PUBLIC_SCRIPT', 'index.php'); define( 'IPS_ENFORCE_ACCESS', true); // с 3.1.* require_once( 'initdata.php' ); require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' ); require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' ); $registry = ipsRegistry::instance(); $registry->init(); ipsRegistry::instance(); ipsRegistry::init();
October 12, 201213 yr Author Все равно сбрасывается авторизация. function smarty_modifier_parseipb($string) { define( 'IPB_THIS_SCRIPT', 'public' ); define( 'IPS_PUBLIC_SCRIPT', 'index.php'); define( 'IPS_ENFORCE_ACCESS', true); require_once( $_SERVER['DOCUMENT_ROOT'].DIRSEP.'forum/initdata.php' ); require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' ); require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' ); $registry = ipsRegistry::instance(); $registry->init(); $member = $registry->member()->fetchMemberData(); var_dump($member["members_display_name"]); IPSText::getTextClass('bbcode')->parse_html = 0; IPSText::getTextClass('bbcode')->parse_nl2br = 1; IPSText::getTextClass('bbcode')->parse_bbcode = 1; IPSText::getTextClass('bbcode')->parse_smilies = 0; $string = IPSText::getTextClass('bbcode')->preDisplayParse($string); return $string; } Эта функция лежит в /lib/smarty/plugins/ , форум /forum/ и страничка откуда вызывается шаблон в корне.Подскажите, где еще может быть ошибка? :( Edited October 12, 201213 yr by Dimsby
October 12, 201213 yr В пути для cookies. Как вариант, из-за ваших настроек на сайте могут быть недоступны cookies форума, и тогда сайт создает новую гостевую cookie, которая перетирает форумную. Задайте в настройках форума путь для cookies как "/", и домен заодно свой пропишите.
Есть сайт c шаблонизатором smarty и отдельно стоит форум, откуда на сайт парсятся новости.
Код шаблона смарти:
{foreach from=$items item=topic} <div class="box"> <a href="/news/{$topic.tid}" name="{$topic.tid}">{$topic.title}</a> <a href="/forum/index.php?showtopic={$topic.tid}" class="box_comment">{$topic.posts}</a> </h1> <div class="box_content"> {$topic.text|parseipb} </div> </div> {/foreach}Код плагина для смарти parseipb:
require_once($_SERVER['DOCUMENT_ROOT'].DIRSEP.'forum/initdata.php' ); require_once($_SERVER['DOCUMENT_ROOT'].DIRSEP.'forum/admin/sources/base/ipsRegistry.php' ); function smarty_modifier_parseipb($string) { $registry = ipsRegistry::instance(); $registry->init(); IPSText::getTextClass('bbcode')->parse_html = 0; IPSText::getTextClass('bbcode')->parse_nl2br = 1; IPSText::getTextClass('bbcode')->parse_bbcode = 1; IPSText::getTextClass('bbcode')->parse_smilies = 0; $string = IPSText::getTextClass('bbcode')->preDisplayParse($string); return $string; }Код работает и bbcode ipb парсится на сайт. Проблема в том, что уже залогиненные на форуме пользователи разлогиниваются, когда заходят на сайт со страничкой новостей. Подскажите, как поправить.