splitbrain/dokuwiki-plugin-sync

Igor no longer has the file inc/IXR_Library.php

saggi-dw opened this issue · 8 comments

After upgrading from 'Hogfather' to 'Igor' RC2 the admin content is no longer accessible. The error log shows the following:

2022-06-27 12:12:16	/.../lib/plugins/sync/admin.php(7)	dokuwiki\Exception\FatalException: require_once(): Failed opening required '/volume1/web/dwtest/inc/IXR_Library.php' (include_path='.:/usr/share/pear')
  #0 [internal function]: dokuwiki\ErrorHandler::fatalShutdown()
  #1 {main}

Deleted.files show:

# removed in 2022-06-26
...
inc/IXR_Library.php
...

Workarround: delete or disable the sync plugin from DokuWiki installation.

saggi

Could you check if merging #60 and the current DokuWiki master updates do fix this problem?

I downloaded the master, copied it into xampp (PHP 7.4) and set it up. Then installed sync via the extension manager.
No problems when calling the admin page and the configuration of the plugin seems possible. 👍
I have not tested the function.

Thanks for confirming. I will keep this issue open because it will need a proper fix some time, but I don't know when I'll find the time.

Thank you! If I can help I will be happy to do so.

hcddr commented

first after selection a stored profile the error occurs:

"Error: Class 'IXR_Client' not found
An unforeseen error has occured. This is most likely a bug somewhere. It might be a problem in the sync plugin.
More info has been written to the DokuWiki error log."

Confirmed. After creating new profile:
Error: Cannot access protected property IXR_Client::$timeout

2022-07-21 06:02:22Error: Cannot access protected property IXR_Client::$timeout E:\xampp7\htdocs\dokuwiki-master\lib\plugins\sync\admin.php(31)
    #0 E:\xampp7\htdocs\dokuwiki-master\lib\plugins\sync\admin.php(210): admin_plugin_sync->_connect()
    #1 E:\xampp7\htdocs\dokuwiki-master\lib\plugins\sync\admin.php(177): admin_plugin_sync->_profileView(0)
    #2 E:\xampp7\htdocs\dokuwiki-master\inc\template.php(188): admin_plugin_sync->html()
    #3 E:\xampp7\htdocs\dokuwiki-master\inc\Action\Admin.php(40): tpl_admin()
    #4 E:\xampp7\htdocs\dokuwiki-master\inc\template.php(100): dokuwiki\Action\Admin->tplContent()
    #5 [internal function]: tpl_content_core('admin')
    #6 E:\xampp7\htdocs\dokuwiki-master\inc\Extension\Event.php(133): call_user_func_array('tpl_content_cor...', Array)
    #7 E:\xampp7\htdocs\dokuwiki-master\inc\Extension\Event.php(199): dokuwiki\Extension\Event->trigger('tpl_content_cor...', true)
    #8 E:\xampp7\htdocs\dokuwiki-master\inc\template.php(85): dokuwiki\Extension\Event::createAndTrigger('TPL_ACT_RENDER', 'admin', 'tpl_content_cor...')
    #9 E:\xampp7\htdocs\dokuwiki-master\lib\tpl\dokuwiki\main.php(59): tpl_content()
    #10 E:\xampp7\htdocs\dokuwiki-master\inc\actions.php(27): include('E:\\xampp7\\htdoc...')
    #11 E:\xampp7\htdocs\dokuwiki-master\doku.php(126): act_dispatch()
    #12 {main} 

It seems that the legacy IXR library was deprecated sometime between 2021 and it's deprecated code doesn't seems to be integrated at DokuWiki Igor release. There's a pull request that integrates legacy IXR functionality as a deprecated feature, but it seems that it wasn't merged at Igor repository before it's stable release:

dokuwiki/dokuwiki@723f2b4

I just submitted a PR #61 that for me addresses the issue mentioned by @saggi-dw. With this fix I am able to once again use the plugin as expected both from my Igor instance as well as a friend's Hogfather instance.