From 73e42ae08b8f0b0c8137cbdf4b4bd420b76ecdbc Mon Sep 17 00:00:00 2001 From: Max Semenik Date: Wed, 3 Oct 2018 14:43:10 -0700 Subject: [PATCH] Remove ugly function existence check Instead, add the function into the base class. Also, remove a pointless else. Bug: T205040 Change-Id: I371de90b3ebef133be92b49be505db8d73f4e2c4 --- includes/filerepo/file/File.php | 6 +++--- includes/media/MediaHandler.php | 13 +++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/includes/filerepo/file/File.php b/includes/filerepo/file/File.php index a30d213851..6a788b627f 100644 --- a/includes/filerepo/file/File.php +++ b/includes/filerepo/file/File.php @@ -590,14 +590,14 @@ abstract class File implements IDBAccessObject { */ public function getMatchedLanguage( $userPreferredLanguage ) { $handler = $this->getHandler(); - if ( $handler && method_exists( $handler, 'getMatchedLanguage' ) ) { + if ( $handler ) { return $handler->getMatchedLanguage( $userPreferredLanguage, $handler->getAvailableLanguages( $this ) ); - } else { - return null; } + + return null; } /** diff --git a/includes/media/MediaHandler.php b/includes/media/MediaHandler.php index 45836321a5..0f820ae969 100644 --- a/includes/media/MediaHandler.php +++ b/includes/media/MediaHandler.php @@ -780,6 +780,19 @@ abstract class MediaHandler { return []; } + /** + * When overridden in a descendant class, returns a language code most suiting + * + * @since 1.32 + * + * @param string $userPreferredLanguage Language code requesed + * @param string[] $availableLanguages Languages present in the file + * @return string|null Language code picked or null if not supported/available + */ + public function getMatchedLanguage( $userPreferredLanguage, array $availableLanguages ) { + return null; + } + /** * On file types that support renderings in multiple languages, * which language is used by default if unspecified. -- 2.20.1