diff --git a/tpl.php b/tpl.php
index 98a8663..b5a432f 100644
--- a/tpl.php
+++ b/tpl.php
@@ -97,4 +97,90 @@ class tpl {
return $out;
}
+
+ /**
+ * Assemble the tools for the current page
+ *
+ * It also includes the tools for some plugins, if they are installed and enabled. This does currently not trigger
+ * any events, but should be adjusted to the standard dokuwiki template, once that has svg-functionality implemented.
+ *
+ * @return array
+ */
+ static public function assemblePageTools() {
+ $data = array(
+ 'view' => 'main-svg',
+ 'items' => array(
+ 'edit' => static::pageToolAction('edit'),
+ 'revert' => static::pageToolAction('revert'),
+ 'revisions' => static::pageToolAction('revisions'),
+ 'backlink' => static::pageToolAction('backlink'),
+ 'subscribe' => static::pageToolAction('subscribe'),
+ )
+ );
+
+ $data['items'] = array_map(function ($elem) {
+ return '
' . $elem . '';
+ },array_filter($data['items']));
+
+ /**
+ * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ * Begin shims as a temporary solution until the svg-approach is mainlined and the plugins have adapted
+ * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ */
+ global $ACT;
+ if (act_clean($ACT) === 'show') {
+ /** @var \action_plugin_move_rename $move */
+ $move = plugin_load('action', 'move_rename');
+ if ($move && $move->getConf('pagetools_integration')) {
+ $attr = array(
+ 'style' => 'background-image: none;',
+ );
+ $item = \dokuwiki\template\sprintdoc\tpl::pageToolItem('', $move->getLang('renamepage'), __DIR__ . '/images/tools/41-format-paint.svg', $attr);
+ $data['items'][] = '' . $item . '';
+ }
+
+ /** @var \action_plugin_odt_export $odt */
+ $odt = plugin_load('action', 'odt_export');
+ if ($odt && $odt->getConf('showexportbutton')) {
+ global $ID, $REV;
+ $params = array('do' => 'export_odt');
+ if ($REV) {
+ $params['rev'] = $REV;
+ }
+ $attr = array(
+ 'class' => 'action export_pdf',
+ 'style' => 'background-image: none;',
+ );
+ $svg = __DIR__ . '/images/tools/43-file-delimeted.svg';
+ $item = \dokuwiki\template\sprintdoc\tpl::pageToolItem(wl($ID, $params, false, '&'), $odt->getLang('export_odt_button'), $svg, $attr);
+ $data['items'][] = '' . $item . '';
+ }
+
+ /** @var \action_plugin_dw2pdf $dw2pdf */
+ $dw2pdf = plugin_load('action', 'dw2pdf');
+ if ($dw2pdf && $dw2pdf->getConf('showexportbutton')) {
+ global $ID, $REV;
+
+ $params = array('do' => 'export_pdf');
+ if ($REV) {
+ $params['rev'] = $REV;
+ }
+ $attr = array(
+ 'class' => 'action export_pdf',
+ 'style' => 'background-image: none;',
+ );
+ $svg = __DIR__ . '/images/tools/40-pdf-file.svg';
+ $item = \dokuwiki\template\sprintdoc\tpl::pageToolItem(wl($ID, $params, false, '&'), $dw2pdf->getLang('export_pdf_button'), $svg, $attr);
+ $data['items'][] = '' . $item . '';
+ }
+ }
+ /**
+ * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ * End of shims
+ * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ */
+
+ $data['items']['top'] = '' . static::pageToolAction('top') . '';
+ return $data;
+ }
}
diff --git a/tpl/nav-page-tools.php b/tpl/nav-page-tools.php
index f57d335..1cd38a8 100755
--- a/tpl/nav-page-tools.php
+++ b/tpl/nav-page-tools.php
@@ -9,82 +9,13 @@
'main-svg',
- 'items' => array(
- 'edit' => dokuwiki\template\sprintdoc\tpl::pageToolAction('edit'),
- 'revert' => dokuwiki\template\sprintdoc\tpl::pageToolAction('revert'),
- 'revisions' => dokuwiki\template\sprintdoc\tpl::pageToolAction('revisions'),
- 'backlink' => dokuwiki\template\sprintdoc\tpl::pageToolAction('backlink'),
- 'subscribe' => dokuwiki\template\sprintdoc\tpl::pageToolAction('subscribe'),
- 'top' => dokuwiki\template\sprintdoc\tpl::pageToolAction('top'),
- )
- );
-
+ $data = dokuwiki\template\sprintdoc\tpl::assemblePageTools();
foreach ($data['items'] as $k => $html) {
- if ($html) {
- echo "- $html
";
- }
+ echo $html;
}
- /**
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Begin shims as a temporary solution until the svg-approach is mainlined and the plugins have adapted
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- */
- global $ACT;
- if (act_clean($ACT) === 'show') {
- /** @var action_plugin_move_rename $move */
- $move = plugin_load('action', 'move_rename');
- if ($move && $move->getConf('pagetools_integration')) {
- $attr = array(
- 'style' => 'background-image: none;',
- );
- $item = \dokuwiki\template\sprintdoc\tpl::pageToolItem('', $move->getLang('renamepage'), __DIR__ . '/../images/tools/41-format-paint.svg', $attr);
- echo '- ' . $item . '
';
- }
- /** @var action_plugin_odt_export $odt */
- $odt = plugin_load('action', 'odt_export');
- if ($odt && $odt->getConf('showexportbutton')) {
- global $ID, $REV;
- $params = array('do' => 'export_odt');
- if ($REV) {
- $params['rev'] = $REV;
- }
- $attr = array(
- 'class' => 'action export_pdf',
- 'style' => 'background-image: none;',
- );
- $svg = __DIR__ . '/../images/tools/43-file-delimeted.svg';
- $item = \dokuwiki\template\sprintdoc\tpl::pageToolItem(wl($ID, $params, false, '&'), $odt->getLang('export_odt_button'), $svg, $attr);
- echo '- ' . $item . '
';
- }
-
- /** @var action_plugin_dw2pdf $dw2pdf */
- $dw2pdf = plugin_load('action', 'dw2pdf');
- if ($dw2pdf && $dw2pdf->getConf('showexportbutton')) {
- global $ID, $REV;
-
- $params = array('do' => 'export_pdf');
- if ($REV) {
- $params['rev'] = $REV;
- }
- $attr = array(
- 'class' => 'action export_pdf',
- 'style' => 'background-image: none;',
- );
- $svg = __DIR__ . '/../images/tools/40-pdf-file.svg';
- $item = \dokuwiki\template\sprintdoc\tpl::pageToolItem(wl($ID, $params, false, '&'), $dw2pdf->getLang('export_pdf_button'), $svg, $attr);
- echo '- ' . $item . '
';
- }
- }
- /**
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * End of shims
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- */
?>