}
}
+ /**
+ * If the wiki is currently in readonly mode, throws a ReadOnlyError
+ *
+ * @since 1.19
+ * @throws ReadOnlyError
+ */
+ public function checkReadOnly() {
+ if ( wfReadOnly() ) {
+ throw new ReadOnlyError;
+ }
+ }
+
/**
* Sets headers - this should be called from the execute() method of all derived classes!
*/
* @throws ErrorPageError
*/
protected function checkExecutePermissions( User $user ) {
- if ( $this->requiresWrite() && wfReadOnly() ) {
- throw new ReadOnlyError();
+ if ( $this->requiresWrite() ) {
+ $this->checkReadOnly();
}
- if ( !$this->userCanExecute( $this->getUser() ) ) {
- throw new PermissionsError( $this->getRestriction() );
- }
+ $this->checkPermissions();
if ( $this->requiresUnblock() && $user->isBlocked() ) {
$block = $user->mBlock;