Move 'Back to top' pagetool to the end

SPR-906
This commit is contained in:
Michael Große 2017-04-13 14:40:01 +02:00
parent 6ed99691f5
commit d012fad75b
No known key found for this signature in database
GPG key ID: 7E31028FBFEACC79
2 changed files with 88 additions and 71 deletions

86
tpl.php
View file

@ -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 '<li>' . $elem . '</li>';
},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'][] = '<li class="plugin_move_page">' . $item . '</li>';
}
/** @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'][] = '<li>' . $item . '</li>';
}
/** @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'][] = '<li>' . $item . '</li>';
}
}
/**
* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
* End of shims
* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
$data['items']['top'] = '<li>' . static::pageToolAction('top') . '</li>';
return $data;
}
}

View file

@ -9,82 +9,13 @@
<?php include('nav-status.php');?>
<ul>
<?php
$data = array(
'view' => '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 "<li>$html</li>";
}
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 '<li class="plugin_move_page">' . $item . '</li>';
}
/** @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 '<li>' . $item . '</li>';
}
/** @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 '<li>' . $item . '</li>';
}
}
/**
* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
* End of shims
* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
?>
</ul>