[MediaWiki-commits] [Gerrit] mediawiki...MassMessage[master]: [WIP]Replacing target Arrays with Objects.

2018-01-20 Thread Noella94 (Code Review)
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 ) {
 

[MediaWiki-commits] [Gerrit] mediawiki...MassMessage[master]: [WIP]Replacing target Arrays with Objects.

2018-01-18 Thread Noella94 (Code Review)
Noella94 has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/405222 )

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: I2c7fb5d30fd20bf06393cced73027089f2533b6e
---
M extension.json
M includes/ApiEditMassMessageList.php
M includes/MassMessage.php
M includes/MassMessageTargets.php
A includes/Target.php
M includes/content/MassMessageListContent.php
M includes/content/MassMessageListContentHandler.php
M tests/phpunit/content/MassMessageContentTest.php
8 files changed, 78 insertions(+), 62 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MassMessage 
refs/changes/22/405222/1

diff --git a/extension.json b/extension.json
index 6a1b354..5d0ec41 100644
--- a/extension.json
+++ b/extension.json
@@ -225,6 +225,7 @@
"MediaWiki\\MassMessage\\MassMessageListContent": 
"includes/content/MassMessageListContent.php",
"MediaWiki\\MassMessage\\MassMessageListContentHandler": 
"includes/content/MassMessageListContentHandler.php",
"MediaWiki\\MassMessage\\MassMessageListDiffEngine": 
"includes/content/MassMessageListDiffEngine.php",
+   "MediaWiki\\MassMessage\\Target": "includes/Target.php",
"MediaWiki\\MassMessage\\MassMessageTestCase": 
"tests/phpunit/MassMessageTestCase.php",
"MediaWiki\\MassMessage\\MassMessageApiTestCase": 
"tests/phpunit/MassMessageApiTestCase.php"
},
diff --git a/includes/ApiEditMassMessageList.php 
b/includes/ApiEditMassMessageList.php
index 9ffd8e7..f53068e 100644
--- a/includes/ApiEditMassMessageList.php
+++ b/includes/ApiEditMassMessageList.php
@@ -44,14 +44,14 @@
 
foreach ( $data['add'] as $page ) {
$target = 
MassMessageListContentHandler::extractTarget( $page );
-   if ( isset( $target['errors'] ) ) {
+   if ( isset( $target->error ) ) {
$item = [ '*' => $page ];
-   foreach ( $target['errors'] as $error ) 
{
+   foreach ( $target->error as $error ) {
$item[$error] = '';
}
$invalidAdd[] = $item;
} else {
-   $newTargets[] = $target;
+   $newTargets = $target;
}
}
 
@@ -66,10 +66,10 @@
 
foreach ( $data['remove'] as $page ) {
$target = 
MassMessageListContentHandler::extractTarget( $page );
-   if ( isset( $target['errors'] ) || !in_array( 
$target, $newTargets ) ) {
+   if ( isset( $target->error ) || !in_array( 
$target, $newTargets ) ) {
$invalidRemove[] = $page;
} else {
-   $toRemove[] = $target;
+   $toRemove = $target;
}
}
 
diff --git a/includes/MassMessage.php b/includes/MassMessage.php
index 8a79902..86c890a 100644
--- a/includes/MassMessage.php
+++ b/includes/MassMessage.php
@@ -58,20 +58,20 @@
return self::parserError( 'massmessage-parse-badpage', 
$page );
}
 
-   $data = [ 'title' => $page, 'site' => trim( $site ) ];
-   if ( $data['site'] === '' ) {
-   $data['site'] = UrlHelper::getBaseUrl( 
$wgCanonicalServer );
-   $data['wiki'] = wfWikiID();
+   $data = new Target();
+   if ( $data->site === '' ) {
+   $data->site = UrlHelper::getBaseUrl( $wgCanonicalServer 
);
+   $data->wiki = wfWikiID();
} else {
-   $data['wiki'] = DatabaseLookup::getDBName( 
$data['site'] );
-   if ( $data['wiki'] === null ) {
+   $data->wiki = DatabaseLookup::getDBName( $data->site );
+   if ( $data->wiki === null ) {
return self::parserError( 
'massmessage-parse-badurl', $site );
}
-   if ( !$wgAllowGlobalMessaging && $data['wiki'] !== 
wfWikiID() ) {
+   if ( !$wgAllowGlobalMessaging && $data->wiki !== 
wfWikiID() ) {
return self::parserError( 
'massmessage-global-disallowed' );
}
}
-