소스 검색

In case of maintenance we should add a message to the exception

tags/v8.1RC2
Thomas Müller 9 년 전
부모
커밋
e236e564af
1개의 변경된 파일13개의 추가작업 그리고 11개의 파일을 삭제
  1. 13
    11
      lib/private/connector/sabre/maintenanceplugin.php

+ 13
- 11
lib/private/connector/sabre/maintenanceplugin.php 파일 보기

@@ -25,13 +25,16 @@

namespace OC\Connector\Sabre;

class MaintenancePlugin extends \Sabre\DAV\ServerPlugin
{
use Sabre\DAV\Exception\ServiceUnavailable;
use Sabre\DAV\Server;
use Sabre\DAV\ServerPlugin;

class MaintenancePlugin extends ServerPlugin {

/**
* Reference to main server object
*
* @var \Sabre\DAV\Server
* @var Server
*/
private $server;

@@ -43,11 +46,10 @@ class MaintenancePlugin extends \Sabre\DAV\ServerPlugin
*
* This method should set up the required event subscriptions.
*
* @param \Sabre\DAV\Server $server
* @param Server $server
* @return void
*/
public function initialize(\Sabre\DAV\Server $server) {

public function initialize(Server $server) {
$this->server = $server;
$this->server->on('beforeMethod', array($this, 'checkMaintenanceMode'), 10);
}
@@ -56,19 +58,19 @@ class MaintenancePlugin extends \Sabre\DAV\ServerPlugin
* This method is called before any HTTP method and returns http status code 503
* in case the system is in maintenance mode.
*
* @throws \Sabre\DAV\Exception\ServiceUnavailable
* @throws ServiceUnavailable
* @internal param string $method
* @return bool
*/
public function checkMaintenanceMode() {
if (\OC::$server->getSystemConfig()->getValue('singleuser', false)) {
throw new \Sabre\DAV\Exception\ServiceUnavailable();
throw new ServiceUnavailable('System in single user mode.');
}
if (\OC_Config::getValue('maintenance', false)) {
throw new \Sabre\DAV\Exception\ServiceUnavailable();
if (\OC::$server->getSystemConfig()->getValue('maintenance', false)) {
throw new ServiceUnavailable('System in maintenance mode.');
}
if (\OC::checkUpgrade(false)) {
throw new \Sabre\DAV\Exception\ServiceUnavailable('Upgrade needed');
throw new ServiceUnavailable('Upgrade needed');
}

return true;

Loading…
취소
저장