MAPIException   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
eloc 13
c 3
b 0
f 0
dl 0
loc 21
rs 10
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A getDisplayMessage() 0 15 2
1
<?php
2
3
/*
4
 * SPDX-License-Identifier: AGPL-3.0-only
5
 * SPDX-FileCopyrightText: Copyright 2005-2016 Zarafa Deutschland GmbH
6
 * SPDX-FileCopyrightText: Copyright 2020-2024 grommunio GmbH
7
 */
8
9
/**
10
 * MAPIException
11
 * if enabled using mapi_enable_exceptions then php-ext can throw exceptions when
12
 * any error occurs in mapi calls. this exception will only be thrown when severity bit is set in
13
 * error code that means it will be thrown only for mapi errors not for mapi warnings.
14
 */
15
class MAPIException extends BaseException {
16
	/**
17
	 * Returns display message of exception if its set by the callee.
18
	 * If it is not set then we are generating some default display messages based
19
	 * on mapi error code.
20
	 */
21
	#[Override]
22
	public function getDisplayMessage(): string {
23
		if (!empty($this->displayMessage)) {
24
			return $this->displayMessage;
25
		}
26
27
		return match ($this->getCode()) {
28
			MAPI_E_NO_ACCESS => dgettext("zarafa", "You have insufficient privileges to open this object."),
29
			ecUnknownUser, MAPI_E_LOGON_FAILED, MAPI_E_UNCONFIGURED => dgettext("zarafa", "Logon Failed. Please check your name/password."),
30
			MAPI_E_NETWORK_ERROR => dgettext("zarafa", "Can not connect to Gromox."),
31
			MAPI_E_UNKNOWN_ENTRYID => dgettext("zarafa", "Can not open object with provided id."),
32
			MAPI_E_NO_RECIPIENTS => dgettext("zarafa", "There are no recipients in the message."),
33
			MAPI_E_NOT_FOUND => dgettext("zarafa", "Can not find object."),
34
			MAPI_E_NOT_ENOUGH_MEMORY => dgettext("zarafa", "Operation failed: Server does not have enough memory."),
35
			default => sprintf(dgettext("zarafa", "Unknown MAPI Error: %s"), get_mapi_error_name($this->getCode())),
36
		};
37
	}
38
}
39
40
// Tell the PHP extension which exception class to instantiate
41
if (function_exists('mapi_enable_exceptions')) {
42
	mapi_enable_exceptions("mapiexception");
43
}
44