WP-UNITED (Интеграция с Wordpress)

Список разделов phpBBex 1.x (поддерживается) Мастерская 1.x

Описание: Только готовые решения! Статьи, заметки, моды и другие полезности для phpBBex 1.x и phpBB 3.0.x.
Модератор: Поддержка

Сообщение #1 factotum » 24.03.2013, 17:52

Интеграция с Wordpress

Домашняя страница: http://www.wp-united.com/get-wp-united/

Version: v0.9.2.4 Release Candidate 3
Released: 05 February 2013
Разрешены конфликты установки на phpBBex 1.6.0. Просьба отписаться о работоспособности

Адаптация для phpBBex 1.6.0 от 13-03-24
install.zip
(3.6 КБ) Скачиваний: 1041


полный архив не поместился в ограничения на вложения 512кб, поэтому необходимо самостоятельно загрузить модификацию с wp-united и в корне заменить install.xml. Инструкции на русском не адаптированы.

Добавлено спустя 3 часа 25 минут:
Проверено но WP 3.5.1 MS + phpBBex 1.6.0 + WP-UNITED 0.9.2.5 (nightly) .
При активации wp-united для WP возникает конфликт одноименных функций validate_email()
решается автозаменой для каталога phpBBex:
Код: Выделить всё
validate_email
на
Код: Выделить всё
phpbb_validate_email

кому нужна конкретика:
includes/functions_user.php:
Код: Выделить всё
- function validate_email($email, $allowed_email = false)
+ function phpbb_validate_email($email, $allowed_email = false)
includes/message_parser.php:
Код: Выделить всё
- 'email'         => array('bbcode_id' => 10,   'regexp' => array('#\[email=?(.*?)?\](.*?)\[/email\]#uise' => "\$this->validate_email('\$1', '\$2')")),
+ 'email'         => array('bbcode_id' => 10,   'regexp' => array('#\[email=?(.*?)?\](.*?)\[/email\]#uise' => "\$this->phpbb_validate_email('\$1', '\$2')")),
Код: Выделить всё
- function validate_email($var1, $var2)
+ function phpbb_validate_email($var1, $var2)

Интеграция юзеров работает. проблем не выявлено
Последний раз редактировалось factotum 26.03.2013, 09:46, всего редактировалось 1 раз.
factotum
Автор темы
Откуда: Люксембург
Репутация: 234
С нами: 12 лет 7 месяцев

Сообщение #2 factotum » 25.03.2013, 23:42

еще один костыль. конфликт одноименных функций validate_username()
решается также заменой validate_username на phpbb_validate_username

includes/functions_user.php:
Код: Выделить всё
-function validate_username($username, $allowed_username = false)
+function phpbb_validate_username($username, $allowed_username = false)
posting.php:
Код: Выделить всё
-      if (($result = validate_username($post_data['username'], (!empty($post_data['post_username'])) ? $post_data['post_username'] : '')) !== false)
+      if (($result = phpbb_validate_username($post_data['username'], (!empty($post_data['post_username'])) ? $post_data['post_username'] : '')) !== false)
factotum
Автор темы
Откуда: Люксембург
Репутация: 234
С нами: 12 лет 7 месяцев

Сообщение #3 factotum » 28.03.2013, 13:09

factotum
Автор темы
Откуда: Люксембург
Репутация: 234
С нами: 12 лет 7 месяцев

Сообщение #4 CaXaPoK » 11.04.2013, 01:53

как Интегрировать темы? автоматическим способом не получается :( а вручную знаний мало
CaXaPoK M
Откуда: Germany, Berlin
Репутация: 0
С нами: 11 лет 7 месяцев

Сообщение #5 Coldi » 12.04.2013, 23:35

Тоже проблема, пользователи не нужны, а тему интегрировать не смог.
Coldi M
Откуда: Судак
Репутация: 2
С нами: 11 лет 7 месяцев

Сообщение #6 nurgaf » 06.05.2013, 08:48

Если не сложно напишите пожалуйста подробную инструкцию по пунктам! А то совсем ничего не понятно!
nurgaf M
Аватара
Откуда: г.Челябинск
Репутация: 65
С нами: 11 лет 7 месяцев

Сообщение #7 O_C_A » 11.05.2013, 13:07

Автор, будь любезен "разжуй" пожалуйста! ОЧЕНЬ НАДО (((

Добавлено спустя 6 часов 23 минуты:
В кратце:
1. Разделить архив на два, в формате .zip ( phpbb3 MOD.zip и wp-united.zip).
2. wp-united.zip установить на Wordpress через админку путь должен быть такой такой (http://ВАШ_САЙТ.ru/wp-admin/plugin-install.php?tab=upload).
3. phpbb3 MOD.zip установить с помощью AutoMOD (как ставить AutoMOD читаем тута)
4. Офигеваем от того что всё взлетело, ну или пишем вопросы почему не летает СЮДЫ!
Аплодисменты :clap:
O_C_A M
Аватара
Откуда: г. Тверь
Репутация: 3
С нами: 11 лет 7 месяцев

Сообщение #8 O_C_A » 12.05.2013, 16:54

А вот и первые вопросы!
Какого рожна стиль форума остаёться со своим стилем,
хотя галочка проставлена
scren.jpg

что он через div должен встать в шаблон wordpress!
http://wot-tver.hol.es/

Подскажите где что починить то :help:

Добавлено спустя 5 часов 16 минут:
ПАМАГИТЕЕЕ ... !!! :pray:

Добавлено спустя 47 секунд:
Через 8 дней сайт придется запускать в работу какой есть (((
O_C_A M
Аватара
Откуда: г. Тверь
Репутация: 3
С нами: 11 лет 7 месяцев

Сообщение #9 O_C_A » 13.05.2013, 20:06

:cry: :cry: :cry:
O_C_A M
Аватара
Откуда: г. Тверь
Репутация: 3
С нами: 11 лет 7 месяцев

Сообщение #10 O_C_A » 14.05.2013, 18:44

Ясно...
САМ, ВСЁ САМ!!!
Толку от посещения форума... ну лан, может нового чаво узнаю...
O_C_A M
Аватара
Откуда: г. Тверь
Репутация: 3
С нами: 11 лет 7 месяцев

Сообщение #11 VEG » 15.05.2013, 00:28

O_C_A:Толку от посещения форума...
К сожалению, не всегда у наших посетителей есть ответы на возможные вопросы. Я, например, никогда WP United не использовал, и ничем помочь не могу.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1668
С нами: 12 лет 7 месяцев

Сообщение #12 O_C_A » 15.05.2013, 21:57

Верю, жду помощи...
А с вставкой через div можешь помочь?
Может мне проще страницу в html забацать, с оформлением как основной сайт?
O_C_A M
Аватара
Откуда: г. Тверь
Репутация: 3
С нами: 11 лет 7 месяцев

Сообщение #13 nurgaf » 25.05.2013, 21:24

Возможно ли полностью интегрировать движки не теряя сайты и их содержимое? или возможно ли оставлять коменты к записям на вордпрессе пользователями из форума без авторизации и регистрации?
nurgaf M
Аватара
Откуда: г.Челябинск
Репутация: 65
С нами: 11 лет 7 месяцев

Сообщение #14 factotum » 25.05.2013, 23:26

nurgaf:возможно ли оставлять коменты к записям на вордпрессе пользователями из форума без авторизации и регистрации?
плагин для этого и предназначен. Авторизацию общая для связанных сайта на WP и форума. Этим плагин и заинтересовал.

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

Как поступаю: оформление обоих ресурсов привожу к единому виду. Может найдется и готовое решение, лично не интересовался.
Минус в том, что обновляться уже нет охоты. Для WP мне это и не нужно - темы пишу сам. Для phpBB все еще сложнее. Тут глубокая кастомизация приводит к многочисленным изменениям, которые перенести в новую версию довольно рутинно и трудоемко. Проще развивать собственную ветку, поглядывая на полезности в референсной ветке.

Посоветовать как поступить вам - не могу. Не знаю Ваших возможностей. В рамках этой темы - от плагина мне хватает общей авторизации, большого никогда не ждал.
factotum
Автор темы
Откуда: Люксембург
Репутация: 234
С нами: 12 лет 7 месяцев

Сообщение #15 Ntcn » 27.05.2013, 00:41

Опа
Ntcn
Гость

Сообщение #16 Ironsil » 22.07.2013, 08:14

У меня форум стоит на адрессе kamkon41.zz.mu
Страница вордпресса - kamkon41.zz.mu/page


Установил распаковку для форума в kamkon41.zz.mu/phpbb3
Установил распаковку для плагина вордпресса в kamkon41.zz.mu/page/wp-content/wp-content/plugins

запустил для форума так kamkon41.zz.mu/phpbb3/install.xml

Появилось окно с инструкциями их было ооочень много. Но я их не выполнял . а следовал инструкциям топик стартера.

Надо выполнять инструкции которые даны в установке для форума ? . (их там большой список )

Выполнил замены в
[spoiler]
includes/functions_user.php:


- function validate_email($email, $allowed_email = false) на
+ function phpbb_validate_email($email, $allowed_email = false)

includes/message_parser.php:



- 'email' => array('bbcode_id' => 10, 'regexp' => array('#\[email=?(.*?)?\](.*?)\[/email\]#uise' => "\$this->validate_email('\$1', '\$2')")), на
+ 'email' => array('bbcode_id' => 10, 'regexp' => array('#\[email=?(.*?)?\](.*?)\[/email\]#uise' => "\$this->phpbb_validate_email('\$1', '\$2')")),

- function validate_email($var1, $var2) на
+ function phpbb_validate_email($var1, $var2)

ncludes/functions_user.php:


-function validate_username($username, $allowed_username = false)
+function phpbb_validate_username($username, $allowed_username = false)

posting.php:


- if (($result = validate_username($post_data['username'], (!empty($post_data['post_username'])) ? $post_data['post_username'] : '')) !== false)
+ if (($result = phpbb_validate_username($post_data['username'], (!empty($post_data['post_username'])) ? $post_data['post_username'] : '')) !== false)

[/spoiler]

Добавлено спустя 10 минут 22 секунды:
Fatal error:
Cannot redeclare make_clickable() (previously declared in /home/u551632695/public_html/page/wp-includes/formatting.php:1573) in /home/u551632695/public_html/includes/functions_content.php on line 690

Привожу код с 1573 строчки с Вордпресса.

1573 formatting.php

function make_clickable( $text ) {
$r = '';
$textarr = preg_split( '/(<[^<>]+>)/', $text, -1, PREG_SPLIT_DELIM_CAPTURE ); // split out HTML tags
foreach ( $textarr as $piece ) {
if ( empty( $piece ) || ( $piece[0] == '<' && ! preg_match('|^<\s*[\w]{1,20}+://|', $piece) ) ) {
$r .= $piece;
continue;
}

// Long strings might contain expensive edge cases ...
if ( 10000 < strlen( $piece ) ) {
// ... break it up
foreach ( _split_str_by_whitespace( $piece, 2100 ) as $chunk ) { // 2100: Extra room for scheme and leading and trailing paretheses
if ( 2101 < strlen( $chunk ) ) {
$r .= $chunk; // Too big, no whitespace: bail.
} else {
$r .= make_clickable( $chunk );
}
}
} else {
$ret = " $piece "; // Pad with whitespace to simplify the regexes

$url_clickable = '~
([\\s(<.,;:!?]) # 1: Leading whitespace, or punctuation
( # 2: URL
[\\w]{1,20}+:// # Scheme and hier-part prefix
(?=\S{1,2000}\s) # Limit to URLs less than about 2000 characters long
[\\w\\x80-\\xff#%\\~/@\\[\\]*(+=&$-]*+ # Non-punctuation URL character
(?: # Unroll the Loop: Only allow puctuation URL character if followed by a non-punctuation URL character
[\'.,;:!?)] # Punctuation URL character
[\\w\\x80-\\xff#%\\~/@\\[\\]*(+=&$-]++ # Non-punctuation URL character
)*
)
(\)?) # 3: Trailing closing parenthesis (for parethesis balancing post processing)
~xS'; // The regex is a non-anchored pattern and does not have a single fixed starting character.
// Tell PCRE to spend more time optimizing since, when used on a page load, it will probably be used several times.

$ret = preg_replace_callback( $url_clickable, '_make_url_clickable_cb', $ret );

$ret = preg_replace_callback( '#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]+)#is', '_make_web_ftp_clickable_cb', $ret );
$ret = preg_replace_callback( '#([\s>])([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})#i', '_make_email_clickable_cb', $ret );

$ret = substr( $ret, 1, -1 ); // Remove our whitespace padding.
$r .= $ret;
}
}

// Cleanup of accidental links within links
$r = preg_replace( '#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i', "$1$3</a>", $r );
return $r;






690 из форума functions_content.php

{
if ($server_url === false)
{
$server_url = generate_board_url(true);
}

static $magic_url_match;
static $magic_url_replace;

if (!is_array($magic_url_match))
{
$magic_url_match = $magic_url_replace = array();
// Be sure to not let the matches cross over. ;)

// matches a xxxx://aaaaa.bbb.cccc. ...
$magic_url_match[] = '#(^|[\n\t (>.])(' . get_preg_expression('url_inline') . ')#ieu';
$magic_url_replace[] = "make_clickable_callback(MAGIC_URL_FULL, '\$1', '\$2', '$server_url')";

// matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing
$magic_url_match[] = '#(^|[\n\t (>])(' . get_preg_expression('www_url_inline') . ')#ieu';
$magic_url_replace[] = "make_clickable_callback(MAGIC_URL_WWW, '\$1', '\$2', '$server_url')";

// matches an email@domain type address at the start of a line, or after a space or after what might be a BBCode.
$magic_url_match[] = '/(^|[\n\t (>])(' . get_preg_expression('email') . ')/ie';
$magic_url_replace[] = "make_clickable_callback(MAGIC_URL_EMAIL, '\$1', '\$2', '$server_url')";
}

return preg_replace($magic_url_match, $magic_url_replace, $text);
}
Вложения
Ошибка.JPG
Ironsil
Репутация: 0
С нами: 11 лет 4 месяца

Сообщение #17 factotum » 22.07.2013, 16:18

Ironsil,
make_clickable() в моем случае не конфликтовали.

в текущей версии phpBBex найдено:
Код: Выделить всё
\includes\acp\acp_users.php (1 hit)
   Line 1257:                   'ACTION'   => make_clickable(bbcode_nl2br($row['warning_text'])),

\includes\functions_admin.php (2 hits)
   Line 2711:          /* Apply make_clickable... has to be seen if it is for good. :/
   Line 2713:          $log[$i]['action'] = make_clickable($log[$i]['action']);

\includes\functions_content.php (10 hits)
   Line 29: * make_clickable_callback()
   Line 30: * make_clickable()
   Line 508: * Function for make_clickable_callback and bbcode::bbcode_second_pass_url
   Line 564: * A subroutine of make_clickable used with preg_replace
   Line 568: function make_clickable_callback($type, $whitespace, $url, $server_url)
   Line 659: * make_clickable function
   Line 665: function make_clickable($text, $server_url = false, $class = 'postlink')
   Line 682:       $magic_url_replace[] = "make_clickable_callback(MAGIC_URL_FULL, '\$1', '\$2', '$server_url')";
   Line 686:       $magic_url_replace[] = "make_clickable_callback(MAGIC_URL_WWW, '\$1', '\$2', '$server_url')";
   Line 690:       $magic_url_replace[] = "make_clickable_callback(MAGIC_URL_EMAIL, '\$1', '\$2', '$server_url')";

\includes\functions_profile_fields.php (1 hit)
   Line 526:             $value = make_clickable($value);

\includes\functions_user.php (2 hits)
   Line 1152: *                  Otherwise make_clickable()'ed whois result.
   Line 1226:    return trim(make_clickable($ipwhois, false, ''));

\includes\mcp\mcp_reports.php (1 hit)
   Line 151:             $report['report_text'] = make_clickable(bbcode_nl2br($report['report_text']));

\includes\message_parser.php (2 hits)
   Line 1409:       // We use the global make_clickable function
   Line 1410:       $this->message = make_clickable($this->message, $server_url);

пробуйте заменить
Код: Выделить всё
make_clickable
на
Код: Выделить всё
phpbb_make_clickable
для таких случаев использую Notepad++ и автозамену в файлах (указываешь что на что заменить и где искать)
factotum
Автор темы
Откуда: Люксембург
Репутация: 234
С нами: 12 лет 7 месяцев

Сообщение #18 Ironsil » 23.07.2013, 00:42

Выполнил я инструкцию . Вы меня простите , но появились новые ошибки вордпресса (


Общая ошибка
Language file /home/u551632695/public_html/language/ru/mods/wp-united.php couldn't be opened.

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/session.php
LINE: 2184
CALL: trigger_error()

FILE: [ROOT]/includes/session.php
LINE: 2190
CALL: phpbb_user->set_lang()

FILE: [ROOT]/includes/session.php
LINE: 2143
CALL: phpbb_user->set_lang()

FILE: [ROOT]/includes/session.php
LINE: 1686
CALL: phpbb_user->add_lang()

FILE: [ROOT]/page/wp-content/plugins/wp-united/phpbb.php
LINE: 149
CALL: phpbb_user->setup()

FILE: [ROOT]/page/wp-content/plugins/wp-united/plugin-main.php
LINE: 260
CALL: WPU_Phpbb->load()

FILE: [ROOT]/page/wp-content/plugins/wp-united/plugin-main.php
LINE: 283
CALL: WP_United_Plugin->load_phpbb()

FILE: [ROOT]/page/wp-content/plugins/wp-united/plugin-main.php
LINE: 236
CALL: WP_United_Plugin->transmit_settings()

FILE: (not given by php)
LINE: (not given by php)
CALL: WP_United_Plugin->ajax_settings_transmit()

FILE: [ROOT]/page/wp-includes/plugin.php
LINE: 406
CALL: call_user_func_array()

FILE: [ROOT]/page/wp-admin/admin-ajax.php
LINE: 72
CALL: do_action()
Ironsil
Репутация: 0
С нами: 11 лет 4 месяца

Сообщение #19 Ironsil » 07.08.2013, 09:06

Действуя согласно инструкции Install.xml от начало до конца ... Появились новые ошибки ...

Parse error: syntax error, unexpected T_IF, expecting '{' in /home/u551632695/public_html/includes/functions_content.php on line 669


if ($server_url === false)
{
$server_url = generate_board_url(true);
}

Вот код с 669 страницы.

Подскажите в чем ошибка?

Добавлено спустя 2 часа 2 минуты:
В общем.

Решил эту проблему.
Скачал с другова своего форума (оригинального , не тестового) файл Function_Content.php -
1) Внес исправления согласно этому пункту

function make_clickable($text, $server_url = false, $class = 'postlink')

Заменить на

if (!function_exists('make_clickable'))
{
function make_clickable($text, $server_url = false, $class = 'postlink')
{
return phpbb_make_clickable($text, $server_url, $class);
}
}
function phpbb_make_clickable($text, $server_url = false, $class = 'postlink')


Сохранил . перезаписал и форум ожил .
Ironsil
Репутация: 0
С нами: 11 лет 4 месяца

Сообщение #20 Nailbuster » 05.09.2013, 18:44

Возможно, здесь мне смогут помочь?.. Итак, всё работает отлично, кроме одной крайне неприятной мелочи. При нажатии кнопки "Выход" на форуме меня перекидывает не на главную страницу форума, не главную страницу сайта, а на белую пустую страницу. Что характерно, баг исчезает, когда отключаешь на сайте интеграцию юзер-аккаунтов. Нет ли возможности починить? Судя по тексту в адресной строке, здесь замешан файл ucp.php, но я так и не понял, что там нужно править. Я же нуб. Просветите, а?..
Последний раз редактировалось Nailbuster 05.09.2013, 18:53, всего редактировалось 1 раз.
Nailbuster M
Аватара
Откуда: Санкт-Петербург
Репутация: 0
С нами: 11 лет 2 месяца

След.

Вернуться в Мастерская 1.x