[MediaWiki-commits] [Gerrit] mediawiki...DataTransfer[master]: One class per file
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
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 .=