qky666 / dokuwiki-plugin-odtplus2dw

Import different files (odt, doc, docx...) in a dokuwiki page
0 stars 3 forks source link

odtplus2dw/action.php(438) E_WARNING: Undefined variable $ID #9

Open Stikus opened 6 months ago

Stikus commented 6 months ago

Hello again, @qky666 Thanks for quick fix at #8 !

I've found one more problem and fix for it:

2024-02-19 08:03:56     /opt/www/wiki/lib/plugins/odtplus2dw/action.php(438) E_WARNING: Undefined variable $ID
  #0 /opt/www/wiki/lib/plugins/odtplus2dw/action.php(438): dokuwiki\ErrorHandler::errorHandler(2, 'Undefined varia...', '/opt/www/wiki.c...', 438)
  #1 /opt/www/wiki/lib/plugins/odtplus2dw/action.php(255): action_plugin_odtplus2dw->_apply_result()
  #2 /opt/www/wiki/lib/plugins/odtplus2dw/action.php(126): action_plugin_odtplus2dw->_odtplus2dw()
  #3 /opt/www/wiki/inc/Extension/EventHandler.php(80): action_plugin_odtplus2dw->_parser(Object(dokuwiki\Extension\Event), Array)
  #4 /opt/www/wiki/inc/Extension/Event.php(75): dokuwiki\Extension\EventHandler->process_event(Object(dokuwiki\Extension\Event), 'BEFORE')
  #5 /opt/www/wiki/inc/ActionRouter.php(83): dokuwiki\Extension\Event->advise_before()
  #6 /opt/www/wiki/inc/ActionRouter.php(49): dokuwiki\ActionRouter->setupAction('odtplus2dw')
  #7 /opt/www/wiki/inc/ActionRouter.php(62): dokuwiki\ActionRouter->__construct()
  #8 /opt/www/wiki/inc/actions.php(19): dokuwiki\ActionRouter::getInstance(true)
  #9 /opt/www/wiki/doku.php(131): act_dispatch()
  #10 {main}

https://github.com/qky666/dokuwiki-plugin-odtplus2dw/blob/master/action.php#L428-L458:

$ID is missing in this part. Only superusers can upload images due to this. Simple addition , $ID to global $INFO; at https://github.com/qky666/dokuwiki-plugin-odtplus2dw/blob/master/action.php#L433 fixes this problem.

We've added debug messages and tested:

Before:

After:



Looks like most of the time `$value[4]` is undefined at https://github.com/qky666/dokuwiki-plugin-odtplus2dw/blob/master/action.php#L476

Maybe something like https://www.php.net/manual/en/function.array-key-exists.php should be added?
Like `if (array_key_exists(4, $value)) {$other = $value[4];} else {$other='';}`
Stikus commented 6 months ago

@qky666 Hello again. Any chance for fix?