wiki.techinc.nl/includes/watchlist/WatchedItemQueryServiceExtension.php
Ebrahim Byagowi fe4bbc8918 Add namespace and deprecation alias to WatchedItemQueryServiceExtension
This patch introduces a namespace declaration for the
MediaWiki\Watchlist to WatchedItemQueryServiceExtension and
establishes a class alias marked as deprecated since version 1.43.

Bug: T353458
Change-Id: I65b414013291b0ca21288b70e29530bba3f7e22e
2024-05-19 17:42:59 +03:30

63 lines
2.3 KiB
PHP

<?php
namespace MediaWiki\Watchlist;
use MediaWiki\User\UserIdentity;
use Wikimedia\Rdbms\IReadableDatabase;
use Wikimedia\Rdbms\IResultWrapper;
/**
* Extension mechanism for WatchedItemQueryService
*
* @since 1.29
*
* @file
* @ingroup Watchlist
*
* @license GPL-2.0-or-later
*/
interface WatchedItemQueryServiceExtension {
/**
* Modify the WatchedItemQueryService::getWatchedItemsWithRecentChangeInfo()
* query before it's made.
*
* @warning Any joins added *must* join on a unique key of the target table
* unless you really know what you're doing.
* @param UserIdentity $user
* @param array $options Options from
* WatchedItemQueryService::getWatchedItemsWithRecentChangeInfo()
* @param IReadableDatabase $db Database connection being used for the query
* @param array &$tables Tables for Database::select()
* @param array &$fields Fields for Database::select()
* @param array &$conds Conditions for Database::select()
* @param array &$dbOptions Options for Database::select()
* @param array &$joinConds Join conditions for Database::select()
*/
public function modifyWatchedItemsWithRCInfoQuery( UserIdentity $user, array $options,
IReadableDatabase $db, array &$tables, array &$fields, array &$conds, array &$dbOptions,
array &$joinConds
);
/**
* Modify the results from WatchedItemQueryService::getWatchedItemsWithRecentChangeInfo()
* before they're returned.
*
* @param UserIdentity $user
* @param array $options Options from
* WatchedItemQueryService::getWatchedItemsWithRecentChangeInfo()
* @param IReadableDatabase $db Database connection being used for the query
* @param array &$items array of pairs ( WatchedItem $watchedItem, string[] $recentChangeInfo ).
* May be truncated if necessary, in which case $startFrom must be updated.
* @param IResultWrapper|bool $res Database query result
* @param array|null &$startFrom Continuation value. If you truncate $items, set this to
* [ $recentChangeInfo['rc_timestamp'], $recentChangeInfo['rc_id'] ] from the first item
* removed.
*/
public function modifyWatchedItemsWithRCInfo( UserIdentity $user, array $options, IReadableDatabase $db,
array &$items, $res, &$startFrom
);
}
/** @deprecated class alias since 1.43 */
class_alias( WatchedItemQueryServiceExtension::class, 'WatchedItemQueryServiceExtension' );