Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Dimsby

3.2.3 - интеграция в smarty и авторизация

Рекомендованные сообщения

Есть сайт 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 парсится на сайт. Проблема в том, что уже залогиненные на форуме пользователи разлогиниваются, когда заходят на сайт со страничкой новостей. Подскажите, как поправить.

Поделиться сообщением


Ссылка на сообщение

Как-то вы неправильно подключаете ядро

 

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();

Поделиться сообщением


Ссылка на сообщение
10/12/12 15:38 (изменено)

Все равно сбрасывается авторизация.

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/ и страничка откуда вызывается шаблон в корне.

Подскажите, где еще может быть ошибка? :(

Изменено пользователем Dimsby

Поделиться сообщением


Ссылка на сообщение

В пути для cookies. Как вариант, из-за ваших настроек на сайте могут быть недоступны cookies форума, и тогда сайт создает новую гостевую cookie, которая перетирает форумную. Задайте в настройках форума путь для cookies как "/", и домен заодно свой пропишите.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...