[TH] XWiki

[TH] XWiki 1.0.2 Patch Level 1

Нет прав для скачивания

MrOne

Проверенные
Сообщения
438
Решения
2
Реакции
155
Баллы
355
MrOne добавил(а) новый ресурс:

[TH] XWiki 1.0.2 Patch Level 1 - Интеграция MediaWiki и XenForo

Ссылка на офф —
Совместимо с XF 2.0 и 2.1
Потребуется MediaWiki версии 1.32.0 или выше
Потребуется плагин [TH] XLink (входит в стоимость плагина XWiki, но устанавливается отдельно)


  • Полная интеграция возможностей Mediawiki (

Узнать больше об этом ресурсе...
 
Данная версия не работает с MediaWiki 1.35 и выше
 
Taz, не проверял. У меня на 1.33 отлично работает все. Обновление покупать пока не собираюсь, так как все работает.
 
MrOne, я проверил - не завелось. Оказывается в 1.35 добавили (или удалили, уже не помню) какое-то поле в таблице пользователей и из-за этого нужна более свежая версия плагина. Почему-то мысль поправить запросы в базу пришла только сейчас...

Сам в итоге подключил через OAuth
 
Taz, MrOne а вы этот плагин используете только как способ общей авторизации между Вики и форумом? В целом - может поделитесь ссылкой как у вас это выглядит и работает?
 
SAS, я этот плагин не использую. А так да, только авторизация.
 
Taz, забыл главное, почему я хотел этот плагин - общая тема с xenforo.

Собственно за ночь удалось плагин исправить.
Минимальная версия MediaWiki - 1.35.

Если по каким-то причинам не сработало или уже установлена текущая версия, то В MEDIAWIKI в файле wiki/extensions/XWiki/src/XWiki/API/GetUser.php меняем

$createdArticles = $db->query("SELECT rev_user as user_id, COUNT(*) as count FROM (SELECT rev_user, rev_timestamp FROM {$prefix}revision GROUP BY rev_page HAVING MIN(rev_timestamp) AND rev_user IN ({$ids})) result GROUP BY rev_user");
на
$createdArticles = $db->query("SELECT revactor_actor as user_id, COUNT(*) as count FROM (SELECT revactor_actor, revactor_timestamp FROM {$prefix}revision_actor_temp GROUP BY revactor_page HAVING MIN(revactor_timestamp) AND revactor_actor IN ({$ids})) result GROUP BY revactor_actor");

и в wiki/skins/XWikiSkin/includes/XWikiTemplate.php

- $labelId = Sanitizer::escapeId("p-$name-label");
+ $labelId = Sanitizer::escapeIdForAttribute("p-$name-label");

- 'id' => 'f-' . Sanitizer::escapeId($blockName) . 'ico',
+ 'id' => 'f-' . Sanitizer::escapeIdForAttribute($blockName) . 'ico',

- ['id' => Sanitizer::escapeId($aLink)],
+ ['id' => Sanitizer::escapeIdForLink($aLink)],
 

Вложения

  • [XenForo.Info]_ThemeHouse-XWiki-1.0.2_fix.zip
    129.6 KB · Просмотры: 7
Существующих пользователей MediaWiki можно прилинковать к существующим пользователям Xenforo.
При регистрации нового пользователя в Xenforo учетка в MediaWiki тоже создается.
Что делать с существующими пользователями Xenforo и недостающими пользователями MediaWiki я пока не понял. Нужна помощь.

UPD
Говнокод впереди планеты всей. Написал скрипт, который берет всех существующих пользователей из xenforo, через api создает пользователей в mediawiki, а затем линкует их. Добавил вложение для нетерпеливых. Во 2-5 строчках подключение к БД, в 26-27 путь к api.php.
Предварительно рядом с файлом следует создать cookie.txt с куками пользователя, имеющим права создавать пользователей.

Осталось переписать плагин на 2.2 - в wiki верхнее меню отваливается, остается только поиск. При этом логируются ошибки

Код:
Error: Error rendering navigation: Call to undefined function GuzzleHttp\choose_handler() src/vendor/guzzlehttp/guzzle/src/HandlerStack.php:40
#0 src/vendor/guzzlehttp/guzzle/src/Client.php(65): GuzzleHttp\HandlerStack::create()
#1 src/XF/SubContainer/Http.php(100): GuzzleHttp\Client->__construct(Array)
#2 src/addons/ThemeHouse/Core/Http/HttpClient/20181220.php(41): XF\SubContainer\Http->createClient(Array)
#3 src/addons/ThemeHouse/XLink/RemoteHandler/Traits/APICall.php(39): ThemeHouse\Core\Http\HttpClient->__construct()
#4 src/addons/ThemeHouse/XWiki/RemoteHandler/Platform.php(188): ThemeHouse\XWiki\RemoteHandler\Platform->callAPI('parse', Array, 'GET', false)
#5 src/addons/ThemeHouse/XLink/Navigation/RemoteNavigation.php(94): ThemeHouse\XWiki\RemoteHandler\Platform->getSubnavigation()
#6 internal_data/code_cache/navigation_cache.php(118): ThemeHouse\XLink\Navigation\RemoteNavigation::displayPlatformExtended(4, 'thxlink_4')
#7 src/XF/Template/Templater.php(7471): XF\Pub\App->{closure}(Object(SV\StandardLib\XF\Template\Templater), 'thxlink_4', Array)
#8 src/XF/Pub/App.php(575): XF\Template\Templater->renderNavigationClosure(Object(Closure), 'thxlink_4', Array)
#9 src/XF/Pub/App.php(526): XF\Pub\App->getNavigation(Array, 'thxlink_4')
#10 src/addons/ThemeHouse/XLink/App.php(282): XF\Pub\App->renderPageHtml('





    

    

    

...', Array, Object(XF\Mvc\Reply\View), Object(XF\Mvc\Renderer\Html))
#11 src/XF/App.php(2142): ThemeHouse\XLink\App->renderPageHtml('





    

    

    

...', Array, Object(XF\Mvc\Reply\View), Object(XF\Mvc\Renderer\Html))
#12 src/XF/Mvc/Dispatcher.php(402): XF\App->renderPage('





    

    

    

...', Object(XF\Mvc\Reply\View), Object(XF\Mvc\Renderer\Html))
#13 src/addons/ThemeHouse/XLink/Mvc/Dispatcher.php(28): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#14 src/XF/App.php(2344): ThemeHouse\XLink\Mvc\Dispatcher->run()
#15 /web/turn_guild_ru/htdocs/wiki/extensions/XWiki/src/XLink/App.php(117): XF\App->run()
#16 /web/turn_guild_ru/htdocs/wiki/skins/XWikiSkin/includes/XWikiTemplate.php(108): XLink\App->runApp('<div id="mw-con...', 200)
#17 /web/turn_guild_ru/htdocs/wiki/includes/skins/SkinTemplate.php(131): XWikiTemplate->execute()
#18 /web/turn_guild_ru/htdocs/wiki/includes/skins/SkinTemplate.php(146): SkinTemplate->generateHTML()
#19 /web/turn_guild_ru/htdocs/wiki/includes/OutputPage.php(2634): SkinTemplate->outputPage()
#20 /web/turn_guild_ru/htdocs/wiki/includes/MediaWiki.php(927): OutputPage->output(true)
#21 /web/turn_guild_ru/htdocs/wiki/includes/MediaWiki.php(940): MediaWiki::{closure}()
#22 /web/turn_guild_ru/htdocs/wiki/includes/MediaWiki.php(546): MediaWiki->main()
#23 /web/turn_guild_ru/htdocs/wiki/index.php(53): MediaWiki->run()
#24 /web/turn_guild_ru/htdocs/wiki/index.php(46): wfIndexMain()
#25 {main}
 

Вложения

  • createandlink.zip
    1.4 KB · Просмотры: 4
Последнее редактирование:
какую версию все таки поддерживает? 1.35 или 1.33 просто уже есть 1.39.0
 
какую версию все таки поддерживает? 1.35 или 1.33 просто уже есть 1.39.0
из коробки 1.33.
с моими доработками выше работает 1.35 и 1.36.
версии старше нужно тестировать, ибо я не представляю когда буду обновляться.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу