Merge pull request #15675 from owncloud/enc_error_messages
[encryption] display warning if password changed or if the keys are not initializedremotes/origin/poc-doctrine-migrations
commit
ac133e9faa
@ -0,0 +1,89 @@ |
||||
<?php |
||||
/** |
||||
* @author Björn Schießle <schiessle@owncloud.com> |
||||
* |
||||
* @copyright Copyright (c) 2015, ownCloud, Inc. |
||||
* @license AGPL-3.0 |
||||
* |
||||
* This code is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License, version 3, |
||||
* as published by the Free Software Foundation. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License, version 3, |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/> |
||||
* |
||||
*/ |
||||
|
||||
|
||||
namespace OCA\Encryption\Controller; |
||||
|
||||
|
||||
use OCA\Encryption\Session; |
||||
use OCP\AppFramework\Controller; |
||||
use OCP\AppFramework\Http\DataResponse; |
||||
use OCP\IL10N; |
||||
use OCP\IRequest; |
||||
|
||||
class StatusController extends Controller { |
||||
|
||||
/** @var IL10N */ |
||||
private $l; |
||||
|
||||
/** @var Session */ |
||||
private $session; |
||||
|
||||
/** |
||||
* @param string $AppName |
||||
* @param IRequest $request |
||||
* @param IL10N $l10n |
||||
* @param Session $session |
||||
*/ |
||||
public function __construct($AppName, |
||||
IRequest $request, |
||||
IL10N $l10n, |
||||
Session $session |
||||
) { |
||||
parent::__construct($AppName, $request); |
||||
$this->l = $l10n; |
||||
$this->session = $session; |
||||
} |
||||
|
||||
/** |
||||
* @NoAdminRequired |
||||
* @return DataResponse |
||||
*/ |
||||
public function getStatus() { |
||||
|
||||
switch( $this->session->getStatus()) { |
||||
case Session::INIT_EXECUTED: |
||||
$status = 'success'; |
||||
$message = (string)$this->l->t( |
||||
'Invalid private key for Encryption App. Please update your private' |
||||
. ' key password in your personal settings to recover access to your' |
||||
. ' encrypted files.', array('app' => 'encryption')); |
||||
break; |
||||
case Session::NOT_INITIALIZED: |
||||
$status = 'success'; |
||||
$message = (string)$this->l->t( |
||||
'Encryption App is enabled but your keys are not initialized,' |
||||
. ' please log-out and log-in again', array('app' => 'encryption')); |
||||
break; |
||||
default: |
||||
$status = 'error'; |
||||
} |
||||
|
||||
return new DataResponse( |
||||
array( |
||||
'status' => $status, |
||||
'data' => array( |
||||
'message' => $message) |
||||
) |
||||
); |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue