summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Translate/tag/SpecialPageMigration.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Translate/tag/SpecialPageMigration.php')
-rw-r--r--www/wiki/extensions/Translate/tag/SpecialPageMigration.php82
1 files changed, 82 insertions, 0 deletions
diff --git a/www/wiki/extensions/Translate/tag/SpecialPageMigration.php b/www/wiki/extensions/Translate/tag/SpecialPageMigration.php
new file mode 100644
index 00000000..dc2daac7
--- /dev/null
+++ b/www/wiki/extensions/Translate/tag/SpecialPageMigration.php
@@ -0,0 +1,82 @@
+<?php
+/**
+ * Contains code for special page Special:PageMigration
+ *
+ * @file
+ * @author Pratik Lahoti
+ * @copyright Copyright © 2014-2015 Pratik Lahoti
+ * @license GPL-2.0-or-later
+ */
+
+class SpecialPageMigration extends SpecialPage {
+ public function __construct() {
+ parent::__construct( 'PageMigration', 'pagetranslation' );
+ }
+
+ protected function getGroupName() {
+ return 'wiki';
+ }
+
+ public function getDescription() {
+ return $this->msg( 'pagemigration' )->text();
+ }
+
+ public function execute( $par ) {
+ $request = $this->getRequest();
+ $output = $this->getOutput();
+ $this->setHeaders();
+ $this->checkPermissions();
+ $this->outputHeader( 'pagemigration-summary' );
+ $output->addModules( 'ext.translate.special.pagemigration' );
+ $output->addModuleStyles( [
+ 'ext.translate.special.pagemigration.styles',
+ 'jquery.uls.grid'
+ ] );
+ # Get request data from, e.g.
+ $param = $request->getText( 'param' );
+ # Do stuff
+ # ...
+ $out = '';
+ $out .= Html::openElement( 'div', [ 'class' => 'grid' ] );
+ $out .= Html::openElement( 'div', [ 'class' => 'mw-tpm-sp-error row',
+ 'id' => 'mw-tpm-sp-error-div' ] );
+ $out .= Html::element( 'div',
+ [ 'class' => 'mw-tpm-sp-error__message five columns hide' ] );
+ $out .= Html::closeElement( 'div' );
+ $out .= Html::openElement( 'form', [ 'class' => 'mw-tpm-sp-form row',
+ 'id' => 'mw-tpm-sp-primary-form', 'action' => '' ] );
+ $out .= Html::element( 'input', [ 'id' => 'pm-summary', 'type' => 'hidden',
+ 'value' => $this->msg( 'pm-summary-import' )->inContentLanguage()->text() ] );
+ $out .= "\n";
+ $out .= Html::element( 'input', [ 'id' => 'title', 'class' => 'mw-searchInput mw-ui-input',
+ 'data-mw-searchsuggest' => FormatJson::encode( [
+ 'wrapAsLink' => false
+ ] ), 'placeholder' => $this->msg( 'pm-pagetitle-placeholder' )->text() ] );
+ $out .= "\n";
+ $out .= Html::element( 'input', [ 'id' => 'action-import',
+ 'class' => 'mw-ui-button mw-ui-progressive', 'type' => 'button',
+ 'value' => $this->msg( 'pm-import-button-label' )->text() ] );
+ $out .= "\n";
+ $out .= Html::element( 'input', [ 'id' => 'action-save',
+ 'class' => 'mw-ui-button mw-ui-progressive hide', 'type' => 'button',
+ 'value' => $this->msg( 'pm-savepages-button-label' )->text() ] );
+ $out .= "\n";
+ $out .= Html::element( 'input', [ 'id' => 'action-cancel',
+ 'class' => 'mw-ui-button mw-ui-quiet hide', 'type' => 'button',
+ 'value' => $this->msg( 'pm-cancel-button-label' )->text() ] );
+ $out .= Html::closeElement( 'form' );
+ $out .= Html::element( 'div', [ 'class' => 'mw-tpm-sp-instructions hide' ] );
+ $out .= Html::openElement( 'div', [ 'class' => 'mw-tpm-sp-unit-listing' ] );
+ $out .= Html::closeElement( 'div' );
+ $out .= Html::closeElement( 'div' );
+
+ $output->addHTML( $out );
+
+ $nojs = Html::element(
+ 'div',
+ [ 'class' => 'tux-nojs errorbox' ],
+ $this->msg( 'tux-nojs' )->plain()
+ );
+ $output->addHTML( $nojs );
+ }
+}