Wilkins has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/245912

Change subject: Correcting notice and refactoring the SpecialPage form
......................................................................

Correcting notice and refactoring the SpecialPage form

Change-Id: I29880189fe1c69a7cbdd4a4723da20011bc09341
---
M FamilyTreeTag.php
M SpecialFamilyTree.php
2 files changed, 42 insertions(+), 27 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/SemanticGenealogy 
refs/changes/12/245912/1

diff --git a/FamilyTreeTag.php b/FamilyTreeTag.php
index d4e34ab..264b6ef 100644
--- a/FamilyTreeTag.php
+++ b/FamilyTreeTag.php
@@ -54,9 +54,11 @@
         $familytree->setPerson($args[self::ATTR_PERSON]);
         $familytree->setNumberOfGenerations($args[self::ATTR_DEPTH]);
 
-        $personName2 = $args[self::ATTR_PERSON2];
-        if ($personName2) {
-            $familytree->setPerson2($personName2);
+        if (isset($args[self::ATTR_PERSON2])) {
+            $personName2 = $args[self::ATTR_PERSON2];
+            if ($personName2) {
+                $familytree->setPerson2($personName2);
+            }
         }
 
         $familytree->render();
diff --git a/SpecialFamilyTree.php b/SpecialFamilyTree.php
index 8b0a380..cee36c8 100644
--- a/SpecialFamilyTree.php
+++ b/SpecialFamilyTree.php
@@ -34,10 +34,9 @@
      */
     public function execute($par)
     {
-        global $wgRequest, $wgScript;
+        global $wgRequest;
 
         $this->setHeaders();
-        $output = $this->getOutput();
 
         if ($par != '') {
             $parts = explode('/', urldecode($par));
@@ -63,9 +62,41 @@
             $pageName2 = '';
         }
 
+        $this->showForm(array('type' => $type, 'pageName' => $pageName, 
'numOfGenerations' => $numOfGenerations, 'pageName2' => $pageName2));
+
+        if ($pageName == '') {
+            return;
+        }
+
+        $familytree = FamilyTreeFactory::create($type);
+        $familytree->setPerson($pageName);
+
+        if ($pageName2) {
+            $familytree->setPerson2($pageName2);
+        }
+
+        $familytree->setOutput($this->getOutput());
+        $familytree->setNumberOfGenerations($numOfGenerations);
+
+        $familytree->render();
+        return Status::newGood();
+    }
+
+    /**
+     * Display the search form for a genealogy tree
+     * 
+     * @param array $params the array of search parameters
+     *
+     * @return void
+     */
+    protected function showForm($params)
+    {
+        global $wgScript;
+
+        $output = $this->getOutput();
         if (!$this->mIncluding) {
             $output->addModules('ext.smg.specialfamilytree');
-            $typeSelect = new XmlSelect('type', 'type', $type);
+            $typeSelect = new XmlSelect('type', 'type', $params['type']);
             
$typeSelect->addOption(wfMsg('semanticgenealogy-specialfamilytree-type-ancestors'),
 'ancestors');
             
$typeSelect->addOption(wfMsg('semanticgenealogy-specialfamilytree-type-descendant'),
 'descendant');
             
$typeSelect->addOption(wfMsg('semanticgenealogy-specialfamilytree-type-link'), 
'link');
@@ -79,7 +110,7 @@
                 
Xml::label(wfMsg('semanticgenealogy-specialfamilytree-label-page'), 'page') .
                 Xml::closeElement('th') .
                 Xml::openElement('td', array('class' => 'mw-input')) .
-                Xml::input('page', 30, $pageName, array( 'class' => 
'smg-input-page' )) .
+                Xml::input('page', 30, $params['pageName'], array( 'class' => 
'smg-input-page' )) .
                 Xml::closeElement('td') .
                 Xml::closeElement('tr') .
                 Xml::openElement('tr', array('id' => 'smg-form-entry-type' )) .
@@ -95,7 +126,7 @@
                 
Xml::label(wfMsg('semanticgenealogy-specialfamilytree-label-gen'), 'gen') .
                 Xml::closeElement('th') .
                 Xml::openElement('td', array('class' => 'mw-input')) .
-                Xml::input('gen', 2, $numOfGenerations) .
+                Xml::input('gen', 2, $params['numOfGenerations']) .
                 Xml::closeElement('td') .
                 Xml::closeElement('tr') .
                 Xml::openElement('tr', array('id' => 'smg-form-entry-page2' )) 
.
@@ -103,7 +134,7 @@
                 
Xml::label(wfMsg('semanticgenealogy-specialfamilytree-label-page2'), 'page2') .
                 Xml::closeElement('th') .
                 Xml::openElement('td', array('class' => 'mw-input')) .
-                Xml::input('page2', 30, $pageName2, array( 'class' => 
'smg-input-page' )) .
+                Xml::input('page2', 30, $params['pageName2'], array( 'class' 
=> 'smg-input-page' )) .
                 Xml::closeElement('td') .
                 Xml::closeElement('tr') .
                 Xml::closeElement('table') .
@@ -112,24 +143,6 @@
                 Xml::closeElement('form')
             );
         }
-
-        if ($pageName == '') {
-            return;
-        }
-
-
-        $familytree = FamilyTreeFactory::create($type);
-        $familytree->setPerson($pageName);
-
-        if ($pageName2) {
-            $familytree->setPerson2($pageName2);
-        }
-
-        $familytree->setOutput($this->getOutput());
-        $familytree->setNumberOfGenerations($numOfGenerations);
-
-        $familytree->render();
-        return Status::newGood();
     }
 
     /**

-- 
To view, visit https://gerrit.wikimedia.org/r/245912
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I29880189fe1c69a7cbdd4a4723da20011bc09341
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/SemanticGenealogy
Gerrit-Branch: master
Gerrit-Owner: Wilkins <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to