wiki.techinc.nl/includes/import/ImportableOldRevision.php
Thiemo Kreuz 2982625e75 import: Soft-deprecate WikiRevision::getUserObj and related methods
Reasoning:

* Not all code needs an actual User object. And even if, most code
  doesn't need it to be validated. That's expensive.
  Let the users decide.

* setUserObj() is almost never called anyway. And the few places that
  call it go the extra mile and create a User object just to please this
  setter. We can avoid or at least postpone this.

* All callers already fall back to getUser() when there is no
  getUserObj().

* For a while we try to replace the User class with much smaller
  interfaces, whenever possible. This is a chance to remove of one more.

* A "user IP" is a concept that doesn't even exist in this code. The
  setter writes to the same property as setUsername(). This makes it
  very easy to use these methods wrong, and this indeed already happened
  in some places.

Change-Id: I6687305a5be68e8a068f11482625a0a6bd9626f2
2022-05-15 20:52:17 +00:00

91 lines
1.3 KiB
PHP

<?php
use MediaWiki\Revision\SlotRecord;
/**
* @since 1.31
*/
interface ImportableOldRevision {
/**
* @deprecated since 1.39, use {@see getUser} instead; this is almost always null anyway
* @since 1.31
* @return User|null Typically null, use {@see getUser} instead
*/
public function getUserObj();
/**
* @since 1.31
* @return string
*/
public function getUser();
/**
* @since 1.31
* @return Title
*/
public function getTitle();
/**
* @since 1.31
* @return string
*/
public function getTimestamp();
/**
* @since 1.31
* @return string
*/
public function getComment();
/**
* @since 1.31
* @return string
*/
public function getModel();
/**
* @since 1.31
* @return string
*/
public function getFormat();
/**
* @since 1.31
* @param string $role
* @return Content
*/
public function getContent( $role = SlotRecord::MAIN );
/**
* @since 1.35
* @param string $role
* @return SlotRecord
*/
public function getSlot( $role );
/**
* @since 1.35
* @return string[]
*/
public function getSlotRoles();
/**
* @since 1.31
* @return bool
*/
public function getMinor();
/**
* @since 1.31
* @return bool|string
*/
public function getSha1Base36();
/**
* @since 1.34
* @return string[]
*/
public function getTags();
}