Ошибка в менеджере медиафайлов Dokuwiki

Обнаружилась досадная ошибка в медиа-менеджере Dokuwiki. В окне формы отображается дерево пространств имён, с помощью которого можно перемещаться по каталогам. Так вот перемещаться по дереву получится только по тем namespaces, которые изначально отобразила форма.

А отображает она только namespases 1-го уровня вложенности плюс раскрывает ветвь до текущего пространства имен в котором редактируем статью. Выглядеть это может так:

dokuwiki media manager tree

Т.е. раскрыть, например, ветвь engine не получится никак. Перейти можно только в те пространства, которые на экране.

Ошибка эта похоже появилась начиная с версии 2012-01-25c “Angua”, когда разработчики отказались от своего старого JavaScript API и перешли на jQuery. По крайней мере в более старых версиях Dokuwiki всё работает замечательно.

Нашел самое быстрое и незатратное решение проблемы – убрать обработчик onclick с ссылок (они же названия namespaces) в дереве. Если будет время и желание довести до ума, может как-нибудь потом… А сейчас патчим lib/scripts/media.js следующим патчем:

--- lib/scripts/media.js.orig       2014-10-08 10:59:23.000000000 +0300
+++ lib/scripts/media.js    2015-04-16 21:03:51.000000000 +0300
@@ -65,7 +65,7 @@
                                         DOKU_BASE + 'lib/images/' +
                                         (opening ? 'minus' : 'plus') + '.gif');
                        }});
-        $tree.delegate('a', 'click', dw_mediamanager.list);
+//        $tree.delegate('a', 'click', dw_mediamanager.list);

         // Init view property
         dw_mediamanager.set_fileview_list();

Ну и заодно подправим размер popup-окна менеджера медиафайлов, а то узковатое оно какое-то изначально. Патчим inc/toolbar.php следующим патчем:

--- inc/toolbar.php.orig        2014-10-08 10:59:23.000000000 +0300
+++ inc/toolbar.php     2015-04-15 18:35:50.000000000 +0300
@@ -198,7 +198,7 @@
                 'icon'   => 'image.png',
                 'url'    => 'lib/exe/mediamanager.php?ns=',
                 'name'   => 'mediaselect',
-                'options'=> 'width=750,height=500,left=20,top=20,scrollbars=yes,resizable=yes',
+                'options'=> 'width=800,height=500,left=20,top=20,scrollbars=yes,resizable=yes',
                 'block'  => false
                 ),
           array(
Поделиться в FacebookДобавить в TwitterДобавить в Telegram

Комментарии

Оставить комментарий

Ответ на Ошибка в менеджере медиафайлов Dokuwiki