/** @var bool */
protected $hasSha1Storage = false;
+ /** @var bool */
+ protected $supportsSha1URLs = false;
+
/** @var FileBackend */
protected $backend;
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. https://en.wikipedia.org/wiki/$1 */
$this->zones[$zone]['urlsByExt'] = array();
}
}
+
+ $this->supportsSha1URLs = !empty( $info['supportsSha1URLs'] );
}
/**
*
* @param string $virtualUrl
* @param array $headers Additional HTTP headers to send on success
- * @return bool Success
+ * @return Status
+ * @since 1.27
*/
- public function streamFile( $virtualUrl, $headers = array() ) {
+ public function streamFileWithStatus( $virtualUrl, $headers = array() ) {
$path = $this->resolveToStoragePath( $virtualUrl );
$params = array( 'src' => $path, 'headers' => $headers );
- return $this->backend->streamFile( $params )->isOK();
+ return $this->backend->streamFile( $params );
+ }
+
+ /**
+ * Attempt to stream a file with the given virtual URL/storage path
+ *
+ * @deprecated since 1.26, use streamFileWithStatus
+ * @param string $virtualUrl
+ * @param array $headers Additional HTTP headers to send on success
+ * @return bool Success
+ */
+ public function streamFile( $virtualUrl, $headers = array() ) {
+ return $this->streamFileWithStatus( $virtualUrl, $headers )->isOK();
}
/**
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;
+ }
}
/**