$fileMatchesSearch = function( File $file, array $search ) {
// Note: file name comparison done elsewhere (to handle redirects)
+ $user = ( !empty( $search['private'] ) && $search['private'] instanceof User )
+ ? $search['private']
+ : null;
return (
$file->exists() &&
(
( !empty( $search['time'] ) && $search['time'] === $file->getTimestamp() )
) &&
( !empty( $search['private'] ) || !$file->isDeleted( File::DELETED_FILE ) ) &&
- $file->userCan( File::DELETED_FILE )
+ $file->userCan( File::DELETED_FILE, $user )
);
};
// Query old image table
$oiConds = array(); // WHERE clause array for each file
foreach ( $searchSet as $dbKey => $search ) {
- if ( isset( $search['params']['time'] ) ) {
+ if ( isset( $search['time'] ) ) {
$oiConds[] = $dbr->makeList(
array(
'oi_name' => $this->getNameFromTitle( File::normalizeTitle( $dbKey ) ),
- 'oi_timestamp' => $dbr->timestamp( $search['params']['time'] )
+ 'oi_timestamp' => $dbr->timestamp( $search['time'] )
),
LIST_AND
);