* @ingroup FileAbstraction
*/
+// @phan-file-suppress PhanTypeMissingReturn false positives
/**
* Implements some public methods and some protected utility functions which
* are required by multiple child classes. Contains stub functionality for
if ( !is_callable( $function ) ) {
return null;
} else {
- $this->$name = call_user_func( $function );
+ $this->$name = $function();
return $this->$name;
}
// one would not expect it to be animated
// so true.
return true;
- } else {
- if ( $this->allowInlineDisplay()
- && $handler->isAnimatedImage( $this )
- && !$handler->canAnimateThumbnail( $this )
- ) {
- // Image is animated, but thumbnail isn't.
- // This is unexpected to the user.
- return false;
- } else {
- // Image is not animated, so one would
- // not expect thumb to be
- return true;
- }
}
+
+ return !$this->allowInlineDisplay()
+ // Image is not animated, so one would
+ // not expect thumb to be
+ || !$handler->isAnimatedImage( $this )
+ // Image is animated, but thumbnail isn't.
+ // This is unexpected to the user.
+ || $handler->canAnimateThumbnail( $this );
}
/**
function getArchiveRel( $suffix = false ) {
$path = 'archive/' . $this->getHashPath();
if ( $suffix === false ) {
- $path = substr( $path, 0, -1 );
+ $path = rtrim( $path, '/' );
} else {
$path .= $suffix;
}
* @return string
*/
function getArchiveThumbRel( $archiveName, $suffix = false ) {
- $path = $this->getArchiveRel( $archiveName ) . "/";
- if ( $suffix === false ) {
- $path = substr( $path, 0, -1 );
- } else {
- $path .= $suffix;
+ $path = $this->getArchiveRel( $archiveName );
+ if ( $suffix !== false ) {
+ $path .= '/' . $suffix;
}
return $path;
$ext = $this->getExtension();
$path = $this->repo->getZoneUrl( 'public', $ext ) . '/archive/' . $this->getHashPath();
if ( $suffix === false ) {
- $path = substr( $path, 0, -1 );
+ $path = rtrim( $path, '/' );
} else {
$path .= rawurlencode( $suffix );
}
$this->assertRepoDefined();
$ext = $this->getExtension();
$path = $this->repo->getZoneUrl( 'thumb', $ext ) . '/archive/' .
- $this->getHashPath() . rawurlencode( $archiveName ) . "/";
- if ( $suffix === false ) {
- $path = substr( $path, 0, -1 );
- } else {
- $path .= rawurlencode( $suffix );
+ $this->getHashPath() . rawurlencode( $archiveName );
+ if ( $suffix !== false ) {
+ $path .= '/' . rawurlencode( $suffix );
}
return $path;
$this->assertRepoDefined();
$path = $this->repo->getVirtualUrl() . '/public/archive/' . $this->getHashPath();
if ( $suffix === false ) {
- $path = substr( $path, 0, -1 );
+ $path = rtrim( $path, '/' );
} else {
$path .= rawurlencode( $suffix );
}