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

Board index phpBBex 1.x Мастерская

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

Post #1by 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 KiB) Downloaded 506 times


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

Added after 3 hours 25 minutes:
Проверено но WP 3.5.1 MS + phpBBex 1.6.0 + WP-UNITED 0.9.2.5 (nightly) .
При активации wp-united для WP возникает конфликт одноименных функций validate_email()
решается автозаменой для каталога phpBBex:
Code: Select all
validate_email
на
Code: Select all
phpbb_validate_email

кому нужна конкретика:
includes/functions_user.php:
Code: Select all
- function validate_email($email, $allowed_email = false)
+ function phpbb_validate_email($email, $allowed_email = false)
includes/message_parser.php:
Code: Select all
- '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')")),
Code: Select all
- function validate_email($var1, $var2)
+ function phpbb_validate_email($var1, $var2)

Интеграция юзеров работает. проблем не выявлено
Last edited by factotum on 26.03.2013, 09:46, edited 1 time in total.
Если "улучшение" стало "граблями" - Вы его переросли
factotum
Topic author, Гуру
Location: Люксембург
Reputation: 232
With us: 5 years 1 month

Post #2by factotum » 25.03.2013, 23:42

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

includes/functions_user.php:
Code: Select all
-function validate_username($username, $allowed_username = false)
+function phpbb_validate_username($username, $allowed_username = false)
posting.php:
Code: Select all
-      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
Topic author, Гуру
Location: Люксембург
Reputation: 232
With us: 5 years 1 month

Post #3by factotum » 28.03.2013, 13:09

Если "улучшение" стало "граблями" - Вы его переросли
factotum
Topic author, Гуру
Location: Люксембург
Reputation: 232
With us: 5 years 1 month

Post #4by CaXaPoK » 11.04.2013, 01:53

как Интегрировать темы? автоматическим способом не получается :( а вручную знаний мало
CaXaPoK M
Новичок
Age: 33
Location: Germany, Berlin
Reputation: 0
With us: 4 yaers 1 month

Post #5by Coldi » 12.04.2013, 23:35

Тоже проблема, пользователи не нужны, а тему интегрировать не смог.
Все строят планы, и никто не знает,проживёт ли он до вечера.
Coldi M
Новичок
Age: 29
Location: Судак
Reputation: 2
With us: 4 yaers 1 month

Post #6by nurgaf » 06.05.2013, 08:48

Если не сложно напишите пожалуйста подробную инструкцию по пунктам! А то совсем ничего не понятно!
nurgaf M
Гуру
Avatar
Age: 20
Location: г.Челябинск
Reputation: 65
With us: 4 yaers 1 month

Post #7by O_C_A » 11.05.2013, 13:07

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

Added after 6 hours 23 minutes:
В кратце:
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:
Не так страшен русский танк, как его пьяный экипаж!
Я ЗНАЮ: HTML, CSS, PHP и много других страшных слов !
O_C_A M
Новичок
Avatar
Age: 38
Location: г. Тверь
Reputation: 3
With us: 4 yaers 1 month

Post #8by O_C_A » 12.05.2013, 16:54

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

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

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

Added after 5 hours 16 minutes:
ПАМАГИТЕЕЕ ... !!! :pray:

Added after 47 seconds:
Через 8 дней сайт придется запускать в работу какой есть (((
Не так страшен русский танк, как его пьяный экипаж!
Я ЗНАЮ: HTML, CSS, PHP и много других страшных слов !
O_C_A M
Новичок
Avatar
Age: 38
Location: г. Тверь
Reputation: 3
With us: 4 yaers 1 month

Post #9by O_C_A » 13.05.2013, 20:06

:cry: :cry: :cry:
Не так страшен русский танк, как его пьяный экипаж!
Я ЗНАЮ: HTML, CSS, PHP и много других страшных слов !
O_C_A M
Новичок
Avatar
Age: 38
Location: г. Тверь
Reputation: 3
With us: 4 yaers 1 month

Post #10by O_C_A » 14.05.2013, 18:44

Ясно...
САМ, ВСЁ САМ!!!
Толку от посещения форума... ну лан, может нового чаво узнаю...
Не так страшен русский танк, как его пьяный экипаж!
Я ЗНАЮ: HTML, CSS, PHP и много других страшных слов !
O_C_A M
Новичок
Avatar
Age: 38
Location: г. Тверь
Reputation: 3
With us: 4 yaers 1 month

Post #11by VEG » 15.05.2013, 00:28

O_C_A wrote:Толку от посещения форума...
К сожалению, не всегда у наших посетителей есть ответы на возможные вопросы. Я, например, никогда WP United не использовал, и ничем помочь не могу.
С наилучшими пожеланиями, Евгений
VEG M
Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1573
With us: 5 years 1 month

Post #12by O_C_A » 15.05.2013, 21:57

Верю, жду помощи...
А с вставкой через div можешь помочь?
Может мне проще страницу в html забацать, с оформлением как основной сайт?
Не так страшен русский танк, как его пьяный экипаж!
Я ЗНАЮ: HTML, CSS, PHP и много других страшных слов !
O_C_A M
Новичок
Avatar
Age: 38
Location: г. Тверь
Reputation: 3
With us: 4 yaers 1 month

Post #13by nurgaf » 25.05.2013, 21:24

Возможно ли полностью интегрировать движки не теряя сайты и их содержимое? или возможно ли оставлять коменты к записям на вордпрессе пользователями из форума без авторизации и регистрации?
nurgaf M
Гуру
Avatar
Age: 20
Location: г.Челябинск
Reputation: 65
With us: 4 yaers 1 month

Post #14by factotum » 25.05.2013, 23:26

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

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

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

Посоветовать как поступить вам - не могу. Не знаю Ваших возможностей. В рамках этой темы - от плагина мне хватает общей авторизации, большого никогда не ждал.
Если "улучшение" стало "граблями" - Вы его переросли
factotum
Topic author, Гуру
Location: Люксембург
Reputation: 232
With us: 5 years 1 month

Post #15by Ntcn » 27.05.2013, 00:41

Опа
Ntcn
Гость

Post #16by 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]

Added after 10 minutes 22 seconds:
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);
}
Attachments
Ошибка.JPG
Ironsil
Новичок
Reputation: 0
With us: 3 yaers 10 months

Post #17by factotum » 22.07.2013, 16:18

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

в текущей версии phpBBex найдено:
Code: Select all
\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);

пробуйте заменить
Code: Select all
make_clickable
на
Code: Select all
phpbb_make_clickable
для таких случаев использую Notepad++ и автозамену в файлах (указываешь что на что заменить и где искать)
Если "улучшение" стало "граблями" - Вы его переросли
factotum
Topic author, Гуру
Location: Люксембург
Reputation: 232
With us: 5 years 1 month

Post #18by 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
Новичок
Reputation: 0
With us: 3 yaers 10 months

Post #19by 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 страницы.

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

Added after 2 hours 2 minutes:
В общем.

Решил эту проблему.
Скачал с другова своего форума (оригинального , не тестового) файл 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
Новичок
Reputation: 0
With us: 3 yaers 10 months

Post #20by Nailbuster » 05.09.2013, 18:44

Возможно, здесь мне смогут помочь?.. Итак, всё работает отлично, кроме одной крайне неприятной мелочи. При нажатии кнопки "Выход" на форуме меня перекидывает не на главную страницу форума, не главную страницу сайта, а на белую пустую страницу. Что характерно, баг исчезает, когда отключаешь на сайте интеграцию юзер-аккаунтов. Нет ли возможности починить? Судя по тексту в адресной строке, здесь замешан файл ucp.php, но я так и не понял, что там нужно править. Я же нуб. Просветите, а?..
Last edited by Nailbuster on 05.09.2013, 18:53, edited 1 time in total.
Nailbuster M
Новичок
Avatar
Age: 28
Location: Санкт-Петербург
Reputation: 0
With us: 3 yaers 8 months

Next

Return to Мастерская