Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Kim <gary@garykim.dev>2021-06-30 02:20:33 +0300
committerGary Kim <gary@garykim.dev>2021-06-30 22:28:02 +0300
commitb78f3a57d1d05fb5f81ec8361139b64a3e54d7b0 (patch)
treec2051ba8b5b03b8e4152e7597a8a3ac4457980c6
parent6da9ccc9ee1e37932c6580e9831c74bbeeac741b (diff)
Migrate HintException to OCP
Signed-off-by: Gary Kim <gary@garykim.dev>
-rw-r--r--apps/encryption/lib/Command/FixEncryptedVersion.php2
-rw-r--r--apps/federatedfilesharing/lib/AddressHandler.php2
-rw-r--r--apps/federatedfilesharing/lib/Controller/MountPublicLinkController.php2
-rw-r--r--apps/federatedfilesharing/lib/Controller/RequestHandlerController.php2
-rw-r--r--apps/federatedfilesharing/lib/FederatedShareProvider.php6
-rw-r--r--apps/federatedfilesharing/lib/Notifications.php6
-rw-r--r--apps/federatedfilesharing/lib/Notifier.php2
-rw-r--r--apps/federatedfilesharing/lib/OCM/CloudFederationProviderFiles.php11
-rw-r--r--apps/federatedfilesharing/tests/AddressHandlerTest.php2
-rw-r--r--apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php2
-rw-r--r--apps/federation/lib/Controller/SettingsController.php2
-rw-r--r--apps/federation/lib/DbHandler.php2
-rw-r--r--apps/federation/lib/Middleware/AddServerMiddleware.php2
-rw-r--r--apps/federation/lib/TrustedServers.php2
-rw-r--r--apps/federation/tests/Controller/SettingsControllerTest.php4
-rw-r--r--apps/federation/tests/Middleware/AddServerMiddlewareTest.php2
-rw-r--r--apps/federation/tests/TrustedServersTest.php2
-rw-r--r--apps/files_sharing/lib/Controller/ShareController.php4
-rw-r--r--apps/provisioning_api/lib/Controller/UsersController.php6
-rw-r--r--apps/settings/lib/Controller/ChangePasswordController.php2
-rw-r--r--apps/sharebymail/lib/ShareByMailProvider.php2
-rw-r--r--apps/sharebymail/tests/ShareByMailProviderTest.php2
-rw-r--r--apps/user_ldap/lib/Access.php2
-rw-r--r--apps/user_ldap/lib/Controller/RenewPasswordController.php4
-rw-r--r--apps/user_ldap/tests/AccessTest.php2
-rw-r--r--apps/user_ldap/tests/User_LDAPTest.php6
-rw-r--r--core/Controller/LostController.php6
-rw-r--r--index.php2
-rw-r--r--lib/base.php2
-rw-r--r--lib/composer/composer/autoload_classmap.php1
-rw-r--r--lib/composer/composer/autoload_static.php1
-rw-r--r--lib/private/AppFramework/App.php3
-rw-r--r--lib/private/Config.php2
-rw-r--r--lib/private/DatabaseSetupException.php2
-rw-r--r--lib/private/HintException.php71
-rw-r--r--lib/private/Installer.php1
-rw-r--r--lib/private/Log/ExceptionSerializer.php2
-rw-r--r--lib/private/Log/Systemdlog.php2
-rw-r--r--lib/private/Memcache/Factory.php4
-rw-r--r--lib/private/Memcache/Memcached.php2
-rw-r--r--lib/private/Setup.php2
-rw-r--r--lib/private/Share20/Manager.php2
-rw-r--r--lib/private/Updater.php1
-rw-r--r--lib/private/User/Manager.php2
-rw-r--r--lib/private/legacy/OC_Hook.php4
-rw-r--r--lib/private/legacy/OC_Util.php12
-rw-r--r--lib/public/Encryption/Exceptions/GenericEncryptionException.php2
-rw-r--r--lib/public/Federation/Exceptions/ActionNotSupportedException.php2
-rw-r--r--lib/public/Federation/Exceptions/AuthenticationFailedException.php2
-rw-r--r--lib/public/Federation/Exceptions/BadRequestException.php2
-rw-r--r--lib/public/Federation/Exceptions/ProviderAlreadyExistsException.php2
-rw-r--r--lib/public/Federation/Exceptions/ProviderCouldNotAddShareException.php2
-rw-r--r--lib/public/Federation/Exceptions/ProviderDoesNotExistsException.php2
-rw-r--r--lib/public/Files/StorageNotAvailableException.php2
-rw-r--r--lib/public/HintException.php82
-rw-r--r--lib/public/Share/Exceptions/GenericShareException.php2
-rw-r--r--tests/Core/Controller/ChangePasswordControllerTest.php2
-rw-r--r--tests/lib/Memcache/FactoryTest.php2
-rw-r--r--tests/lib/Share20/ManagerTest.php2
-rw-r--r--tests/lib/User/DatabaseTest.php6
60 files changed, 185 insertions, 134 deletions
diff --git a/apps/encryption/lib/Command/FixEncryptedVersion.php b/apps/encryption/lib/Command/FixEncryptedVersion.php
index a85a96258fc..da8a69cf464 100644
--- a/apps/encryption/lib/Command/FixEncryptedVersion.php
+++ b/apps/encryption/lib/Command/FixEncryptedVersion.php
@@ -23,9 +23,9 @@
namespace OCA\Encryption\Command;
use OC\Files\View;
-use OC\HintException;
use OCA\Encryption\Util;
use OCP\Files\IRootFolder;
+use OCP\HintException;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IUserManager;
diff --git a/apps/federatedfilesharing/lib/AddressHandler.php b/apps/federatedfilesharing/lib/AddressHandler.php
index 5b50be2a53a..d76ff9518b6 100644
--- a/apps/federatedfilesharing/lib/AddressHandler.php
+++ b/apps/federatedfilesharing/lib/AddressHandler.php
@@ -25,8 +25,8 @@
*/
namespace OCA\FederatedFileSharing;
-use OC\HintException;
use OCP\Federation\ICloudIdManager;
+use OCP\HintException;
use OCP\IL10N;
use OCP\IURLGenerator;
diff --git a/apps/federatedfilesharing/lib/Controller/MountPublicLinkController.php b/apps/federatedfilesharing/lib/Controller/MountPublicLinkController.php
index 6e66e7f9b4a..404077e46af 100644
--- a/apps/federatedfilesharing/lib/Controller/MountPublicLinkController.php
+++ b/apps/federatedfilesharing/lib/Controller/MountPublicLinkController.php
@@ -31,7 +31,6 @@
*/
namespace OCA\FederatedFileSharing\Controller;
-use OC\HintException;
use OCA\FederatedFileSharing\AddressHandler;
use OCA\FederatedFileSharing\FederatedShareProvider;
use OCP\AppFramework\Controller;
@@ -39,6 +38,7 @@ use OCP\AppFramework\Http;
use OCP\AppFramework\Http\JSONResponse;
use OCP\Constants;
use OCP\Federation\ICloudIdManager;
+use OCP\HintException;
use OCP\Http\Client\IClientService;
use OCP\IL10N;
use OCP\ILogger;
diff --git a/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php b/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php
index 99adefde000..f19e251fc7a 100644
--- a/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php
+++ b/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php
@@ -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;
diff --git a/apps/federatedfilesharing/lib/FederatedShareProvider.php b/apps/federatedfilesharing/lib/FederatedShareProvider.php
index d5fa99ef231..52b10cd9315 100644
--- a/apps/federatedfilesharing/lib/FederatedShareProvider.php
+++ b/apps/federatedfilesharing/lib/FederatedShareProvider.php
@@ -441,7 +441,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);
@@ -550,7 +550,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());
@@ -577,7 +577,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())) {
diff --git a/apps/federatedfilesharing/lib/Notifications.php b/apps/federatedfilesharing/lib/Notifications.php
index c72a0691fad..2a162abcd76 100644
--- a/apps/federatedfilesharing/lib/Notifications.php
+++ b/apps/federatedfilesharing/lib/Notifications.php
@@ -34,8 +34,8 @@ use OCP\EventDispatcher\IEventDispatcher;
use OCP\Federation\ICloudFederationFactory;
use OCP\Federation\ICloudFederationProviderManager;
use OCP\Http\Client\IClientService;
-use OCP\OCS\IDiscoveryService;
use OCP\ILogger;
+use OCP\OCS\IDiscoveryService;
class Notifications {
public const RESPONSE_FORMAT = 'json'; // default response format for ocs calls
@@ -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) {
diff --git a/apps/federatedfilesharing/lib/Notifier.php b/apps/federatedfilesharing/lib/Notifier.php
index a551a3cca0c..fa0119010cf 100644
--- a/apps/federatedfilesharing/lib/Notifier.php
+++ b/apps/federatedfilesharing/lib/Notifier.php
@@ -27,10 +27,10 @@
*/
namespace OCA\FederatedFileSharing;
-use OC\HintException;
use OCP\Contacts\IManager;
use OCP\Federation\ICloudId;
use OCP\Federation\ICloudIdManager;
+use OCP\HintException;
use OCP\IURLGenerator;
use OCP\L10N\IFactory;
use OCP\Notification\INotification;
diff --git a/apps/federatedfilesharing/lib/OCM/CloudFederationProviderFiles.php b/apps/federatedfilesharing/lib/OCM/CloudFederationProviderFiles.php
index 26b0288c354..cc6b260add6 100644
--- a/apps/federatedfilesharing/lib/OCM/CloudFederationProviderFiles.php
+++ b/apps/federatedfilesharing/lib/OCM/CloudFederationProviderFiles.php
@@ -30,7 +30,6 @@ namespace OCA\FederatedFileSharing\OCM;
use OC\AppFramework\Http;
use OC\Files\Filesystem;
-use OC\HintException;
use OCA\FederatedFileSharing\AddressHandler;
use OCA\FederatedFileSharing\FederatedShareProvider;
use OCA\Files_Sharing\Activity\Providers\RemoteShares;
@@ -48,6 +47,7 @@ use OCP\Federation\ICloudFederationProviderManager;
use OCP\Federation\ICloudFederationShare;
use OCP\Federation\ICloudIdManager;
use OCP\Files\NotFoundException;
+use OCP\HintException;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IGroupManager;
@@ -55,7 +55,6 @@ use OCP\ILogger;
use OCP\IURLGenerator;
use OCP\IUserManager;
use OCP\Notification\IManager as INotificationManager;
-use OCP\Share;
use OCP\Share\Exceptions\ShareNotFound;
use OCP\Share\IManager;
use OCP\Share\IShare;
@@ -176,7 +175,7 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
*
* @throws ProviderCouldNotAddShareException
* @throws \OCP\AppFramework\QueryException
- * @throws \OC\HintException
+ * @throws HintException
* @since 14.0.0
*/
public function shareReceived(ICloudFederationShare $share) {
@@ -305,7 +304,7 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
* @throws ActionNotSupportedException
* @throws AuthenticationFailedException
* @throws BadRequestException
- * @throws \OC\HintException
+ * @throws HintException
* @since 14.0.0
*/
public function notificationReceived($notificationType, $providerId, array $notification) {
@@ -373,7 +372,7 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
* @throws ActionNotSupportedException
* @throws AuthenticationFailedException
* @throws BadRequestException
- * @throws \OC\HintException
+ * @throws HintException
*/
private function shareAccepted($id, array $notification) {
if (!$this->isS2SEnabled()) {
@@ -442,7 +441,7 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
* @throws AuthenticationFailedException
* @throws BadRequestException
* @throws ShareNotFound
- * @throws \OC\HintException
+ * @throws HintException
*
*/
protected function shareDeclined($id, array $notification) {
diff --git a/apps/federatedfilesharing/tests/AddressHandlerTest.php b/apps/federatedfilesharing/tests/AddressHandlerTest.php
index d1d4f9cd70e..f21d29ebd7e 100644
--- a/apps/federatedfilesharing/tests/AddressHandlerTest.php
+++ b/apps/federatedfilesharing/tests/AddressHandlerTest.php
@@ -136,7 +136,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);
}
diff --git a/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php b/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php
index 385f644f6b4..d3a87a4c416 100644
--- a/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php
+++ b/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php
@@ -29,7 +29,6 @@
namespace OCA\FederatedFileSharing\Tests\Controller;
use OC\Federation\CloudIdManager;
-use OC\HintException;
use OCA\FederatedFileSharing\AddressHandler;
use OCA\FederatedFileSharing\Controller\MountPublicLinkController;
use OCA\FederatedFileSharing\FederatedShareProvider;
@@ -37,6 +36,7 @@ use OCP\AppFramework\Http;
use OCP\Contacts\IManager as IContactsManager;
use OCP\Federation\ICloudIdManager;
use OCP\Files\IRootFolder;
+use OCP\HintException;
use OCP\Http\Client\IClientService;
use OCP\IL10N;
use OCP\IRequest;
diff --git a/apps/federation/lib/Controller/SettingsController.php b/apps/federation/lib/Controller/SettingsController.php
index 86c1df89caf..970211e4103 100644
--- a/apps/federation/lib/Controller/SettingsController.php
+++ b/apps/federation/lib/Controller/SettingsController.php
@@ -23,10 +23,10 @@
*/
namespace OCA\Federation\Controller;
-use OC\HintException;
use OCA\Federation\TrustedServers;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\DataResponse;
+use OCP\HintException;
use OCP\IL10N;
use OCP\IRequest;
diff --git a/apps/federation/lib/DbHandler.php b/apps/federation/lib/DbHandler.php
index ce4d1d7e44a..1dd0d1fc1c4 100644
--- a/apps/federation/lib/DbHandler.php
+++ b/apps/federation/lib/DbHandler.php
@@ -28,7 +28,7 @@
namespace OCA\Federation;
use OC\Files\Filesystem;
-use OC\HintException;
+use OCP\HintException;
use OCP\IDBConnection;
use OCP\IL10N;
diff --git a/apps/federation/lib/Middleware/AddServerMiddleware.php b/apps/federation/lib/Middleware/AddServerMiddleware.php
index 2cfdad133ca..de6f7786679 100644
--- a/apps/federation/lib/Middleware/AddServerMiddleware.php
+++ b/apps/federation/lib/Middleware/AddServerMiddleware.php
@@ -28,12 +28,12 @@
*/
namespace OCA\Federation\Middleware;
-use OC\HintException;
use OCA\Federation\Controller\SettingsController;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Middleware;
+use OCP\HintException;
use OCP\IL10N;
use OCP\ILogger;
diff --git a/apps/federation/lib/TrustedServers.php b/apps/federation/lib/TrustedServers.php
index c1dced62102..57b9a505499 100644
--- a/apps/federation/lib/TrustedServers.php
+++ b/apps/federation/lib/TrustedServers.php
@@ -27,11 +27,11 @@
*/
namespace OCA\Federation;
-use OC\HintException;
use OCA\Federation\BackgroundJob\RequestSharedSecret;
use OCP\AppFramework\Http;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\IJobList;
+use OCP\HintException;
use OCP\Http\Client\IClientService;
use OCP\IConfig;
use OCP\ILogger;
diff --git a/apps/federation/tests/Controller/SettingsControllerTest.php b/apps/federation/tests/Controller/SettingsControllerTest.php
index 1f3617de389..856dcaa533f 100644
--- a/apps/federation/tests/Controller/SettingsControllerTest.php
+++ b/apps/federation/tests/Controller/SettingsControllerTest.php
@@ -88,7 +88,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())
@@ -136,7 +136,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())
diff --git a/apps/federation/tests/Middleware/AddServerMiddlewareTest.php b/apps/federation/tests/Middleware/AddServerMiddlewareTest.php
index fdd9d1682d4..c3370cdbe90 100644
--- a/apps/federation/tests/Middleware/AddServerMiddlewareTest.php
+++ b/apps/federation/tests/Middleware/AddServerMiddlewareTest.php
@@ -26,10 +26,10 @@
*/
namespace OCA\Federation\Tests\Middleware;
-use OC\HintException;
use OCA\Federation\Controller\SettingsController;
use OCA\Federation\Middleware\AddServerMiddleware;
use OCP\AppFramework\Http;
+use OCP\HintException;
use OCP\IL10N;
use OCP\ILogger;
use Test\TestCase;
diff --git a/apps/federation/tests/TrustedServersTest.php b/apps/federation/tests/TrustedServersTest.php
index 3dd237ffcd3..3dd93a445cd 100644
--- a/apps/federation/tests/TrustedServersTest.php
+++ b/apps/federation/tests/TrustedServersTest.php
@@ -311,7 +311,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]);
diff --git a/apps/files_sharing/lib/Controller/ShareController.php b/apps/files_sharing/lib/Controller/ShareController.php
index fbee6bf4b77..95c3303ae74 100644
--- a/apps/files_sharing/lib/Controller/ShareController.php
+++ b/apps/files_sharing/lib/Controller/ShareController.php
@@ -42,9 +42,9 @@
*/
namespace OCA\Files_Sharing\Controller;
+use OC\Security\CSP\ContentSecurityPolicy;
use OC_Files;
use OC_Util;
-use OC\Security\CSP\ContentSecurityPolicy;
use OCA\FederatedFileSharing\FederatedShareProvider;
use OCA\Files_Sharing\Activity\Providers\Downloads;
use OCA\Files_Sharing\Event\BeforeTemplateRenderedEvent;
@@ -242,7 +242,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 = '') {
diff --git a/apps/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php
index d94e8fed8a8..01e4bac9c2b 100644
--- a/apps/provisioning_api/lib/Controller/UsersController.php
+++ b/apps/provisioning_api/lib/Controller/UsersController.php
@@ -47,7 +47,6 @@ use libphonenumber\PhoneNumber;
use libphonenumber\PhoneNumberFormat;
use libphonenumber\PhoneNumberUtil;
use OC\Authentication\Token\RemoteWipe;
-use OC\HintException;
use OC\KnownUser\KnownUserService;
use OC\User\Backend;
use OCA\Settings\Mailer\NewUserMailHelper;
@@ -59,6 +58,8 @@ use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCS\OCSException;
use OCP\AppFramework\OCS\OCSForbiddenException;
use OCP\AppFramework\OCSController;
+use OCP\EventDispatcher\IEventDispatcher;
+use OCP\HintException;
use OCP\IConfig;
use OCP\IGroup;
use OCP\IGroupManager;
@@ -68,9 +69,8 @@ use OCP\IUser;
use OCP\IUserManager;
use OCP\IUserSession;
use OCP\L10N\IFactory;
-use OCP\Security\ISecureRandom;
use OCP\Security\Events\GenerateSecurePasswordEvent;
-use OCP\EventDispatcher\IEventDispatcher;
+use OCP\Security\ISecureRandom;
use OCP\User\Backend\ISetDisplayNameBackend;
use Psr\Log\LoggerInterface;
diff --git a/apps/settings/lib/Controller/ChangePasswordController.php b/apps/settings/lib/Controller/ChangePasswordController.php
index 76ac2f792ac..8dd1e6ba028 100644
--- a/apps/settings/lib/Controller/ChangePasswordController.php
+++ b/apps/settings/lib/Controller/ChangePasswordController.php
@@ -36,11 +36,11 @@
namespace OCA\Settings\Controller;
use OC\Group\Manager as GroupManager;
-use OC\HintException;
use OC\User\Session;
use OCP\App\IAppManager;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\JSONResponse;
+use OCP\HintException;
use OCP\IGroupManager;
use OCP\IL10N;
use OCP\IRequest;
diff --git a/apps/sharebymail/lib/ShareByMailProvider.php b/apps/sharebymail/lib/ShareByMailProvider.php
index b5226850fa4..74e78c48d86 100644
--- a/apps/sharebymail/lib/ShareByMailProvider.php
+++ b/apps/sharebymail/lib/ShareByMailProvider.php
@@ -40,7 +40,6 @@
*/
namespace OCA\ShareByMail;
-use OC\HintException;
use OC\Share20\Exception\InvalidShare;
use OC\Share20\Share;
use OC\User\NoUserException;
@@ -52,6 +51,7 @@ use OCP\EventDispatcher\IEventDispatcher;
use OCP\Files\Folder;
use OCP\Files\IRootFolder;
use OCP\Files\Node;
+use OCP\HintException;
use OCP\IDBConnection;
use OCP\IL10N;
use OCP\ILogger;
diff --git a/apps/sharebymail/tests/ShareByMailProviderTest.php b/apps/sharebymail/tests/ShareByMailProviderTest.php
index 9c3b6525736..64d81aab254 100644
--- a/apps/sharebymail/tests/ShareByMailProviderTest.php
+++ b/apps/sharebymail/tests/ShareByMailProviderTest.php
@@ -479,7 +479,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');
diff --git a/apps/user_ldap/lib/Access.php b/apps/user_ldap/lib/Access.php
index 47cecd1bf7d..33329c0f03a 100644
--- a/apps/user_ldap/lib/Access.php
+++ b/apps/user_ldap/lib/Access.php
@@ -47,7 +47,6 @@
namespace OCA\User_LDAP;
use DomainException;
-use OC\HintException;
use OC\Hooks\PublicEmitter;
use OC\ServerNotAvailableException;
use OCA\User_LDAP\Exceptions\ConstraintViolationException;
@@ -56,6 +55,7 @@ use OCA\User_LDAP\Mapping\AbstractMapping;
use OCA\User_LDAP\Mapping\UserMapping;
use OCA\User_LDAP\User\Manager;
use OCA\User_LDAP\User\OfflineUser;
+use OCP\HintException;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IUserManager;
diff --git a/apps/user_ldap/lib/Controller/RenewPasswordController.php b/apps/user_ldap/lib/Controller/RenewPasswordController.php
index eb8b19192c3..66371cb3b49 100644
--- a/apps/user_ldap/lib/Controller/RenewPasswordController.php
+++ b/apps/user_ldap/lib/Controller/RenewPasswordController.php
@@ -23,10 +23,10 @@
*/
namespace OCA\User_LDAP\Controller;
-use OC\HintException;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\RedirectResponse;
use OCP\AppFramework\Http\TemplateResponse;
+use OCP\HintException;
use OCP\IConfig;
use OCP\IL10N;
use OCP\IRequest;
@@ -139,7 +139,7 @@ class RenewPasswordController extends Controller {
]);
return new RedirectResponse($this->urlGenerator->linkToRoute('user_ldap.renewPassword.showRenewPasswordForm', $args));
}
-
+
try {
if (!is_null($newPassword) && \OC_User::setPassword($user, $newPassword)) {
$this->session->set('loginMessages', [
diff --git a/apps/user_ldap/tests/AccessTest.php b/apps/user_ldap/tests/AccessTest.php
index ae07ea509ef..e49faca70cc 100644
--- a/apps/user_ldap/tests/AccessTest.php
+++ b/apps/user_ldap/tests/AccessTest.php
@@ -482,7 +482,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
diff --git a/apps/user_ldap/tests/User_LDAPTest.php b/apps/user_ldap/tests/User_LDAPTest.php
index 78767ff6760..3142a256c9a 100644
--- a/apps/user_ldap/tests/User_LDAPTest.php
+++ b/apps/user_ldap/tests/User_LDAPTest.php
@@ -31,7 +31,6 @@
*/
namespace OCA\User_LDAP\Tests;
-use OC\HintException;
use OC\User\Backend;
use OC\User\Session;
use OCA\User_LDAP\Access;
@@ -44,6 +43,7 @@ use OCA\User_LDAP\User\User;
use OCA\User_LDAP\User_LDAP;
use OCA\User_LDAP\User_LDAP as UserLDAP;
use OCA\User_LDAP\UserPluginManager;
+use OCP\HintException;
use OCP\IConfig;
use OCP\IUser;
use OCP\Notification\IManager as INotificationManager;
@@ -1214,7 +1214,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);
@@ -1359,7 +1359,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())
diff --git a/core/Controller/LostController.php b/core/Controller/LostController.php
index 99427132f5e..bed96eeec83 100644
--- a/core/Controller/LostController.php
+++ b/core/Controller/LostController.php
@@ -35,11 +35,8 @@
*/
namespace OC\Core\Controller;
-use function array_filter;
-use function count;
use OC\Authentication\TwoFactorAuth\Manager;
use OC\Core\Exception\ResetPasswordException;
-use OC\HintException;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\TemplateResponse;
@@ -47,6 +44,7 @@ use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Defaults;
use OCP\Encryption\IEncryptionModule;
use OCP\Encryption\IManager;
+use OCP\HintException;
use OCP\IConfig;
use OCP\IInitialStateService;
use OCP\IL10N;
@@ -58,6 +56,8 @@ use OCP\IUserManager;
use OCP\Mail\IMailer;
use OCP\Security\ICrypto;
use OCP\Security\ISecureRandom;
+use function array_filter;
+use function count;
use function reset;
/**
diff --git a/index.php b/index.php
index 54b2f9f4c21..7c7400a0564 100644
--- a/index.php
+++ b/index.php
@@ -39,7 +39,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) {
diff --git a/lib/base.php b/lib/base.php
index 473a3419cb1..45d06da0303 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -388,7 +388,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));
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php
index 55d02c2feeb..82c40c800a4 100644
--- a/lib/composer/composer/autoload_classmap.php
+++ b/lib/composer/composer/autoload_classmap.php
@@ -371,6 +371,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',
diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php
index 6f2bb064fc0..423fd814d6b 100644
--- a/lib/composer/composer/autoload_static.php
+++ b/lib/composer/composer/autoload_static.php
@@ -400,6 +400,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',
diff --git a/lib/private/AppFramework/App.php b/lib/private/AppFramework/App.php
index 37cc0b71e3f..6c2f905afa5 100644
--- a/lib/private/AppFramework/App.php
+++ b/lib/private/AppFramework/App.php
@@ -34,11 +34,11 @@ namespace OC\AppFramework;
use OC\AppFramework\DependencyInjection\DIContainer;
use OC\AppFramework\Http\Dispatcher;
use OC\AppFramework\Http\Request;
-use OC\HintException;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\ICallbackResponse;
use OCP\AppFramework\Http\IOutput;
use OCP\AppFramework\QueryException;
+use OCP\HintException;
use OCP\IRequest;
/**
@@ -105,6 +105,7 @@ class App {
/**
* Shortcut for calling a controller method and printing the result
+ *
* @param string $controllerName the name of the controller under which it is
* stored in the DI container
* @param string $methodName the method that you want to call
diff --git a/lib/private/Config.php b/lib/private/Config.php
index e3ace96c359..2a83d2300dc 100644
--- a/lib/private/Config.php
+++ b/lib/private/Config.php
@@ -38,6 +38,8 @@
*/
namespace OC;
+use OCP\HintException;
+
/**
* This class is responsible for reading and writing config.php, the very basic
* configuration file of Nextcloud.
diff --git a/lib/private/DatabaseSetupException.php b/lib/private/DatabaseSetupException.php
index b1b4956db41..44583416dbc 100644
--- a/lib/private/DatabaseSetupException.php
+++ b/lib/private/DatabaseSetupException.php
@@ -22,5 +22,7 @@
*/
namespace OC;
+use OCP\HintException;
+
class DatabaseSetupException extends HintException {
}
diff --git a/lib/private/HintException.php b/lib/private/HintException.php
index e3173ba79fd..735832266cf 100644
--- a/lib/private/HintException.php
+++ b/lib/private/HintException.php
@@ -1,28 +1,28 @@
<?php
+
+declare(strict_types=1);
/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @copyright Copyright (c) 2021 Gary Kim <gary@garykim.dev>
*
- * @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 Thomas Müller <thomas.mueller@tmit.eu>
+ * @author Gary Kim <gary@garykim.dev>
*
- * @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
+ * 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/>.
*
*/
+
namespace OC;
/**
@@ -31,48 +31,7 @@ namespace OC;
* An Exception class with the intention to be presented to the end user
*
* @package OC
+ * @depreacted 23.0.0 Use \OCP\HintException
*/
-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
- */
- 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;
- }
+class HintException extends \OCP\HintException {
}
diff --git a/lib/private/Installer.php b/lib/private/Installer.php
index d1e903424ed..19e70aad147 100644
--- a/lib/private/Installer.php
+++ b/lib/private/Installer.php
@@ -48,6 +48,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;
diff --git a/lib/private/Log/ExceptionSerializer.php b/lib/private/Log/ExceptionSerializer.php
index aba5586297a..bab22ab4aac 100644
--- a/lib/private/Log/ExceptionSerializer.php
+++ b/lib/private/Log/ExceptionSerializer.php
@@ -29,10 +29,10 @@
namespace OC\Log;
use OC\Core\Controller\SetupController;
-use OC\HintException;
use OC\Security\IdentityProof\Key;
use OC\Setup;
use OC\SystemConfig;
+use OCP\HintException;
class ExceptionSerializer {
public const methodsWithSensitiveParameters = [
diff --git a/lib/private/Log/Systemdlog.php b/lib/private/Log/Systemdlog.php
index 17778891efe..a01826c0b05 100644
--- a/lib/private/Log/Systemdlog.php
+++ b/lib/private/Log/Systemdlog.php
@@ -25,8 +25,8 @@
*/
namespace OC\Log;
-use OC\HintException;
use OC\SystemConfig;
+use OCP\HintException;
use OCP\ILogger;
use OCP\Log\IWriter;
diff --git a/lib/private/Memcache/Factory.php b/lib/private/Memcache/Factory.php
index 9810f068148..28a84308edc 100644
--- a/lib/private/Memcache/Factory.php
+++ b/lib/private/Memcache/Factory.php
@@ -86,12 +86,12 @@ class Factory implements ICacheFactory {
$missingCacheMessage = 'Memcache {class} not available for {use} cache';
$missingCacheHint = 'Is the matching PHP module installed and enabled?';
if (!class_exists($localCacheClass) || !$localCacheClass::isAvailable()) {
- throw new \OC\HintException(strtr($missingCacheMessage, [
+ throw new \OCP\HintException(strtr($missingCacheMessage, [
'{class}' => $localCacheClass, '{use}' => 'local'
]), $missingCacheHint);
}
if (!class_exists($distributedCacheClass) || !$distributedCacheClass::isAvailable()) {
- throw new \OC\HintException(strtr($missingCacheMessage, [
+ throw new \OCP\HintException(strtr($missingCacheMessage, [
'{class}' => $distributedCacheClass, '{use}' => 'distributed'
]), $missingCacheHint);
}
diff --git a/lib/private/Memcache/Memcached.php b/lib/private/Memcache/Memcached.php
index cd1af031d8a..b3414a7d290 100644
--- a/lib/private/Memcache/Memcached.php
+++ b/lib/private/Memcache/Memcached.php
@@ -31,7 +31,7 @@
*/
namespace OC\Memcache;
-use OC\HintException;
+use OCP\HintException;
use OCP\IMemcache;
class Memcached extends Cache implements IMemcache {
diff --git a/lib/private/Setup.php b/lib/private/Setup.php
index 8e7e6ae6aea..d39fa069286 100644
--- a/lib/private/Setup.php
+++ b/lib/private/Setup.php
@@ -224,7 +224,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,
diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php
index b5e1b944bc5..7047c32e339 100644
--- a/lib/private/Share20/Manager.php
+++ b/lib/private/Share20/Manager.php
@@ -43,7 +43,6 @@ namespace OC\Share20;
use OC\Cache\CappedMemoryCache;
use OC\Files\Mount\MoveableMount;
-use OC\HintException;
use OC\Share20\Exception\ProviderException;
use OCA\Files_Sharing\ISharedStorage;
use OCP\EventDispatcher\IEventDispatcher;
@@ -52,6 +51,7 @@ use OCP\Files\Folder;
use OCP\Files\IRootFolder;
use OCP\Files\Mount\IMountManager;
use OCP\Files\Node;
+use OCP\HintException;
use OCP\IConfig;
use OCP\IGroupManager;
use OCP\IL10N;
diff --git a/lib/private/Updater.php b/lib/private/Updater.php
index 5fa41e48c0c..cffdac310cb 100644
--- a/lib/private/Updater.php
+++ b/lib/private/Updater.php
@@ -45,6 +45,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;
diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php
index 07a599cf017..12c615d500b 100644
--- a/lib/private/User/Manager.php
+++ b/lib/private/User/Manager.php
@@ -33,10 +33,10 @@
*/
namespace OC\User;
-use OC\HintException;
use OC\Hooks\PublicEmitter;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\EventDispatcher\IEventDispatcher;
+use OCP\HintException;
use OCP\ICache;
use OCP\ICacheFactory;
use OCP\IConfig;
diff --git a/lib/private/legacy/OC_Hook.php b/lib/private/legacy/OC_Hook.php
index d9e4c99e498..b223b0fa6d6 100644
--- a/lib/private/legacy/OC_Hook.php
+++ b/lib/private/legacy/OC_Hook.php
@@ -81,7 +81,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
@@ -107,7 +107,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) {
diff --git a/lib/private/legacy/OC_Util.php b/lib/private/legacy/OC_Util.php
index 87964f98374..333b621e359 100644
--- a/lib/private/legacy/OC_Util.php
+++ b/lib/private/legacy/OC_Util.php
@@ -63,6 +63,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
*/
+
use bantu\IniGetWrapper\IniGetWrapper;
use OC\AppFramework\Http\Request;
use OC\Files\Storage\LocalRootStorage;
@@ -1214,7 +1215,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);
@@ -1225,10 +1226,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)) {
@@ -1422,7 +1424,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)) {
@@ -1442,11 +1444,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)
diff --git a/lib/public/Encryption/Exceptions/GenericEncryptionException.php b/lib/public/Encryption/Exceptions/GenericEncryptionException.php
index 9f349a28a76..aef4114bb1b 100644
--- a/lib/public/Encryption/Exceptions/GenericEncryptionException.php
+++ b/lib/public/Encryption/Exceptions/GenericEncryptionException.php
@@ -26,7 +26,7 @@
*/
namespace OCP\Encryption\Exceptions;
-use OC\HintException;
+use OCP\HintException;
/**
* Class GenericEncryptionException
diff --git a/lib/public/Federation/Exceptions/ActionNotSupportedException.php b/lib/public/Federation/Exceptions/ActionNotSupportedException.php
index 3ec729e415a..7b2ca3d9597 100644
--- a/lib/public/Federation/Exceptions/ActionNotSupportedException.php
+++ b/lib/public/Federation/Exceptions/ActionNotSupportedException.php
@@ -22,7 +22,7 @@
*/
namespace OCP\Federation\Exceptions;
-use OC\HintException;
+use OCP\HintException;
/**
* Class ActionNotSupportedException
diff --git a/lib/public/Federation/Exceptions/AuthenticationFailedException.php b/lib/public/Federation/Exceptions/AuthenticationFailedException.php
index 61ea080f5d4..dfcd9636035 100644
--- a/lib/public/Federation/Exceptions/AuthenticationFailedException.php
+++ b/lib/public/Federation/Exceptions/AuthenticationFailedException.php
@@ -22,7 +22,7 @@
*/
namespace OCP\Federation\Exceptions;
-use OC\HintException;
+use OCP\HintException;
/**
* Class AuthenticationFailedException
diff --git a/lib/public/Federation/Exceptions/BadRequestException.php b/lib/public/Federation/Exceptions/BadRequestException.php
index bea6fba2b18..8054c0e89f0 100644
--- a/lib/public/Federation/Exceptions/BadRequestException.php
+++ b/lib/public/Federation/Exceptions/BadRequestException.php
@@ -23,7 +23,7 @@
*/
namespace OCP\Federation\Exceptions;
-use OC\HintException;
+use OCP\HintException;
/**
* Class BadRequestException
diff --git a/lib/public/Federation/Exceptions/ProviderAlreadyExistsException.php b/lib/public/Federation/Exceptions/ProviderAlreadyExistsException.php
index 48aa883a028..b6d4b7e9bce 100644
--- a/lib/public/Federation/Exceptions/ProviderAlreadyExistsException.php
+++ b/lib/public/Federation/Exceptions/ProviderAlreadyExistsException.php
@@ -24,7 +24,7 @@
*/
namespace OCP\Federation\Exceptions;
-use OC\HintException;
+use OCP\HintException;
/**
* Class ProviderAlreadyExistsException
diff --git a/lib/public/Federation/Exceptions/ProviderCouldNotAddShareException.php b/lib/public/Federation/Exceptions/ProviderCouldNotAddShareException.php
index c647b2d9c9e..efcc8788386 100644
--- a/lib/public/Federation/Exceptions/ProviderCouldNotAddShareException.php
+++ b/lib/public/Federation/Exceptions/ProviderCouldNotAddShareException.php
@@ -22,8 +22,8 @@
*/
namespace OCP\Federation\Exceptions;
-use OC\HintException;
use OCP\AppFramework\Http;
+use OCP\HintException;
/**
* Class ProviderCouldNotAddShareException
diff --git a/lib/public/Federation/Exceptions/ProviderDoesNotExistsException.php b/lib/public/Federation/Exceptions/ProviderDoesNotExistsException.php
index b56a6ef8d4c..69c69f17d99 100644
--- a/lib/public/Federation/Exceptions/ProviderDoesNotExistsException.php
+++ b/lib/public/Federation/Exceptions/ProviderDoesNotExistsException.php
@@ -22,7 +22,7 @@
*/
namespace OCP\Federation\Exceptions;
-use OC\HintException;
+use OCP\HintException;
/**
* Class ProviderDoesNotExistsException
diff --git a/lib/public/Files/StorageNotAvailableException.php b/lib/public/Files/StorageNotAvailableException.php
index e166df90d77..f600ef80808 100644
--- a/lib/public/Files/StorageNotAvailableException.php
+++ b/lib/public/Files/StorageNotAvailableException.php
@@ -32,7 +32,7 @@
namespace OCP\Files;
-use OC\HintException;
+use OCP\HintException;
/**
* Storage is temporarily not available
diff --git a/lib/public/HintException.php b/lib/public/HintException.php
new file mode 100644
index 00000000000..b5ee7642b03
--- /dev/null
+++ b/lib/public/HintException.php
@@ -0,0 +1,82 @@
+<?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 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 23.0.0
+ */
+class HintException extends \Exception {
+ private $hint;
+
+ /**
+ * HintException constructor.
+ *
+ * @since 23.0.0
+ * @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.
+ *
+ * @since 23.0.0
+ * @return string
+ */
+ public function __toString(): string {
+ 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.
+ *
+ * @since 23.0.0
+ * @return string
+ */
+ public function getHint(): string {
+ if (empty($this->hint)) {
+ return $this->message;
+ }
+ return $this->hint;
+ }
+}
diff --git a/lib/public/Share/Exceptions/GenericShareException.php b/lib/public/Share/Exceptions/GenericShareException.php
index 46a46ac0ab7..85c440e2387 100644
--- a/lib/public/Share/Exceptions/GenericShareException.php
+++ b/lib/public/Share/Exceptions/GenericShareException.php
@@ -24,7 +24,7 @@
*/
namespace OCP\Share\Exceptions;
-use OC\HintException;
+use OCP\HintException;
/**
* Class GenericEncryptionException
diff --git a/tests/Core/Controller/ChangePasswordControllerTest.php b/tests/Core/Controller/ChangePasswordControllerTest.php
index dfd65aed47f..190afd3be47 100644
--- a/tests/Core/Controller/ChangePasswordControllerTest.php
+++ b/tests/Core/Controller/ChangePasswordControllerTest.php
@@ -22,11 +22,11 @@
namespace Tests\Core\Controller;
-use OC\HintException;
use OC\User\Session;
use OCA\Settings\Controller\ChangePasswordController;
use OCP\App\IAppManager;
use OCP\AppFramework\Http\JSONResponse;
+use OCP\HintException;
use OCP\IGroupManager;
use OCP\IL10N;
use OCP\IRequest;
diff --git a/tests/lib/Memcache/FactoryTest.php b/tests/lib/Memcache/FactoryTest.php
index 19edf4aa3dd..858bdc5d3ef 100644
--- a/tests/lib/Memcache/FactoryTest.php
+++ b/tests/lib/Memcache/FactoryTest.php
@@ -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);
diff --git a/tests/lib/Share20/ManagerTest.php b/tests/lib/Share20/ManagerTest.php
index 117adc95186..de8dc9fcc86 100644
--- a/tests/lib/Share20/ManagerTest.php
+++ b/tests/lib/Share20/ManagerTest.php
@@ -22,7 +22,6 @@
namespace Test\Share20;
use OC\Files\Mount\MoveableMount;
-use OC\HintException;
use OC\Share20\DefaultShareProvider;
use OC\Share20\Exception;
use OC\Share20\Manager;
@@ -36,6 +35,7 @@ use OCP\Files\Mount\IMountManager;
use OCP\Files\Mount\IMountPoint;
use OCP\Files\Node;
use OCP\Files\Storage;
+use OCP\HintException;
use OCP\IConfig;
use OCP\IGroup;
use OCP\IGroupManager;
diff --git a/tests/lib/User/DatabaseTest.php b/tests/lib/User/DatabaseTest.php
index 6eb4466c69d..49b691cf9bc 100644
--- a/tests/lib/User/DatabaseTest.php
+++ b/tests/lib/User/DatabaseTest.php
@@ -22,10 +22,10 @@
namespace Test\User;
-use OC\HintException;
use OC\User\User;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventDispatcher;
+use OCP\HintException;
use OCP\Security\Events\ValidatePasswordPolicyEvent;
use PHPUnit\Framework\MockObject\MockObject;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
@@ -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();