Textpattern - на русском языке

форум общения русскоязычных пользователей CMS Текстпаттерн

Вы не зашли.

#1 22-02-2011 15:51:37

humka
буки
Зарегистрирован: 23-12-2008
Сообщений: 6

Интеграция textpattern с phpbb3

Здравствуйте! Недавно возникла необходимость в интеграции сайта site.ru с форумом phpbb3 forum.site.ru
Хочу поделиться наработками.

1. В моем случае форум находится на поддомене, соответственно заходим в административный раздел форума, в 1-й вкладке (общие, конфигурация сервера) ищем "Настройки cookies" и вместо site.ru прописываем .site.ru

2. Создаем (с помощью Plugin Composer, например) новый plugin и называем его if_user

Код:

function if_user($atts,$thing=NULL) {
global $phpbb_root_path, $phpEx, $user, $db, $config, $cache, $template;
define('IN_PHPBB', true);
$phpbb_root_path = '/полный_путь_к/forum.site.ru/';
$phpEx = 'php';
include($phpbb_root_path . 'common.php');
$user->session_begin();
global $user;

if ($thing===NULL)   
     return $user->data['username'];

return parse(Evalelse($thing, ($user->data['is_registered'])));
}

<txp:if_user /> вернет нам имя пользователя (в случае если на данный момент пользователь аутентифицирован на форуме)

конструкция:

<txp:if_user>
     Имя пользователя: <txp:if_user />
<txp:else />
     Пользователь не аутентифицирован
</txp:if_user>

в пояснениях не нуждается.

Если интересно, пожже я могу опубликовать методы авторизации на форуме с сайта.

P.S. Большая благодарность Виктору (the_ghost) за помощь в освоении textpattern, терпение и понимание smile

Отредактированно humka (22-02-2011 17:30:22)

Неактивен

 

#2 23-02-2011 02:09:30

itshaman
слово
Откуда: Омск
Зарегистрирован: 03-06-2009
Сообщений: 395
Вебсайт

Re: Интеграция textpattern с phpbb3

Конечно интересно. Если можно то пример реализации бы еще не помешал


Помогу сделать Ваш сайт лучше! Принимаю Webmoney, PayPal, рубли, доллары, печеньки

Неактивен

 

#3 23-02-2011 13:48:38

humka
буки
Зарегистрирован: 23-12-2008
Сообщений: 6

Re: Интеграция textpattern с phpbb3

Тут проблемка выявилась с кешированием. Т.е. если мы посетили страницы А1 и А2, вернулись на главную, аутентифицировались, а потом опять зашли на страницу А1 или А2 - они возьмутся из кеша, и соответственно плагин нам не покажет что мы "зарегистрированный пользователь".

roll  roll  roll

Неактивен

 

#4 24-02-2011 06:54:43

itshaman
слово
Откуда: Омск
Зарегистрирован: 03-06-2009
Сообщений: 395
Вебсайт

Re: Интеграция textpattern с phpbb3

humka написал:

Тут проблемка выявилась с кешированием. Т.е. если мы посетили страницы А1 и А2, вернулись на главную, аутентифицировались, а потом опять зашли на страницу А1 или А2 - они возьмутся из кеша, и соответственно плагин нам не покажет что мы "зарегистрированный пользователь".

roll  roll  roll

Эта проблема скорее всего браузера и его работы с кэшем. К примеру, Opera будет скорее всего нормально работать в этой ситуации. Google Chrome возьмет из кэша всю страницу. Про Firefox сказать не могу, так как не знаю.


Помогу сделать Ваш сайт лучше! Принимаю Webmoney, PayPal, рубли, доллары, печеньки

Неактивен

 

#5 24-02-2011 14:03:55

humka
буки
Зарегистрирован: 23-12-2008
Сообщений: 6

Re: Интеграция textpattern с phpbb3

Вообще проблема здесь несколько глубже. Моя цель интеграции - комментарии. Т.е. я хочу чтобы комментарии на сайте site.ru могли оставлять только зарегистрированные (на форуме) forum.site.ru пользователи. Ну и аватарка с форума естественно. По поводу проблемы с кешированием, мне кажется есть два варианта. Первый из них и самый простой, это в теле плагина указать

Код:

header("Cache-Control: no-cache");

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

Второй вариант, это написать скрипт на js, который будет вызывать php скрипт отвечающий за проверку аутентификации и выдавать в нужное место его результаты. Плюсы - страницы будут кешироваться, нагрузка на сервер возрастет совсем незначительно, только за счет вызова небольшого скрипта. Из минусов - всю систему комментариев нужно будет переписывать, т.к. то что есть в этом варианте работать не будет. В случае кеширования страниц мы не сможем воспользоваться конструкцией

<txp:if_user>
    Выводим форму ввода комментариев
<txp:else />
    Комментарии запрещены!
<txp:if_user />

Вообще, хочу заметить что комментарии в TXP отвратительно реализованы. Система оборачивает форму и сами комментарии тегами с уже назначенными системой классами, невозможность отключить дурацкую кнопку "предпросмотр"...

P.S. А вообще, если будет открываться кешированная страничка с js кодом ***.load(/script.php); - результат работы скрипта script.php не будет кеширован? Я совсем не спец в js, поэтому и вопрос, может зря огород горожу?

Неактивен

 

#6 02-03-2011 17:10:38

humka
буки
Зарегистрирован: 23-12-2008
Сообщений: 6

Re: Интеграция textpattern с phpbb3

В общем сделал я всё. Результат можно посмотреть на моем сайте Фокусы и трюки.

Тыкать в горизонтальном меню "Вход" (ну и "закрыть", после).

Немного php+ajax и все красиво smile

Код:

function user_if($atts,$thing) {
     global $phpbb_root_path, $phpEx, $user, $db, $config, $cache, $template;
     define('IN_PHPBB', true);
     $phpbb_root_path = '/usr/home/**************************';
     $phpEx = 'php';
     include($phpbb_root_path . 'common.php');
     $user->session_begin();

header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
header('Cache-Control: no-store, no-cache, must-revalidate'); 
header('Cache-Control: post-check=0, pre-check=0', FALSE); 
header('Pragma: no-cache');  

     global $user;
     return parse(Evalelse($thing, ($user->data['is_registered'])));
}

function user_name() {
     global $user;
     return $user->data['username'];
}

function user_avatar() {
     global $user;
     if($user->data['user_avatar'])
          return $user->data['user_avatar'];
     else
          return 'noavatar.jpg';
}

php logout

Код:

define('IN_PHPBB', true);
$phpbb_root_path = '/usr/home/*****************';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.php');
$user->session_begin();

$user = $GLOBALS['user'];

$user->session_kill();
$user->session_begin();

header('location: ' . $_SERVER['HTTP_REFERER']);

php login

Код:

header('Cache-control: private');
global $phpbb_root_path, $phpEx, $user, $db, $config, $cache, $template;
define('IN_PHPBB', true);
$phpbb_root_path = '/usr/home/*******************';
$phpEx = 'php';
include($phpbb_root_path . 'common.php');
$user->session_begin();

$username = $_POST['name'];
$password = $_POST['pwd'];

//////////////////////////////////////
// обрабатываем данные в целях безопасности, каждый по своему :)
//////////////////////////////////////

global $user;

$user->session_kill();
$user->session_begin();

$auth->acl($user->data);
$user->setup();
$result = $auth->login($username, $password);


    if($result['status'] == LOGIN_SUCCESS)
    echo 'ok';
    else
    echo 'error';

Неактивен

 

#7 03-03-2011 19:43:54

itshaman
слово
Откуда: Омск
Зарегистрирован: 03-06-2009
Сообщений: 395
Вебсайт

Re: Интеграция textpattern с phpbb3

Что-то я не нашел на сайте формы регистрации. Походу она только на форуме делается?


Помогу сделать Ваш сайт лучше! Принимаю Webmoney, PayPal, рубли, доллары, печеньки

Неактивен

 

#8 03-03-2011 19:50:09

itshaman
слово
Откуда: Омск
Зарегистрирован: 03-06-2009
Сообщений: 395
Вебсайт

Re: Интеграция textpattern с phpbb3

Я, как посетитель сайта, порекомендовал бы Вам все таки сделать не "Закрыть", а крестик. Это просто привычнее как-то.
И в статьях, оставить информацию и ссылку, что нужна регистрация, а то новым пользователям не сразу понятно, как оставить комментарии


Помогу сделать Ваш сайт лучше! Принимаю Webmoney, PayPal, рубли, доллары, печеньки

Неактивен

 

#9 03-03-2011 20:42:04

humka
буки
Зарегистрирован: 23-12-2008
Сообщений: 6

Re: Интеграция textpattern с phpbb3

Я не стал делать регистрацию на сайте, не знаю, стоит ли?

Крестик пожалуй сделаю, спасибо за идею, itshaman smile

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

Неактивен

 

#10 05-03-2011 13:10:51

humka
буки
Зарегистрирован: 23-12-2008
Сообщений: 6

Re: Интеграция textpattern с phpbb3

Посмотрел сейчас, некуда там крестик лепить :-/

Неактивен

 

#11 03-06-2011 01:27:43

Hike89
Забанен
Зарегистрирован: 07-05-2011
Сообщений: 2

Re: Интеграция textpattern с phpbb3

хм, как раз хотел спросить. спасибо)

Неактивен

 

Board footer

RSS   Rambler's Top100
Powered by PunBB
Textpattern.ru