* http://www.gnu.org/copyleft/gpl.html
*
* @file
- * @ingroup Upload
*/
/**
*/
class UploadStash {
// Format of the key for files -- has to be suitable as a filename itself (e.g. ab12cd34ef.jpg)
- const KEY_FORMAT_REGEX = '/^[\w-\.]+\.\w*$/';
+ const KEY_FORMAT_REGEX = '/^[\w\-\.]+\.\w*$/';
const MAX_US_PROPS_SIZE = 65535;
/**
* (should replace it eventually).
*
* @param FileRepo $repo
- * @param User $user (default null)
+ * @param User|null $user
*/
public function __construct( FileRepo $repo, $user = null ) {
// this might change based on wiki's configuration.
* database, along with other metadata.
*
* @param string $path Path to file you want stashed
- * @param string $sourceType The type of upload that generated this file
+ * @param string|null $sourceType The type of upload that generated this file
* (currently, I believe, 'file' or null)
* @throws UploadStashBadPathException
* @throws UploadStashFileException
);
// store the insertid in the class variable so immediate retrieval
- // (possibly laggy) isn't necesary.
+ // (possibly laggy) isn't necessary.
$this->fileMetadata[$key]['us_id'] = $dbw->insertId();
# create the UploadStashFile object for this file.
}
}
+/**
+ * @ingroup Upload
+ */
class UploadStashFile extends UnregisteredLocalFile {
private $fileKey;
private $urlName;
}
}
+/**
+ * @ingroup Upload
+ */
class UploadStashException extends MWException implements ILocalizedException {
/** @var string|array|MessageSpecifier */
protected $messageSpec;
/**
* @param string|array|MessageSpecifier $messageSpec See Message::newFromSpecifier
* @param int $code Exception code
- * @param Exception|Throwable $previous The previous exception used for the exception chaining.
+ * @param Exception|Throwable|null $previous The previous exception used for the exception
+ * chaining.
*/
public function __construct( $messageSpec, $code = 0, $previous = null ) {
$this->messageSpec = $messageSpec;
}
}
+/**
+ * @ingroup Upload
+ */
class UploadStashFileNotFoundException extends UploadStashException {
}
+/**
+ * @ingroup Upload
+ */
class UploadStashBadPathException extends UploadStashException {
}
+/**
+ * @ingroup Upload
+ */
class UploadStashFileException extends UploadStashException {
}
+/**
+ * @ingroup Upload
+ */
class UploadStashZeroLengthFileException extends UploadStashException {
}
+/**
+ * @ingroup Upload
+ */
class UploadStashNotLoggedInException extends UploadStashException {
}
+/**
+ * @ingroup Upload
+ */
class UploadStashWrongOwnerException extends UploadStashException {
}
+/**
+ * @ingroup Upload
+ */
class UploadStashNoSuchKeyException extends UploadStashException {
}