wiki.techinc.nl/includes/Message/UserGroupMembershipParam.php
Bartosz Dziewoński f18362ccce Deprecate Message::objectParams() and related code
This functionality was introduced in 2021 (commit 349819dc5a)
to support the addition of UserGroupMembershipParam, which was
never used, and no other use case appeared.

Its existence is now preventing us from allowing serializing
of MessageValue objects as JSON (since the parameters can't be
guaranteed to be serializable).

Deprecate:
* method: MessageValue::objectParams()
* method: Message::objectParams()
* method: Message::objectParam()
* class: UserGroupMembershipParam
* constant: ParamType::OBJECT
* Passing Stringable objects to ScalarParam

Change-Id: I492edabb7ea1d75774b45eb9fd18261b39963f9f
2024-05-28 22:03:46 +00:00

57 lines
1.6 KiB
PHP

<?php
/**
* Represents a Message/MessageValue parameter user group membership to be used with ParamType::OBJECT.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
*/
namespace MediaWiki\Message;
use MediaWiki\User\UserIdentity;
use Stringable;
/**
* @since 1.38
* @deprecated since 1.43 Use Language::getGroupMemberName() instead
*/
class UserGroupMembershipParam implements Stringable {
/** @var string */
private $group;
/** @var UserIdentity */
private $member;
public function __construct( string $group, UserIdentity $member ) {
wfDeprecated( __CLASS__, '1.43' );
$this->group = $group;
$this->member = $member;
}
public function getGroup(): string {
return $this->group;
}
public function getMember(): UserIdentity {
return $this->member;
}
public function __toString() {
return $this->group . ':' . $this->member->getName();
}
}