Tobias Gritschacher has uploaded a new change for review.
https://gerrit.wikimedia.org/r/313212
Change subject: Use Electron service for printable version
..
Use Electron service for printable version
This is replacing the link behind "printable version" with a link
to the PDF renedered by Electron service.
This is not yet working together with Collection extension since
this extension has another special handling for the
"printable version" link.
Bug: T146894
Change-Id: Ifbf9bc5af1cc95789fe545f473b8a71d8d5cca32
---
M ElectronPdfService.hooks.php
M extension.json
M i18n/en.json
M specials/SpecialElectronPdf.php
4 files changed, 29 insertions(+), 14 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ElectronPdfService
refs/changes/12/313212/1
diff --git a/ElectronPdfService.hooks.php b/ElectronPdfService.hooks.php
index bd45f34..e5ab240 100644
--- a/ElectronPdfService.hooks.php
+++ b/ElectronPdfService.hooks.php
@@ -25,18 +25,26 @@
[ 'articletitle' =>
$title->getPrefixedText() ]
)
];
- } else {
- $bar[ 'electronPdfService-sidebar-portlet-heading' ] = [
- [
- 'text' => $skin->msg(
'electronPdfService-sidebar-portlet-print-text' )->escaped(),
- 'id' => 'electron-print_pdf',
- 'href' =>
$specialPageTitle->getLocalURL(
- [ 'articletitle' =>
$title->getPrefixedText() ]
- )
- ]
- ];
}
return true;
}
+
+ public static function onBuildNavUrls( Skin $skin, &$navUrls ) {
+ $title = $skin->getTitle();
+ if ( is_null( $title ) || !$title->exists() ) {
+ return false;
+ }
+
+ $specialPageTitle = SpecialPage::getTitleFor( 'ElectronPdf' );
+
+ $navUrls['print'] = [
+ 'text' => $skin->msg( 'printableversion' )->text(),
+ 'href' => $specialPageTitle->getLocalURL(
+ [ 'articletitle' => $title->getPrefixedText() ]
+ )
+ ];
+
+ return true;
+ }
}
diff --git a/extension.json b/extension.json
index 458bbcd..74a83b9 100644
--- a/extension.json
+++ b/extension.json
@@ -27,6 +27,9 @@
"Hooks": {
"SidebarBeforeOutput": [
"ElectronPdfServiceHooks::onSidebarBeforeOutput"
+ ],
+ "SkinTemplateBuildNavUrlsNav_urlsAfterPermalink": [
+ "ElectronPdfServiceHooks::onBuildNavUrls"
]
},
"MessagesDirs": {
diff --git a/i18n/en.json b/i18n/en.json
index 932866e..3b6e556 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -5,11 +5,11 @@
]
},
"electronPdfService": "ElectronPdfService",
- "electronPdfService-desc": "This is an extension for adding browser
based PDF rendering support through Electron PDF service",
+ "electronPdfService-desc": "Adds browser based PDF rendering support
through Electron PDF service",
"electronPdfService-sidebar-portlet-heading": "Print",
"electronPdfService-sidebar-portlet-print-text": "Print PDF",
- "electronPdfService-invalid-article-title": "Invalid article",
- "electronPdfService-invalid-article-text": "The specified page is not a
valid article.",
- "electronPdfService-article-notfound-title": "Article not found by
service",
+ "electronPdfService-invalid-article-title": "Invalid page",
+ "electronPdfService-invalid-article-text": "The specified page is not
valid.",
+ "electronPdfService-article-notfound-title": "Page not found by
service",
"electronPdfService-article-notfound-text": "The service was not able
to resolve the specified link."
}
\ No newline at end of file
diff --git a/specials/SpecialElectronPdf.php b/specials/SpecialElectronPdf.php
index ae0cd95..187d976 100644
--- a/specials/SpecialElectronPdf.php
+++ b/specials/SpecialElectronPdf.php
@@ -90,4 +90,8 @@
fpassthru( $this->tempFile );
$this->getOutput()->disable();
}
+
+ protected function getGroupName() {
+ return 'pagetools';
+ }
}
--
To view, visit https://gerrit.wikimedia.org/r/313212
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifbf9bc5af1cc95789fe545f473b8a71d8d5cca32
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/ElectronPdfService
Gerrit-Branch: master
Gerrit-Owner: Tobias Gritschacher