X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Ffilerepo%2Ffile%2FLocalFile.php;h=33177d3f6fb9f3c742f3c254e3db2b18e2cd6534;hb=33eabfd8d6a738ae3ed13e3f52c0bbd7664e581a;hp=8d715e824a9e89cce09b319b4583a39e5377ff91;hpb=7bb26739ec20082cdce09115ac7a80e15325ec8c;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/filerepo/file/LocalFile.php b/includes/filerepo/file/LocalFile.php index 8d715e824a..33177d3f6f 100644 --- a/includes/filerepo/file/LocalFile.php +++ b/includes/filerepo/file/LocalFile.php @@ -215,7 +215,6 @@ class LocalFile extends File { } /** - * Constructor. * Do not call this except from inside a repo class. * @param Title $title * @param FileRepo $repo @@ -593,7 +592,7 @@ class LocalFile extends File { if ( $upgrade ) { $this->upgrading = true; // Defer updates unless in auto-commit CLI mode - DeferredUpdates::addCallableUpdate( function() { + DeferredUpdates::addCallableUpdate( function () { $this->upgrading = false; // avoid duplicate updates try { $this->upgradeRow(); @@ -716,6 +715,11 @@ class LocalFile extends File { * @return int */ public function getWidth( $page = 1 ) { + $page = (int)$page; + if ( $page < 1 ) { + $page = 1; + } + $this->load(); if ( $this->isMultipage() ) { @@ -743,6 +747,11 @@ class LocalFile extends File { * @return int */ public function getHeight( $page = 1 ) { + $page = (int)$page; + if ( $page < 1 ) { + $page = 1; + } + $this->load(); if ( $this->isMultipage() ) { @@ -1022,9 +1031,15 @@ class LocalFile extends File { $purgeList = []; foreach ( $files as $file ) { - # Check that the base file name is part of the thumb name + if ( $this->repo->supportsSha1URLs() ) { + $reference = $this->getSha1(); + } else { + $reference = $this->getName(); + } + + # Check that the reference (filename or sha1) is part of the thumb name # This is a basic sanity check to avoid erasing unrelated directories - if ( strpos( $file, $this->getName() ) !== false + if ( strpos( $file, $reference ) !== false || strpos( $file, "-thumbnail" ) !== false // "short" thumb name ) { $purgeList[] = "{$dir}/{$file}";