Addshore has uploaded a new change for review.
https://gerrit.wikimedia.org/r/239061
Change subject: Refactor changeTypes in RecentChange
......................................................................
Refactor changeTypes in RecentChange
This is split from:
I03516bb34144d95e5f25c46ae98ab70ce699b31b
Change-Id: I285cdbe3d1a62aa1071a5c174928136c3f59d557
---
M includes/changes/RecentChange.php
1 file changed, 24 insertions(+), 28 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/61/239061/1
diff --git a/includes/changes/RecentChange.php
b/includes/changes/RecentChange.php
index 54ca2ab..87871f4 100644
--- a/includes/changes/RecentChange.php
+++ b/includes/changes/RecentChange.php
@@ -89,6 +89,16 @@
*/
public $counter = -1;
+ /**
+ * @var array Array of change types
+ */
+ private static $changeTypes = array(
+ 'edit' => RC_EDIT,
+ 'new' => RC_NEW,
+ 'log' => RC_LOG,
+ 'external' => RC_EXTERNAL,
+ );
+
# Factory methods
/**
@@ -119,18 +129,10 @@
return $retval;
}
- switch ( $type ) {
- case 'edit':
- return RC_EDIT;
- case 'new':
- return RC_NEW;
- case 'log':
- return RC_LOG;
- case 'external':
- return RC_EXTERNAL;
- default:
- throw new MWException( "Unknown type '$type'" );
+ if ( !array_key_exists( $type, self::$changeTypes ) ) {
+ throw new MWException( "Unknown type '$type'" );
}
+ return self::$changeTypes[$type];
}
/**
@@ -140,24 +142,18 @@
* @return string $type
*/
public static function parseFromRCType( $rcType ) {
- switch ( $rcType ) {
- case RC_EDIT:
- $type = 'edit';
- break;
- case RC_NEW:
- $type = 'new';
- break;
- case RC_LOG:
- $type = 'log';
- break;
- case RC_EXTERNAL:
- $type = 'external';
- break;
- default:
- $type = "$rcType";
- }
+ return array_search( $rcType, self::$changeTypes, true ) ?:
"$rcType";
+ }
- return $type;
+ /**
+ * Get an array of all change types
+ *
+ * @since 1.26
+ *
+ * @return array
+ */
+ public static function getChangeTypes() {
+ return array_keys( self::$changeTypes );
}
/**
--
To view, visit https://gerrit.wikimedia.org/r/239061
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I285cdbe3d1a62aa1071a5c174928136c3f59d557
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits