/** @var int */
public $descriptionCacheExpiry;
+ /** @var bool */
+ protected $hasSha1Storage = false;
+
+ /** @var bool */
+ protected $supportsSha1URLs = false;
+
/** @var FileBackend */
protected $backend;
protected $transformVia404;
/** @var string URL of image description pages, e.g.
- * http://en.wikipedia.org/wiki/File:
+ * https://en.wikipedia.org/wiki/File:
*/
protected $descBaseUrl;
protected $scriptDirUrl;
/** @var string Script extension of the MediaWiki installation, equivalent
- * to $wgScriptExtension, e.g. .php5 defaults to .php */
+ * to the old $wgScriptExtension, e.g. .php5 defaults to .php */
protected $scriptExtension;
- /** @var string Equivalent to $wgArticlePath, e.g. http://en.wikipedia.org/wiki/$1 */
+ /** @var string Equivalent to $wgArticlePath, e.g. https://en.wikipedia.org/wiki/$1 */
protected $articleUrl;
/** @var bool Equivalent to $wgCapitalLinks (or $wgCapitalLinkOverrides[NS_FILE],
$this->zones[$zone]['urlsByExt'] = array();
}
}
+
+ $this->supportsSha1URLs = !empty( $info['supportsSha1URLs'] );
}
/**
# Now try an old version of the file
if ( $time !== false ) {
$img = $this->newFile( $title, $time );
- $img->load( $flags );
- if ( $img && $img->exists() ) {
- if ( !$img->isDeleted( File::DELETED_FILE ) ) {
- return $img; // always OK
- } elseif ( !empty( $options['private'] ) &&
- $img->userCan( File::DELETED_FILE,
- $options['private'] instanceof User ? $options['private'] : null
- )
- ) {
- return $img;
+ if ( $img ) {
+ $img->load( $flags );
+ if ( $img->exists() ) {
+ if ( !$img->isDeleted( File::DELETED_FILE ) ) {
+ return $img; // always OK
+ } elseif ( !empty( $options['private'] ) &&
+ $img->userCan( File::DELETED_FILE,
+ $options['private'] instanceof User ? $options['private'] : null
+ )
+ ) {
+ return $img;
+ }
}
}
}
$redir = $this->checkRedirect( $title );
if ( $redir && $title->getNamespace() == NS_FILE ) {
$img = $this->newFile( $redir );
- $img->load( $flags );
if ( !$img ) {
return false;
}
+ $img->load( $flags );
if ( $img->exists() ) {
$img->redirectedFrom( $title->getDBkey() );
}
if ( !is_null( $this->articleUrl ) ) {
# "http://example.com/wiki/$1"
- #
# We use "Image:" as the canonical namespace for
# compatibility across all MediaWiki versions.
return str_replace( '$1',
}
if ( !is_null( $this->scriptDirUrl ) ) {
# "http://example.com/w"
- #
# We use "Image:" as the canonical namespace for
# compatibility across all MediaWiki versions,
# and just sort of hope index.php is right. ;)
return $ret;
}
+
+ /**
+ * Returns whether or not storage is SHA-1 based
+ * @return boolean
+ */
+ public function hasSha1Storage() {
+ return $this->hasSha1Storage;
+ }
+
+ /**
+ * Returns whether or not repo supports having originals SHA-1s in the thumb URLs
+ * @return boolean
+ */
+ public function supportsSha1URLs() {
+ return $this->supportsSha1URLs;
+ }
}
/**