[ 'image' ], 'fields' => [ 'namespace' => NS_FILE, 'title' => 'MIN(img_name)', 'value' => 'count(*)' ], 'options' => [ 'GROUP BY' => 'img_sha1', 'HAVING' => 'count(*) > 1', ], ]; } /** * Pre-fill the link cache * * @param IDatabase $db * @param IResultWrapper $res */ function preprocessResults( $db, $res ) { $this->executeLBFromResultWrapper( $res ); } /** * @param Skin $skin * @param object $result Result row * @return string */ function formatResult( $skin, $result ) { // Future version might include a list of the first 5 duplicates // perhaps separated by an "↔". $image1 = Title::makeTitle( $result->namespace, $result->title ); $dupeSearch = SpecialPage::getTitleFor( 'FileDuplicateSearch', $image1->getDBkey() ); $msg = $this->msg( 'listduplicatedfiles-entry' ) ->params( $image1->getText() ) ->numParams( $result->value - 1 ) ->params( $dupeSearch->getPrefixedDBkey() ); return $msg->parse(); } public function execute( $par ) { $this->addHelpLink( 'Help:Managing_files' ); parent::execute( $par ); } protected function getGroupName() { return 'media'; } }