summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Specials/Admin/DuplicateLookupTaskHandler.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Specials/Admin/DuplicateLookupTaskHandler.php')
-rw-r--r--www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Specials/Admin/DuplicateLookupTaskHandler.php153
1 files changed, 153 insertions, 0 deletions
diff --git a/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Specials/Admin/DuplicateLookupTaskHandler.php b/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Specials/Admin/DuplicateLookupTaskHandler.php
new file mode 100644
index 00000000..d893ce31
--- /dev/null
+++ b/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Specials/Admin/DuplicateLookupTaskHandler.php
@@ -0,0 +1,153 @@
+<?php
+
+namespace SMW\MediaWiki\Specials\Admin;
+
+use Html;
+use SMW\Message;
+use WebRequest;
+
+/**
+ * @license GNU GPL v2+
+ * @since 3.0
+ *
+ * @author mwjames
+ */
+class DuplicateLookupTaskHandler extends TaskHandler {
+
+ /**
+ * @var OutputFormatter
+ */
+ private $outputFormatter;
+
+ /**
+ * @since 3.0
+ *
+ * @param OutputFormatter $outputFormatter
+ */
+ public function __construct( OutputFormatter $outputFormatter ) {
+ $this->outputFormatter = $outputFormatter;
+ }
+
+ /**
+ * @since 3.0
+ *
+ * {@inheritDoc}
+ */
+ public function getSection() {
+ return self::SECTION_SUPPLEMENT;
+ }
+
+ /**
+ * @since 3.0
+ *
+ * {@inheritDoc}
+ */
+ public function hasAction() {
+ return true;
+ }
+
+ /**
+ * @since 3.0
+ *
+ * {@inheritDoc}
+ */
+ public function isTaskFor( $task ) {
+ return $task === 'duplookup';
+ }
+
+ /**
+ * @since 3.0
+ *
+ * {@inheritDoc}
+ */
+ public function getHtml() {
+
+ $link = $this->outputFormatter->createSpecialPageLink(
+ $this->msg( 'smw-admin-supplementary-duplookup-title' ),
+ [
+ 'action' => 'duplookup'
+ ]
+ );
+
+ return Html::rawElement(
+ 'li',
+ [],
+ $this->msg(
+ [
+ 'smw-admin-supplementary-duplookup-intro',
+ $link
+ ]
+ )
+ );
+ }
+
+ /**
+ * @since 3.0
+ *
+ * {@inheritDoc}
+ */
+ public function handleRequest( WebRequest $webRequest ) {
+
+ $this->outputFormatter->setPageTitle(
+ $this->msg( 'smw-admin-supplementary-duplookup-title' )
+ );
+
+ $this->outputFormatter->addParentLink(
+ [
+ 'tab' => 'supplement'
+ ]
+ );
+
+ $this->outputFormatter->addHelpLink(
+ $this->msg( 'smw-admin-supplementary-duplookup-helplink' )
+ );
+
+ $this->outputFormatter->addHtml(
+ Html::rawElement(
+ 'p',
+ [
+ 'class' => 'plainlinks'
+ ],
+ $this->msg( 'smw-admin-supplementary-duplookup-docu', Message::PARSE )
+ )
+ );
+
+ // Ajax is doing the query and result display to avoid a timeout issue
+ $html = Html::rawElement(
+ 'div',
+ [
+ 'class' => 'smw-admin-supplementary-duplookup',
+ 'style' => 'opacity:0.5;position: relative;',
+ 'data-config' => json_encode(
+ [
+ 'contentClass' => 'smw-admin-supplementary-duplookup-content',
+ 'errorClass' => 'smw-admin-supplementary-duplookup-error'
+ ]
+ )
+ ],
+ Html::element(
+ 'div',
+ [
+ 'class' => 'smw-admin-supplementary-duplookup-error'
+ ]
+ ) . Html::rawElement(
+ 'pre',
+ [
+ 'class' => 'smw-admin-supplementary-duplookup-content'
+ ],
+ $this->msg( 'smw-data-lookup-with-wait' ) .
+ "\n\n\n" . $this->msg( 'smw-processing' ) . "\n" .
+ Html::rawElement(
+ 'span',
+ [
+ 'class' => 'smw-overlay-spinner medium',
+ 'style' => 'transform: translate(-50%, -50%);'
+ ]
+ )
+ )
+ );
+
+ $this->outputFormatter->addHtml( $html );
+ }
+
+}