Compare commits

...

2 Commits

Author SHA1 Message Date
Julius Härtl 7ffe14a93b
fixup! Move HintException to OCP 2021-04-21 10:50:25 +02:00
Julius Härtl 016c4f33ac
Move HintException to OCP
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-04-21 10:03:01 +02:00
59 changed files with 177 additions and 130 deletions

View File

@ -26,7 +26,7 @@
namespace OCA\FederatedFileSharing;
use OC\HintException;
use OCP\HintException;
use OCP\Federation\ICloudIdManager;
use OCP\IL10N;
use OCP\IURLGenerator;

View File

@ -31,7 +31,7 @@
namespace OCA\FederatedFileSharing\Controller;
use OC\HintException;
use OCP\HintException;
use OCA\FederatedFileSharing\AddressHandler;
use OCA\FederatedFileSharing\FederatedShareProvider;
use OCP\AppFramework\Controller;

View File

@ -230,7 +230,7 @@ class RequestHandlerController extends OCSController {
* @return Http\DataResponse
* @throws OCSException
* @throws ShareNotFound
* @throws \OC\HintException
* @throws \OCP\HintException
*/
public function acceptShare($id) {
$token = isset($_POST['token']) ? $_POST['token'] : null;

View File

@ -427,7 +427,7 @@ class FederatedShareProvider implements IShareProvider {
*
* @param IShare $share
* @throws ShareNotFound
* @throws \OC\HintException
* @throws \OCP\HintException
*/
protected function sendPermissionUpdate(IShare $share) {
$remoteId = $this->getRemoteId($share);
@ -536,7 +536,7 @@ class FederatedShareProvider implements IShareProvider {
*
* @param IShare $share
* @throws ShareNotFound
* @throws \OC\HintException
* @throws \OCP\HintException
*/
public function delete(IShare $share) {
[, $remote] = $this->addressHandler->splitUserRemote($share->getSharedWith());
@ -563,7 +563,7 @@ class FederatedShareProvider implements IShareProvider {
* @param IShare $share
* @param bool $isOwner the user can either be the owner or the user who re-sahred it
* @throws ShareNotFound
* @throws \OC\HintException
* @throws \OCP\HintException
*/
protected function revokeShare($share, $isOwner) {
if ($this->userManager->userExists($share->getShareOwner()) && $this->userManager->userExists($share->getSharedBy())) {

View File

@ -97,7 +97,7 @@ class Notifications {
* @param string $sharedByFederatedId
* @param int $shareType (can be a remote user or group share)
* @return bool
* @throws \OC\HintException
* @throws \OCP\HintException
* @throws \OC\ServerNotAvailableException
*/
public function sendRemoteShare($token, $shareWith, $name, $remoteId, $owner, $ownerFederatedId, $sharedBy, $sharedByFederatedId, $shareType) {
@ -156,7 +156,7 @@ class Notifications {
* @param int $permission
* @param string $filename
* @return array|false
* @throws \OC\HintException
* @throws \OCP\HintException
* @throws \OC\ServerNotAvailableException
*/
public function requestReShare($token, $id, $shareId, $remote, $shareWith, $permission, $filename) {

View File

@ -27,7 +27,7 @@
namespace OCA\FederatedFileSharing;
use OC\HintException;
use OCP\HintException;
use OCP\Contacts\IManager;
use OCP\Federation\ICloudId;
use OCP\Federation\ICloudIdManager;

View File

@ -170,7 +170,7 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
*
* @throws ProviderCouldNotAddShareException
* @throws \OCP\AppFramework\QueryException
* @throws \OC\HintException
* @throws \OCP\HintException
* @since 14.0.0
*/
public function shareReceived(ICloudFederationShare $share) {
@ -299,7 +299,7 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
* @throws ActionNotSupportedException
* @throws AuthenticationFailedException
* @throws BadRequestException
* @throws \OC\HintException
* @throws \OCP\HintException
* @since 14.0.0
*/
public function notificationReceived($notificationType, $providerId, array $notification) {
@ -367,7 +367,7 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
* @throws ActionNotSupportedException
* @throws AuthenticationFailedException
* @throws BadRequestException
* @throws \OC\HintException
* @throws \OCP\HintException
*/
private function shareAccepted($id, array $notification) {
if (!$this->isS2SEnabled()) {
@ -436,7 +436,7 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
* @throws AuthenticationFailedException
* @throws BadRequestException
* @throws ShareNotFound
* @throws \OC\HintException
* @throws \OCP\HintException
*
*/
protected function shareDeclined($id, array $notification) {

View File

@ -137,7 +137,7 @@ class AddressHandlerTest extends \Test\TestCase {
* @param string $id
*/
public function testSplitUserRemoteError($id) {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$this->addressHandler->splitUserRemote($id);
}

View File

@ -30,7 +30,7 @@
namespace OCA\FederatedFileSharing\Tests\Controller;
use OC\Federation\CloudIdManager;
use OC\HintException;
use OCP\HintException;
use OCA\FederatedFileSharing\AddressHandler;
use OCA\FederatedFileSharing\Controller\MountPublicLinkController;
use OCA\FederatedFileSharing\FederatedShareProvider;

View File

@ -24,7 +24,7 @@
namespace OCA\Federation\Controller;
use OC\HintException;
use OCP\HintException;
use OCA\Federation\TrustedServers;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\DataResponse;

View File

@ -28,7 +28,7 @@
namespace OCA\Federation;
use OC\Files\Filesystem;
use OC\HintException;
use OCP\HintException;
use OCP\IDBConnection;
use OCP\IL10N;

View File

@ -29,7 +29,7 @@
namespace OCA\Federation\Middleware;
use OC\HintException;
use OCP\HintException;
use OCA\Federation\Controller\SettingsController;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;

View File

@ -28,7 +28,7 @@
namespace OCA\Federation;
use OC\HintException;
use OCP\HintException;
use OCA\Federation\BackgroundJob\RequestSharedSecret;
use OCP\AppFramework\Http;
use OCP\AppFramework\Utility\ITimeFactory;

View File

@ -89,7 +89,7 @@ class SettingsControllerTest extends TestCase {
* @param bool $isOwnCloud
*/
public function testAddServerFail($isTrustedServer, $isOwnCloud) {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$this->trustedServers
->expects($this->any())
@ -137,7 +137,7 @@ class SettingsControllerTest extends TestCase {
* @param bool $isOwnCloud
*/
public function testCheckServerFail($isTrustedServer, $isOwnCloud) {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$this->trustedServers
->expects($this->any())

View File

@ -27,7 +27,7 @@
namespace OCA\Federation\Tests\Middleware;
use OC\HintException;
use OCP\HintException;
use OCA\Federation\Controller\SettingsController;
use OCA\Federation\Middleware\AddServerMiddleware;
use OCP\AppFramework\Http;

View File

@ -351,7 +351,7 @@ class TrustedServersTest extends TestCase {
* @dataProvider dataTestCheckOwnCloudVersionTooLow
*/
public function testCheckOwnCloudVersionTooLow($status) {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$this->expectExceptionMessage('Remote server version is too low. 9.0 is required.');
$this->invokePrivate($this->trustedServers, 'checkOwnCloudVersion', [$status]);

View File

@ -243,7 +243,7 @@ class ShareController extends AuthPublicShareController {
* otherwise token
* @param int $errorCode
* @param string $errorMessage
* @throws \OC\HintException
* @throws \OCP\HintException
* @throws \OC\ServerNotAvailableException
*/
protected function emitAccessShareHook($share, $errorCode = 200, $errorMessage = '') {

View File

@ -48,7 +48,7 @@ use libphonenumber\PhoneNumberFormat;
use libphonenumber\PhoneNumberUtil;
use OC\Accounts\AccountManager;
use OC\Authentication\Token\RemoteWipe;
use OC\HintException;
use OCP\HintException;
use OC\KnownUser\KnownUserService;
use OCA\Settings\Mailer\NewUserMailHelper;
use OCP\Accounts\IAccountManager;

View File

@ -37,7 +37,7 @@
namespace OCA\Settings\Controller;
use OC\Group\Manager as GroupManager;
use OC\HintException;
use OCP\HintException;
use OC\User\Session;
use OCP\App\IAppManager;
use OCP\AppFramework\Controller;

View File

@ -37,7 +37,7 @@
namespace OCA\ShareByMail;
use OC\HintException;
use OCP\HintException;
use OC\Share20\Exception\InvalidShare;
use OC\Share20\Share;
use OC\User\NoUserException;

View File

@ -478,7 +478,7 @@ class ShareByMailProviderTest extends TestCase {
public function testCreateMailShareFailed() {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$this->share->expects($this->any())->method('getToken')->willReturn('token');
$this->share->expects($this->once())->method('setToken')->with('token');

View File

@ -48,7 +48,7 @@
namespace OCA\User_LDAP;
use DomainException;
use OC\HintException;
use OCP\HintException;
use OC\Hooks\PublicEmitter;
use OC\ServerNotAvailableException;
use OCA\User_LDAP\Exceptions\ConstraintViolationException;

View File

@ -24,7 +24,7 @@
namespace OCA\User_LDAP\Controller;
use OC\HintException;
use OCP\HintException;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\RedirectResponse;
use OCP\AppFramework\Http\TemplateResponse;

View File

@ -484,7 +484,7 @@ class AccessTest extends TestCase {
public function testSetPasswordWithRejectedChange() {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$this->expectExceptionMessage('Password change rejected.');
$this->connection

View File

@ -32,7 +32,7 @@
namespace OCA\User_LDAP\Tests;
use OC\HintException;
use OCP\HintException;
use OC\User\Backend;
use OC\User\Session;
use OCA\User_LDAP\Access;
@ -1215,7 +1215,7 @@ class User_LDAPTest extends TestCase {
public function testSetPasswordInvalid() {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$this->expectExceptionMessage('Password fails quality checking policy');
$this->prepareAccessForSetPassword($this->access);
@ -1360,7 +1360,7 @@ class User_LDAPTest extends TestCase {
public function testSetDisplayNameErrorWithPlugin() {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$newDisplayName = 'J. Baker';
$this->pluginManager->expects($this->once())

View File

@ -40,7 +40,7 @@ use function array_filter;
use function count;
use OC\Authentication\TwoFactorAuth\Manager;
use OC\Core\Exception\ResetPasswordException;
use OC\HintException;
use OCP\HintException;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\TemplateResponse;

View File

@ -40,7 +40,7 @@ try {
//show the user a detailed error page
OC_Template::printExceptionErrorPage($ex, 503);
} catch (\OC\HintException $ex) {
} catch (OCP\HintException $ex) {
try {
OC_Template::printErrorPage($ex->getMessage(), $ex->getHint(), 503);
} catch (Exception $ex2) {

View File

@ -387,7 +387,7 @@ class OC {
if (!empty($incompatibleShippedApps)) {
$l = \OC::$server->getL10N('core');
$hint = $l->t('The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server.', [implode(', ', $incompatibleShippedApps)]);
throw new \OC\HintException('The files of the app ' . implode(', ', $incompatibleShippedApps) . ' were not replaced correctly. Make sure it is a version compatible with the server.', $hint);
throw new OCP\HintException('The files of the app ' . implode(', ', $incompatibleShippedApps) . ' were not replaced correctly. Make sure it is a version compatible with the server.', $hint);
}
$tmpl->assign('appsToUpgrade', $appManager->getAppsNeedingUpgrade($ocVersion));

View File

@ -367,6 +367,7 @@ return array(
'OCP\\Group\\Events\\UserAddedEvent' => $baseDir . '/lib/public/Group/Events/UserAddedEvent.php',
'OCP\\Group\\Events\\UserRemovedEvent' => $baseDir . '/lib/public/Group/Events/UserRemovedEvent.php',
'OCP\\Group\\ISubAdmin' => $baseDir . '/lib/public/Group/ISubAdmin.php',
'OCP\\HintException' => $baseDir . '/lib/public/HintException.php',
'OCP\\Http\\Client\\IClient' => $baseDir . '/lib/public/Http/Client/IClient.php',
'OCP\\Http\\Client\\IClientService' => $baseDir . '/lib/public/Http/Client/IClientService.php',
'OCP\\Http\\Client\\IResponse' => $baseDir . '/lib/public/Http/Client/IResponse.php',

View File

@ -396,6 +396,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OCP\\Group\\Events\\UserAddedEvent' => __DIR__ . '/../../..' . '/lib/public/Group/Events/UserAddedEvent.php',
'OCP\\Group\\Events\\UserRemovedEvent' => __DIR__ . '/../../..' . '/lib/public/Group/Events/UserRemovedEvent.php',
'OCP\\Group\\ISubAdmin' => __DIR__ . '/../../..' . '/lib/public/Group/ISubAdmin.php',
'OCP\\HintException' => __DIR__ . '/../../..' . '/lib/public/HintException.php',
'OCP\\Http\\Client\\IClient' => __DIR__ . '/../../..' . '/lib/public/Http/Client/IClient.php',
'OCP\\Http\\Client\\IClientService' => __DIR__ . '/../../..' . '/lib/public/Http/Client/IClientService.php',
'OCP\\Http\\Client\\IResponse' => __DIR__ . '/../../..' . '/lib/public/Http/Client/IResponse.php',

View File

@ -35,7 +35,7 @@ namespace OC\AppFramework;
use OC\AppFramework\DependencyInjection\DIContainer;
use OC\AppFramework\Http\Dispatcher;
use OC\AppFramework\Http\Request;
use OC\HintException;
use OCP\HintException;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\ICallbackResponse;
use OCP\AppFramework\Http\IOutput;

View File

@ -39,6 +39,8 @@
namespace OC;
use OCP\HintException;
/**
* This class is responsible for reading and writing config.php, the very basic
* configuration file of Nextcloud.

View File

@ -23,5 +23,7 @@
namespace OC;
use OCP\HintException;
class DatabaseSetupException extends HintException {
}

View File

@ -1,80 +1,34 @@
<?php
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
/*
* @copyright Copyright (c) 2021 Julius Härtl <jus@bitgrid.net>
*
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
* @author Bart Visscher <bartv@thisnet.nl>
* @author Lukas Reschke <lukas@statuscode.ch>
* @author Michael Gapczynski <GapczynskiM@gmail.com>
* @author Morris Jobke <hey@morrisjobke.de>
* @author Thomas Müller <thomas.mueller@tmit.eu>
* @author Julius Härtl <jus@bitgrid.net>
*
* @license AGPL-3.0
* @license GNU AGPL version 3 or any later version
*
* 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 free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* 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/>
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
declare(strict_types=1);
namespace OC;
/**
* Class HintException
*
* An Exception class with the intention to be presented to the end user
*
* @package OC
* @depreacted 22.0.0 Use \OCP\HintException
*/
class HintException extends \Exception {
private $hint;
class HintException extends \OCP\HintException {
/**
* HintException constructor.
*
* @param string $message The error message. It will be not revealed to the
* the user (unless the hint is empty) and thus
* should be not translated.
* @param string $hint A useful message that is presented to the end
* user. It should be translated, but must not
* contain sensitive data.
* @param int $code
* @param \Exception|null $previous
*/
public function __construct($message, $hint = '', $code = 0, \Exception $previous = null) {
$this->hint = $hint;
parent::__construct($message, $code, $previous);
}
/**
* Returns a string representation of this Exception that includes the error
* code, the message and the hint.
*
* @return string
*/
public function __toString() {
return __CLASS__ . ": [{$this->code}]: {$this->message} ({$this->hint})\n";
}
/**
* Returns the hint with the intention to be presented to the end user. If
* an empty hint was specified upon instatiation, the message is returned
* instead.
*
* @return string
*/
public function getHint() {
if (empty($this->hint)) {
return $this->message;
}
return $this->hint;
}
}

View File

@ -49,6 +49,7 @@ use OC\DB\Connection;
use OC\DB\MigrationService;
use OC_App;
use OC_Helper;
use OCP\HintException;
use OCP\Http\Client\IClientService;
use OCP\IConfig;
use OCP\ILogger;

View File

@ -30,7 +30,7 @@
namespace OC\Log;
use OC\Core\Controller\SetupController;
use OC\HintException;
use OCP\HintException;
use OC\Security\IdentityProof\Key;
use OC\Setup;
use OC\SystemConfig;

View File

@ -26,7 +26,7 @@
namespace OC\Log;
use OC\HintException;
use OCP\HintException;
use OC\SystemConfig;
use OCP\ILogger;
use OCP\Log\IWriter;

View File

@ -95,7 +95,7 @@ class Factory implements ICacheFactory {
]);
$localCacheClass = self::NULL_CACHE;
} else {
throw new \OC\HintException(strtr($missingCacheMessage, [
throw new \OCP\HintException(strtr($missingCacheMessage, [
'{class}' => $localCacheClass, '{use}' => 'local'
]), $missingCacheHint);
}
@ -110,7 +110,7 @@ class Factory implements ICacheFactory {
]);
$distributedCacheClass = self::NULL_CACHE;
} else {
throw new \OC\HintException(strtr($missingCacheMessage, [
throw new \OCP\HintException(strtr($missingCacheMessage, [
'{class}' => $distributedCacheClass, '{use}' => 'distributed'
]), $missingCacheHint);
}

View File

@ -32,7 +32,7 @@
namespace OC\Memcache;
use OC\HintException;
use OCP\HintException;
use OCP\IMemcache;
class Memcached extends Cache implements IMemcache {

View File

@ -233,7 +233,7 @@ class Setup {
try {
$util = new \OC_Util();
$htAccessWorking = $util->isHtaccessWorking(\OC::$server->getConfig());
} catch (\OC\HintException $e) {
} catch (\OCP\HintException $e) {
$errors[] = [
'error' => $e->getMessage(),
'exception' => $e,

View File

@ -41,7 +41,7 @@ namespace OC\Share20;
use OC\Cache\CappedMemoryCache;
use OC\Files\Mount\MoveableMount;
use OC\HintException;
use OCP\HintException;
use OC\Share20\Exception\ProviderException;
use OCA\Files_Sharing\ISharedStorage;
use OCP\EventDispatcher\IEventDispatcher;
@ -999,7 +999,7 @@ class Manager implements IManager {
if (empty($plainTextPassword) && $share->getSendPasswordByTalk()) {
throw new \InvalidArgumentException('Cant enable sending the password by Talk with an empty password');
}
/**
* If we're in a mail share, we need to force a password change
* as either the user is not aware of the password or is already (received by mail)

View File

@ -42,6 +42,7 @@ use OC\DB\MigrationService;
use OC\Hooks\BasicEmitter;
use OC\IntegrityCheck\Checker;
use OC_App;
use OCP\HintException;
use OCP\IConfig;
use OCP\ILogger;
use OCP\Util;

View File

@ -34,7 +34,7 @@
namespace OC\User;
use OC\HintException;
use OCP\HintException;
use OC\Hooks\PublicEmitter;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\EventDispatcher\IEventDispatcher;

View File

@ -85,7 +85,7 @@ class OC_Hook {
* @param string $signalName name of signal
* @param mixed $params default: array() array with additional data
* @return bool true if slots exists or false if not
* @throws \OC\HintException
* @throws \OCP\HintException
* @throws \OC\ServerNotAvailableException Emits a signal. To get data from the slot use references!
*
* TODO: write example
@ -111,7 +111,7 @@ class OC_Hook {
} catch (Exception $e) {
self::$thrownExceptions[] = $e;
\OC::$server->getLogger()->logException($e);
if ($e instanceof \OC\HintException) {
if ($e instanceof OCP\HintException) {
throw $e;
}
if ($e instanceof \OC\ServerNotAvailableException) {

View File

@ -1232,7 +1232,7 @@ class OC_Util {
$fp = @fopen($testFile, 'w');
if (!$fp) {
throw new OC\HintException('Can\'t create test file to check for working .htaccess file.',
throw new OCP\HintException('Can\'t create test file to check for working .htaccess file.',
'Make sure it is possible for the webserver to write to ' . $testFile);
}
fwrite($fp, $testContent);
@ -1243,10 +1243,11 @@ class OC_Util {
/**
* Check if the .htaccess file is working
*
* @param \OCP\IConfig $config
* @return bool
* @throws Exception
* @throws \OC\HintException If the test file can't get written.
* @throws \OCP\HintException If the test file can't get written.
*/
public function isHtaccessWorking(\OCP\IConfig $config) {
if (\OC::$CLI || !$config->getSystemValue('check_for_working_htaccess', true)) {
@ -1440,7 +1441,7 @@ class OC_Util {
*
* @param \OC\SystemConfig $config
* @return bool whether the core or any app needs an upgrade
* @throws \OC\HintException When the upgrade from the given version is not allowed
* @throws \OCP\HintException When the upgrade from the given version is not allowed
*/
public static function needUpgrade(\OC\SystemConfig $config) {
if ($config->getValue('installed', false)) {
@ -1460,11 +1461,11 @@ class OC_Util {
return true;
} else {
// downgrade attempt, throw exception
throw new \OC\HintException('Downgrading is not supported and is likely to cause unpredictable issues (from ' . $installedVersion . ' to ' . $currentVersion . ')');
throw new OCP\HintException('Downgrading is not supported and is likely to cause unpredictable issues (from ' . $installedVersion . ' to ' . $currentVersion . ')');
}
} elseif ($versionDiff < 0) {
// downgrade attempt, throw exception
throw new \OC\HintException('Downgrading is not supported and is likely to cause unpredictable issues (from ' . $installedVersion . ' to ' . $currentVersion . ')');
throw new OCP\HintException('Downgrading is not supported and is likely to cause unpredictable issues (from ' . $installedVersion . ' to ' . $currentVersion . ')');
}
// also check for upgrades for apps (independently from the user)

View File

@ -27,7 +27,7 @@
namespace OCP\Encryption\Exceptions;
use OC\HintException;
use OCP\HintException;
/**
* Class GenericEncryptionException

View File

@ -23,7 +23,7 @@
namespace OCP\Federation\Exceptions;
use OC\HintException;
use OCP\HintException;
/**
* Class ActionNotSupportedException

View File

@ -23,7 +23,7 @@
namespace OCP\Federation\Exceptions;
use OC\HintException;
use OCP\HintException;
/**
* Class AuthenticationFailedException

View File

@ -24,7 +24,7 @@
namespace OCP\Federation\Exceptions;
use OC\HintException;
use OCP\HintException;
/**
* Class BadRequestException

View File

@ -25,7 +25,7 @@
namespace OCP\Federation\Exceptions;
use OC\HintException;
use OCP\HintException;
/**
* Class ProviderAlreadyExistsException

View File

@ -23,7 +23,7 @@
namespace OCP\Federation\Exceptions;
use OC\HintException;
use OCP\HintException;
use OCP\AppFramework\Http;
/**

View File

@ -23,7 +23,7 @@
namespace OCP\Federation\Exceptions;
use OC\HintException;
use OCP\HintException;
/**
* Class ProviderDoesNotExistsException

View File

@ -38,7 +38,7 @@
namespace OCP\Files;
use OC\HintException;
use OCP\HintException;
/**
* Storage is temporarily not available

View File

@ -0,0 +1,84 @@
<?php
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
*
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
* @author Bart Visscher <bartv@thisnet.nl>
* @author Lukas Reschke <lukas@statuscode.ch>
* @author Michael Gapczynski <GapczynskiM@gmail.com>
* @author Morris Jobke <hey@morrisjobke.de>
* @author Thomas Müller <thomas.mueller@tmit.eu>
*
* @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 OCP;
/**
* Class HintException
*
* An Exception class with the intention to be presented to the end user
*
* @package OCP
* @since 22.0.0
*/
class HintException extends \Exception {
private $hint;
/**
* HintException constructor.
*
* @param string $message The error message. It will be not revealed to the
* the user (unless the hint is empty) and thus
* should be not translated.
* @param string $hint A useful message that is presented to the end
* user. It should be translated, but must not
* contain sensitive data.
* @param int $code
* @param \Exception|null $previous
* @since 22.0.0
*/
public function __construct($message, $hint = '', $code = 0, \Exception $previous = null) {
$this->hint = $hint;
parent::__construct($message, $code, $previous);
}
/**
* Returns a string representation of this Exception that includes the error
* code, the message and the hint.
*
* @return string
* @since 22.0.0
*/
public function __toString() {
return __CLASS__ . ": [{$this->code}]: {$this->message} ({$this->hint})\n";
}
/**
* Returns the hint with the intention to be presented to the end user. If
* an empty hint was specified upon instatiation, the message is returned
* instead.
*
* @return string
* @since 22.0.0
*/
public function getHint() {
if (empty($this->hint)) {
return $this->message;
}
return $this->hint;
}
}

View File

@ -25,7 +25,7 @@
namespace OCP\Share\Exceptions;
use OC\HintException;
use OCP\HintException;
/**
* Class GenericEncryptionException

View File

@ -22,7 +22,7 @@
namespace Tests\Core\Controller;
use OC\HintException;
use OCP\HintException;
use OC\User\Session;
use OCA\Settings\Controller\ChangePasswordController;
use OCP\App\IAppManager;

View File

@ -129,7 +129,7 @@ class FactoryTest extends \Test\TestCase {
* @dataProvider cacheUnavailableProvider
*/
public function testCacheNotAvailableException($localCache, $distributedCache) {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$logger = $this->getMockBuilder(ILogger::class)->getMock();
new \OC\Memcache\Factory('abc', $logger, $localCache, $distributedCache);

View File

@ -22,7 +22,7 @@
namespace Test\Share20;
use OC\Files\Mount\MoveableMount;
use OC\HintException;
use OCP\HintException;
use OC\Share20\DefaultShareProvider;
use OC\Share20\Exception;
use OC\Share20\Manager;

View File

@ -22,7 +22,7 @@
namespace Test\User;
use OC\HintException;
use OCP\HintException;
use OC\User\User;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventDispatcher;
@ -82,9 +82,9 @@ class DatabaseTest extends Backend {
$this->assertSame($user, $this->backend->checkPassword($user, 'newpass'));
}
public function testVerifyPasswordEventFail() {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$this->expectExceptionMessage('password change failed');
$user = $this->getUser();