[MediaWiki-commits] [Gerrit] mediawiki...DataTransfer[master]: One class per file

2018-01-08 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/402866 )

Change subject: One class per file
..


One class per file

Change-Id: Ie2550603937b1596f35bec7ff9977a96183edde6
---
M DataTransfer.php
A includes/DT_PageComponent.php
M includes/DT_PageStructure.php
A includes/DT_WikiPage.php
A includes/DT_WikiTemplate.php
M includes/DT_XMLParser.php
6 files changed, 214 insertions(+), 196 deletions(-)

Approvals:
  Yaron Koren: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/DataTransfer.php b/DataTransfer.php
index 63b9597..a502a5a 100644
--- a/DataTransfer.php
+++ b/DataTransfer.php
@@ -35,7 +35,7 @@
 
 // register all special pages and other classes
 $wgAutoloadClasses['DTPageStructure'] = $dtgIP . 
'/includes/DT_PageStructure.php';
-$wgAutoloadClasses['DTPageComponent'] = $dtgIP . 
'/includes/DT_PageStructure.php';
+$wgAutoloadClasses['DTPageComponent'] = $dtgIP . 
'/includes/DT_PageComponent.php';
 $wgAutoloadClasses['DTPage'] = $dtgIP . '/includes/DT_Page.php';
 $wgAutoloadClasses['DTUtils'] = $dtgIP . '/includes/DT_Utils.php';
 $wgSpecialPages['ViewXML'] = 'DTViewXML';
@@ -47,8 +47,8 @@
 $wgJobClasses['dtImport'] = 'DTImportJob';
 $wgAutoloadClasses['DTImportJob'] = $dtgIP . '/includes/DT_ImportJob.php';
 $wgAutoloadClasses['DTXMLParser'] = $dtgIP . '/includes/DT_XMLParser.php';
-$wgAutoloadClasses['DTWikiTemplate'] = $dtgIP . '/includes/DT_XMLParser.php';
-$wgAutoloadClasses['DTWikiPage'] = $dtgIP . '/includes/DT_XMLParser.php';
+$wgAutoloadClasses['DTWikiTemplate'] = $dtgIP . 
'/includes/DT_WikiTemplate.php';
+$wgAutoloadClasses['DTWikiPage'] = $dtgIP . '/includes/DT_WikiPage.php';
 $wgHooks['AdminLinks'][] = 'dtfAddToAdminLinks';
 
 // Only enable spreadsheet import if PHPExcel is installed.
diff --git a/includes/DT_PageComponent.php b/includes/DT_PageComponent.php
new file mode 100644
index 000..24c9171
--- /dev/null
+++ b/includes/DT_PageComponent.php
@@ -0,0 +1,131 @@
+mTemplateName = trim( $templateName );
+   $dtPageComponent->mIsTemplate = true;
+   $dtPageComponent->mFields = array();
+   self::$mUnnamedFieldCounter = 1;
+   return $dtPageComponent;
+   }
+   public static function newFreeText( $freeText ) {
+   $dtPageComponent = new DTPageComponent();
+   $dtPageComponent->mIsTemplate = false;
+   $dtPageComponent->mFreeText = $freeText;
+   $dtPageComponent->mFreeTextID = self::$mFreeTextIDCounter++;
+   return $dtPageComponent;
+   }
+
+   public function addNamedField( $fieldName, $fieldValue ) {
+   $this->mFields[trim( $fieldName )] = trim( $fieldValue );
+   }
+
+   public function addUnnamedField( $fieldValue ) {
+   $fieldName = self::$mUnnamedFieldCounter++;
+   $this->mFields[$fieldName] = trim( $fieldValue );
+   }
+
+   public function toWikitext() {
+   if ( $this->mIsTemplate ) {
+   $wikitext = '{{' . $this->mTemplateName;
+   foreach ( $this->mFields as $fieldName => $fieldValue ) 
{
+   if ( is_numeric( $fieldName ) ) {
+   $wikitext .= '|' . $fieldValue;
+   } else {
+   $wikitext .= 
"\n|$fieldName=$fieldValue";
+   }
+   }
+   $wikitext .= "\n}}";
+   return $wikitext;
+   } else {
+   return $this->mFreeText;
+   }
+   }
+
+   public function toXML( $isSimplified ) {
+   global $wgDataTransferViewXMLParseFields;
+   global $wgDataTransferViewXMLParseFreeText;
+   global $wgParser, $wgTitle;
+
+   if ( $this->mIsTemplate ) {
+   global $wgContLang;
+   $namespace_labels = $wgContLang->getNamespaces();
+   $template_label = $namespace_labels[NS_TEMPLATE];
+   $field_str = str_replace( ' ', '_', wfMessage( 
'dt_xml_field' )->inContentLanguage()->text() );
+   $name_str = str_replace( ' ', '_', wfMessage( 
'dt_xml_name' )->inContentLanguage()->text() );
+
+   $bodyXML = '';
+   foreach ( $this->mFields as $fieldName => $fieldValue ) 
{
+   // If this field itself holds template calls,
+   // get the XML for those calls.
+   if ( is_array( $fieldValue ) ) {
+   $fieldValueXML = '';
+   foreach ( $fieldValue as $subComponent 
) {
+   $fieldValueXML .= 
$subComponent->toXML( 

[MediaWiki-commits] [Gerrit] mediawiki...DataTransfer[master]: One class per file

2018-01-08 Thread Yaron Koren (Code Review)
Yaron Koren has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/402866 )

Change subject: One class per file
..

One class per file

Change-Id: Ie2550603937b1596f35bec7ff9977a96183edde6
---
M DataTransfer.php
A includes/DT_PageComponent.php
M includes/DT_PageStructure.php
A includes/DT_WikiPage.php
A includes/DT_WikiTemplate.php
M includes/DT_XMLParser.php
6 files changed, 214 insertions(+), 196 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/DataTransfer 
refs/changes/66/402866/2

diff --git a/DataTransfer.php b/DataTransfer.php
index 63b9597..a502a5a 100644
--- a/DataTransfer.php
+++ b/DataTransfer.php
@@ -35,7 +35,7 @@
 
 // register all special pages and other classes
 $wgAutoloadClasses['DTPageStructure'] = $dtgIP . 
'/includes/DT_PageStructure.php';
-$wgAutoloadClasses['DTPageComponent'] = $dtgIP . 
'/includes/DT_PageStructure.php';
+$wgAutoloadClasses['DTPageComponent'] = $dtgIP . 
'/includes/DT_PageComponent.php';
 $wgAutoloadClasses['DTPage'] = $dtgIP . '/includes/DT_Page.php';
 $wgAutoloadClasses['DTUtils'] = $dtgIP . '/includes/DT_Utils.php';
 $wgSpecialPages['ViewXML'] = 'DTViewXML';
@@ -47,8 +47,8 @@
 $wgJobClasses['dtImport'] = 'DTImportJob';
 $wgAutoloadClasses['DTImportJob'] = $dtgIP . '/includes/DT_ImportJob.php';
 $wgAutoloadClasses['DTXMLParser'] = $dtgIP . '/includes/DT_XMLParser.php';
-$wgAutoloadClasses['DTWikiTemplate'] = $dtgIP . '/includes/DT_XMLParser.php';
-$wgAutoloadClasses['DTWikiPage'] = $dtgIP . '/includes/DT_XMLParser.php';
+$wgAutoloadClasses['DTWikiTemplate'] = $dtgIP . 
'/includes/DT_WikiTemplate.php';
+$wgAutoloadClasses['DTWikiPage'] = $dtgIP . '/includes/DT_WikiPage.php';
 $wgHooks['AdminLinks'][] = 'dtfAddToAdminLinks';
 
 // Only enable spreadsheet import if PHPExcel is installed.
diff --git a/includes/DT_PageComponent.php b/includes/DT_PageComponent.php
new file mode 100644
index 000..24c9171
--- /dev/null
+++ b/includes/DT_PageComponent.php
@@ -0,0 +1,131 @@
+mTemplateName = trim( $templateName );
+   $dtPageComponent->mIsTemplate = true;
+   $dtPageComponent->mFields = array();
+   self::$mUnnamedFieldCounter = 1;
+   return $dtPageComponent;
+   }
+   public static function newFreeText( $freeText ) {
+   $dtPageComponent = new DTPageComponent();
+   $dtPageComponent->mIsTemplate = false;
+   $dtPageComponent->mFreeText = $freeText;
+   $dtPageComponent->mFreeTextID = self::$mFreeTextIDCounter++;
+   return $dtPageComponent;
+   }
+
+   public function addNamedField( $fieldName, $fieldValue ) {
+   $this->mFields[trim( $fieldName )] = trim( $fieldValue );
+   }
+
+   public function addUnnamedField( $fieldValue ) {
+   $fieldName = self::$mUnnamedFieldCounter++;
+   $this->mFields[$fieldName] = trim( $fieldValue );
+   }
+
+   public function toWikitext() {
+   if ( $this->mIsTemplate ) {
+   $wikitext = '{{' . $this->mTemplateName;
+   foreach ( $this->mFields as $fieldName => $fieldValue ) 
{
+   if ( is_numeric( $fieldName ) ) {
+   $wikitext .= '|' . $fieldValue;
+   } else {
+   $wikitext .= 
"\n|$fieldName=$fieldValue";
+   }
+   }
+   $wikitext .= "\n}}";
+   return $wikitext;
+   } else {
+   return $this->mFreeText;
+   }
+   }
+
+   public function toXML( $isSimplified ) {
+   global $wgDataTransferViewXMLParseFields;
+   global $wgDataTransferViewXMLParseFreeText;
+   global $wgParser, $wgTitle;
+
+   if ( $this->mIsTemplate ) {
+   global $wgContLang;
+   $namespace_labels = $wgContLang->getNamespaces();
+   $template_label = $namespace_labels[NS_TEMPLATE];
+   $field_str = str_replace( ' ', '_', wfMessage( 
'dt_xml_field' )->inContentLanguage()->text() );
+   $name_str = str_replace( ' ', '_', wfMessage( 
'dt_xml_name' )->inContentLanguage()->text() );
+
+   $bodyXML = '';
+   foreach ( $this->mFields as $fieldName => $fieldValue ) 
{
+   // If this field itself holds template calls,
+   // get the XML for those calls.
+   if ( is_array( $fieldValue ) ) {
+   $fieldValueXML = '';
+   foreach ( $fieldValue as $subComponent 
) {
+   $fieldValueXML .=