Noella94 has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/405410 )
Change subject: [WIP]Replacing target Arrays with Objects.
..
[WIP]Replacing target Arrays with Objects.
Instead of passing targets as Arrays passing now but target Objects
Bug: T178215
Bug: T178431
Change-Id: I680b49a9fda733b9f851f06a0d90e93bf2b03847
---
M MassMessage.hooks.php
M extension.json
M includes/ApiEditMassMessageList.php
M includes/MassMessage.php
M includes/MassMessageTargets.php
M includes/SpecialCreateMassMessageList.php
M includes/SpecialEditMassMessageList.php
A includes/Target.php
M includes/content/MassMessageListContent.php
M includes/content/MassMessageListContentHandler.php
10 files changed, 127 insertions(+), 77 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MassMessage
refs/changes/10/405410/1
diff --git a/MassMessage.hooks.php b/MassMessage.hooks.php
index 15da813..ecebafd 100644
--- a/MassMessage.hooks.php
+++ b/MassMessage.hooks.php
@@ -40,17 +40,17 @@
$parser->addTrackingCategory( 'massmessage-list-category' );
- $data = MassMessage::processPFData( $page, $site );
- if ( isset( $data['error'] ) ) {
+ $data =(object) MassMessage::processPFData( $page, $site );
+ if ( isset( $data->error ) ) {
return $data;
}
// Use a message so wikis can customize the output
if ( $wgAllowGlobalMessaging ) {
$msg = wfMessage( 'massmessage-target' )
- ->params( $data['site'], $wgScript,
$data['title'] )->plain();
+ ->params( $data->site, $wgScript, $data->title
)->plain();
} else {
- $msg = wfMessage( 'massmessage-target-local' )->params(
$data['title'] )->plain();
+ $msg = wfMessage( 'massmessage-target-local' )->params(
$data->title )->plain();
}
return [ $msg, 'noparse' => false ];
@@ -65,16 +65,16 @@
*/
public static function storeDataParserFunction( Parser $parser, $page,
$site = '' ) {
$data = MassMessage::processPFData( $page, $site );
- if ( isset( $data['error'] ) ) {
+ if ( isset( $data->error ) ) {
return ''; // Output doesn't matter
}
$output = $parser->getOutput();
$current = $output->getExtensionData( 'massmessage-targets' );
if ( !$current ) {
- $output->setExtensionData( 'massmessage-targets', [
$data ] );
+ $output->setExtensionData( 'massmessage-targets',
(array) $data );
} else {
$output->setExtensionData( 'massmessage-targets',
- array_merge( $current, [ $data ] ) );
+ array_merge( $current, (array) $data ) );
}
return '';
}
diff --git a/extension.json b/extension.json
index 6a1b354..e9d0a46 100644
--- a/extension.json
+++ b/extension.json
@@ -226,7 +226,8 @@
"MediaWiki\\MassMessage\\MassMessageListContentHandler":
"includes/content/MassMessageListContentHandler.php",
"MediaWiki\\MassMessage\\MassMessageListDiffEngine":
"includes/content/MassMessageListDiffEngine.php",
"MediaWiki\\MassMessage\\MassMessageTestCase":
"tests/phpunit/MassMessageTestCase.php",
- "MediaWiki\\MassMessage\\MassMessageApiTestCase":
"tests/phpunit/MassMessageApiTestCase.php"
+ "MediaWiki\\MassMessage\\MassMessageApiTestCase":
"tests/phpunit/MassMessageApiTestCase.php",
+ "MediaWiki\\MassMessage\\Target": "includes/Target.php"
},
"manifest_version": 1
}
diff --git a/includes/ApiEditMassMessageList.php
b/includes/ApiEditMassMessageList.php
index 9ffd8e7..ae5c5e7 100644
--- a/includes/ApiEditMassMessageList.php
+++ b/includes/ApiEditMassMessageList.php
@@ -44,9 +44,9 @@
foreach ( $data['add'] as $page ) {
$target =
MassMessageListContentHandler::extractTarget( $page );
- if ( isset( $target['errors'] ) ) {
+ if ( isset( $target->errors ) ) {
$item = [ '*' => $page ];
- foreach ( $target['errors'] as $error )
{
+ foreach ( $target->errors as $error ) {
$item[$error] = '';
}
$invalidAdd[] = $item;
@@ -66,7 +66,7 @@
foreach ( $data['remove'] as $page ) {