X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Ffilerepo%2FRepoGroup.php;h=bd32de04e1848d8bae8b8ebb4d684f3d92b1592d;hp=c89dca10ea9ddf7acd4ae63ccfedf9b891bbc155;hb=c16af68fb62948dd8079a7fa49b7c12b9a748121;hpb=4a883e2ec8dec91254b3232af298014121642d19 diff --git a/includes/filerepo/RepoGroup.php b/includes/filerepo/RepoGroup.php index c89dca10ea..5e37d676ef 100644 --- a/includes/filerepo/RepoGroup.php +++ b/includes/filerepo/RepoGroup.php @@ -117,10 +117,10 @@ class RepoGroup { * latest: If true, load from the latest available data into File objects * @return File|bool False if title is not found */ - function findFile( $title, $options = array() ) { + function findFile( $title, $options = [] ) { if ( !is_array( $options ) ) { // MW 1.15 compat - $options = array( 'time' => $options ); + $options = [ 'time' => $options ]; } if ( isset( $options['bypassCache'] ) ) { $options['latest'] = $options['bypassCache']; // b/c @@ -135,17 +135,18 @@ class RepoGroup { } # Check the cache + $dbkey = $title->getDBkey(); if ( empty( $options['ignoreRedirect'] ) && empty( $options['private'] ) && empty( $options['bypassCache'] ) ) { $time = isset( $options['time'] ) ? $options['time'] : ''; - $dbkey = $title->getDBkey(); if ( $this->cache->has( $dbkey, $time, 60 ) ) { return $this->cache->get( $dbkey, $time ); } $useCache = true; } else { + $time = false; $useCache = false; } @@ -177,8 +178,8 @@ class RepoGroup { * @param array $inputItems An array of titles, or an array of findFile() options with * the "title" option giving the title. Example: * - * $findItem = array( 'title' => $title, 'private' => true ); - * $findBatch = array( $findItem ); + * $findItem = [ 'title' => $title, 'private' => true ]; + * $findBatch = [ $findItem ]; * $repo->findFiles( $findBatch ); * * No title should appear in $items twice, as the result use titles as keys @@ -193,10 +194,10 @@ class RepoGroup { $this->initialiseRepos(); } - $items = array(); + $items = []; foreach ( $inputItems as $item ) { if ( !is_array( $item ) ) { - $item = array( 'title' => $item ); + $item = [ 'title' => $item ]; } $item['title'] = File::normalizeTitle( $item['title'] ); if ( $item['title'] ) { @@ -251,7 +252,7 @@ class RepoGroup { * @param array $options Option array, same as findFile() * @return File|bool File object or false if it is not found */ - function findFileFromKey( $hash, $options = array() ) { + function findFileFromKey( $hash, $options = [] ) { if ( !$this->reposInitialised ) { $this->initialiseRepos(); } @@ -333,7 +334,7 @@ class RepoGroup { /** * Get the repo instance by its name * @param string $name - * @return bool + * @return FileRepo|bool */ function getRepoByName( $name ) { if ( !$this->reposInitialised ) { @@ -366,12 +367,12 @@ class RepoGroup { * @param array $params Optional additional parameters to pass to the function * @return bool */ - function forEachForeignRepo( $callback, $params = array() ) { + function forEachForeignRepo( $callback, $params = [] ) { if ( !$this->reposInitialised ) { $this->initialiseRepos(); } foreach ( $this->foreignRepos as $repo ) { - $args = array_merge( array( $repo ), $params ); + $args = array_merge( [ $repo ], $params ); if ( call_user_func_array( $callback, $args ) ) { return true; } @@ -401,7 +402,7 @@ class RepoGroup { $this->reposInitialised = true; $this->localRepo = $this->newRepo( $this->localInfo ); - $this->foreignRepos = array(); + $this->foreignRepos = []; foreach ( $this->foreignInfo as $key => $info ) { $this->foreignRepos[$key] = $this->newRepo( $info ); } @@ -451,7 +452,9 @@ class RepoGroup { return $repo->getFileProps( $fileName ); } else { - return FSFile::getPropsFromPath( $fileName ); + $mwProps = new MWFileProps( MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer() ); + + return $mwProps->getPropsFromPath( $fileName, true ); } }