@@ -25,12 +25,12 @@ discard block |
||
| 25 | 25 | * carried in the IPM.TaskRequest item (although this information seems |
| 26 | 26 | * redundant due to that information already being available in PR_MESSAGE_CLASS). |
| 27 | 27 | */ |
| 28 | -define('tdmtNothing', 0); // Value in IPM.Task items |
|
| 29 | -define('tdmtTaskReq', 1); // Assigner -> Assignee |
|
| 30 | -define('tdmtTaskAcc', 2); // Assignee -> Assigner |
|
| 31 | -define('tdmtTaskDec', 3); // Assignee -> Assigner |
|
| 32 | -define('tdmtTaskUpd', 4); // Assignee -> Assigner |
|
| 33 | -define('tdmtTaskSELF', 5); // Assigner -> Assigner (?) |
|
| 28 | +define('tdmtNothing', 0); // Value in IPM.Task items |
|
| 29 | +define('tdmtTaskReq', 1); // Assigner -> Assignee |
|
| 30 | +define('tdmtTaskAcc', 2); // Assignee -> Assigner |
|
| 31 | +define('tdmtTaskDec', 3); // Assignee -> Assigner |
|
| 32 | +define('tdmtTaskUpd', 4); // Assignee -> Assigner |
|
| 33 | +define('tdmtTaskSELF', 5); // Assigner -> Assigner (?) |
|
| 34 | 34 | |
| 35 | 35 | /* The TaskHistory is used to show the last action on the task |
| 36 | 36 | * on both the assigner and the assignee's side. |
@@ -40,22 +40,22 @@ discard block |
||
| 40 | 40 | * the format 'Accepted by <user> on 01-01-2010 11:00'. |
| 41 | 41 | */ |
| 42 | 42 | define('thNone', 0); |
| 43 | -define('thAccepted', 1); // Set by assignee |
|
| 44 | -define('thDeclined', 2); // Set by assignee |
|
| 45 | -define('thUpdated', 3); // Set by assignee |
|
| 43 | +define('thAccepted', 1); // Set by assignee |
|
| 44 | +define('thDeclined', 2); // Set by assignee |
|
| 45 | +define('thUpdated', 3); // Set by assignee |
|
| 46 | 46 | define('thDueDateChanged', 4); |
| 47 | -define('thAssigned', 5); // Set by assigner |
|
| 47 | +define('thAssigned', 5); // Set by assigner |
|
| 48 | 48 | |
| 49 | 49 | /* The TaskState value is used to differentiate the version of a task |
| 50 | 50 | * in the assigner's folder and the version in the |
| 51 | 51 | * assignee's folder. The buttons shown depend on this and |
| 52 | 52 | * the 'taskaccepted' boolean (for the assignee) |
| 53 | 53 | */ |
| 54 | -define('tdsNOM', 0); // Got a response to a deleted task, and re-created the task for the assigner |
|
| 55 | -define('tdsOWNNEW', 1); // Not assigned |
|
| 56 | -define('tdsOWN', 2); // Assignee version |
|
| 57 | -define('tdsACC', 3); // Assigner version |
|
| 58 | -define('tdsDEC', 4); // Assigner version, but assignee declined |
|
| 54 | +define('tdsNOM', 0); // Got a response to a deleted task, and re-created the task for the assigner |
|
| 55 | +define('tdsOWNNEW', 1); // Not assigned |
|
| 56 | +define('tdsOWN', 2); // Assignee version |
|
| 57 | +define('tdsACC', 3); // Assigner version |
|
| 58 | +define('tdsDEC', 4); // Assigner version, but assignee declined |
|
| 59 | 59 | |
| 60 | 60 | /* The TaskAcceptanceState is used for the assigner to indicate state */ |
| 61 | 61 | define('olTaskNotDelegated', 0); |
@@ -65,13 +65,13 @@ discard block |
||
| 65 | 65 | |
| 66 | 66 | /* The task ownership indicates the role of the current user relative to the task. */ |
| 67 | 67 | define('olNewTask', 0); |
| 68 | -define('olDelegatedTask', 1); // Task has been assigned |
|
| 69 | -define('olOwnTask', 2); // Task owned |
|
| 68 | +define('olDelegatedTask', 1); // Task has been assigned |
|
| 69 | +define('olOwnTask', 2); // Task owned |
|
| 70 | 70 | |
| 71 | 71 | /* taskmultrecips indicates whether the task request sent or received has multiple assignees or not. */ |
| 72 | 72 | define('tmrNone', 0); |
| 73 | -define('tmrSent', 1); // Task has been sent to multiple assignee |
|
| 74 | -define('tmrReceived', 2); // Task Request received has multiple assignee |
|
| 73 | +define('tmrSent', 1); // Task has been sent to multiple assignee |
|
| 74 | +define('tmrReceived', 2); // Task Request received has multiple assignee |
|
| 75 | 75 | |
| 76 | 76 | // Task icon index. |
| 77 | 77 | define('ICON_TASK_ASSIGNEE', 0x00000502); |
@@ -165,7 +165,7 @@ discard block |
||
| 165 | 165 | * |
| 166 | 166 | * @return bool true if this is a task request else false |
| 167 | 167 | */ |
| 168 | - public function isTaskRequest(false|string $messageClass = false): bool { |
|
| 168 | + public function isTaskRequest(false | string $messageClass = false): bool { |
|
| 169 | 169 | if ($messageClass === false) { |
| 170 | 170 | $props = mapi_getprops($this->message, [PR_MESSAGE_CLASS]); |
| 171 | 171 | $messageClass = $props[PR_MESSAGE_CLASS] ?? false; |
@@ -181,7 +181,7 @@ discard block |
||
| 181 | 181 | * |
| 182 | 182 | * @return bool true if this is a task request else false |
| 183 | 183 | */ |
| 184 | - public function isTaskRequestResponse(false|string $messageClass = false): bool { |
|
| 184 | + public function isTaskRequestResponse(false | string $messageClass = false): bool { |
|
| 185 | 185 | if ($messageClass === false) { |
| 186 | 186 | $props = mapi_getprops($this->message, [PR_MESSAGE_CLASS]); |
| 187 | 187 | $messageClass = $props[PR_MESSAGE_CLASS] ?? false; |
@@ -674,7 +674,7 @@ discard block |
||
| 674 | 674 | * |
| 675 | 675 | * @return array|false PR_ENTRYID, PR_STORE_ENTRYID and PR_PARENT_ENTRYID of the task |
| 676 | 676 | */ |
| 677 | - public function doAccept(): array|false { |
|
| 677 | + public function doAccept(): array | false { |
|
| 678 | 678 | $prefix = _("Task Accepted:") . " "; |
| 679 | 679 | $messageProps = mapi_getprops($this->message, [PR_MESSAGE_CLASS, $this->props['taskstate']]); |
| 680 | 680 | |
@@ -724,7 +724,7 @@ discard block |
||
| 724 | 724 | * |
| 725 | 725 | * @return array|false TRUE on success, FALSE on failure |
| 726 | 726 | */ |
| 727 | - public function doDecline(): array|false { |
|
| 727 | + public function doDecline(): array | false { |
|
| 728 | 728 | $prefix = _("Task Declined:") . " "; |
| 729 | 729 | $messageProps = mapi_getprops($this->message, [$this->props['taskstate']]); |
| 730 | 730 | |
@@ -854,7 +854,7 @@ discard block |
||
| 854 | 854 | * |
| 855 | 855 | * @psalm-return array<array<array<array<array<array<never, never>>>>>>|false |
| 856 | 856 | */ |
| 857 | - public function getSentReprProps(mixed $store): array|false { |
|
| 857 | + public function getSentReprProps(mixed $store): array | false { |
|
| 858 | 858 | $storeprops = mapi_getprops($store, [PR_MAILBOX_OWNER_ENTRYID]); |
| 859 | 859 | if (!isset($storeprops[PR_MAILBOX_OWNER_ENTRYID])) { |
| 860 | 860 | return false; |
@@ -1178,7 +1178,7 @@ discard block |
||
| 1178 | 1178 | * |
| 1179 | 1179 | * @returns array|bool PR_ENTRYID, PR_STORE_ENTRYID and PR_PARENT_ENTRYID of the deleted task request |
| 1180 | 1180 | */ |
| 1181 | - public function deleteReceivedTR(): array|false { |
|
| 1181 | + public function deleteReceivedTR(): array | false { |
|
| 1182 | 1182 | $store = $this->getTaskFolderStore(); |
| 1183 | 1183 | $storeType = mapi_getprops($store, [PR_MDB_PROVIDER]); |
| 1184 | 1184 | if ($storeType[PR_MDB_PROVIDER] === ZARAFA_STORE_PUBLIC_GUID) { |
@@ -1251,7 +1251,7 @@ discard block |
||
| 1251 | 1251 | } |
| 1252 | 1252 | |
| 1253 | 1253 | foreach ($recips as $recip) { |
| 1254 | - $recip[PR_RECIPIENT_TYPE] = MAPI_TO; // Change recipient type to MAPI_TO |
|
| 1254 | + $recip[PR_RECIPIENT_TYPE] = MAPI_TO; // Change recipient type to MAPI_TO |
|
| 1255 | 1255 | mapi_message_modifyrecipients($outgoing, MODRECIP_ADD, [$recip]); |
| 1256 | 1256 | } |
| 1257 | 1257 | |
@@ -7,7 +7,7 @@ |
||
| 7 | 7 | // import the correct class |
| 8 | 8 | use Rector\Set\ValueObject\LevelSetList; |
| 9 | 9 | |
| 10 | -return static function (RectorConfig $rectorConfig): void { |
|
| 10 | +return static function(RectorConfig $rectorConfig): void { |
|
| 11 | 11 | $rectorConfig->sets([ |
| 12 | 12 | LevelSetList::UP_TO_PHP_81, |
| 13 | 13 | LevelSetList::UP_TO_PHP_82, |
@@ -10,7 +10,7 @@ discard block |
||
| 10 | 10 | class Token { |
| 11 | 11 | public ?array $token_header = null; |
| 12 | 12 | public ?array $token_payload = null; |
| 13 | - public false|string|null $token_signature = null; |
|
| 13 | + public false | string | null $token_signature = null; |
|
| 14 | 14 | public ?string $signed = null; |
| 15 | 15 | |
| 16 | 16 | /** |
@@ -49,7 +49,7 @@ discard block |
||
| 49 | 49 | /** |
| 50 | 50 | * Returns the signature of the token. |
| 51 | 51 | */ |
| 52 | - public function get_signature(): false|string|null { |
|
| 52 | + public function get_signature(): false | string | null { |
|
| 53 | 53 | return $this->token_signature; |
| 54 | 54 | } |
| 55 | 55 | |
@@ -17,40 +17,40 @@ discard block |
||
| 17 | 17 | |
| 18 | 18 | /* Object type */ |
| 19 | 19 | |
| 20 | -define('MAPI_STORE', 0x00000001); /* Message Store */ |
|
| 21 | -define('MAPI_ADDRBOOK', 0x00000002); /* Address Book */ |
|
| 22 | -define('MAPI_FOLDER', 0x00000003); /* Folder */ |
|
| 23 | -define('MAPI_ABCONT', 0x00000004); /* Address Book Container */ |
|
| 24 | -define('MAPI_MESSAGE', 0x00000005); /* Message */ |
|
| 25 | -define('MAPI_MAILUSER', 0x00000006); /* Individual Recipient */ |
|
| 26 | -define('MAPI_ATTACH', 0x00000007); /* Attachment */ |
|
| 27 | -define('MAPI_DISTLIST', 0x00000008); /* Distribution List Recipient */ |
|
| 28 | -define('MAPI_PROFSECT', 0x00000009); /* Profile Section */ |
|
| 29 | -define('MAPI_STATUS', 0x0000000A); /* Status Object */ |
|
| 30 | -define('MAPI_SESSION', 0x0000000B); /* Session */ |
|
| 31 | -define('MAPI_FORMINFO', 0x0000000C); /* Form Information */ |
|
| 20 | +define('MAPI_STORE', 0x00000001); /* Message Store */ |
|
| 21 | +define('MAPI_ADDRBOOK', 0x00000002); /* Address Book */ |
|
| 22 | +define('MAPI_FOLDER', 0x00000003); /* Folder */ |
|
| 23 | +define('MAPI_ABCONT', 0x00000004); /* Address Book Container */ |
|
| 24 | +define('MAPI_MESSAGE', 0x00000005); /* Message */ |
|
| 25 | +define('MAPI_MAILUSER', 0x00000006); /* Individual Recipient */ |
|
| 26 | +define('MAPI_ATTACH', 0x00000007); /* Attachment */ |
|
| 27 | +define('MAPI_DISTLIST', 0x00000008); /* Distribution List Recipient */ |
|
| 28 | +define('MAPI_PROFSECT', 0x00000009); /* Profile Section */ |
|
| 29 | +define('MAPI_STATUS', 0x0000000A); /* Status Object */ |
|
| 30 | +define('MAPI_SESSION', 0x0000000B); /* Session */ |
|
| 31 | +define('MAPI_FORMINFO', 0x0000000C); /* Form Information */ |
|
| 32 | 32 | |
| 33 | 33 | define('MV_FLAG', 0x1000); |
| 34 | 34 | define('MV_INSTANCE', 0x2000); |
| 35 | 35 | define('MVI_FLAG', MV_FLAG | MV_INSTANCE); |
| 36 | 36 | |
| 37 | -define('PT_UNSPECIFIED', 0); /* (Reserved for interface use) type doesn't matter to caller */ |
|
| 38 | -define('PT_NULL', 1); /* NULL property value */ |
|
| 39 | -define('PT_I2', 2); /* Signed 16-bit value */ |
|
| 40 | -define('PT_LONG', 3); /* Signed 32-bit value */ |
|
| 41 | -define('PT_R4', 4); /* 4-byte floating point */ |
|
| 42 | -define('PT_DOUBLE', 5); /* Floating point double */ |
|
| 43 | -define('PT_CURRENCY', 6); /* Signed 64-bit int (decimal w/4 digits right of decimal pt) */ |
|
| 44 | -define('PT_APPTIME', 7); /* Application time */ |
|
| 45 | -define('PT_ERROR', 10); /* 32-bit error value */ |
|
| 46 | -define('PT_BOOLEAN', 11); /* 16-bit boolean (non-zero true) */ |
|
| 47 | -define('PT_OBJECT', 13); /* Embedded object in a property */ |
|
| 48 | -define('PT_I8', 20); /* 8-byte signed integer */ |
|
| 49 | -define('PT_STRING8', 30); /* Null terminated 8-bit character string */ |
|
| 50 | -define('PT_UNICODE', 31); /* Null terminated Unicode string */ |
|
| 51 | -define('PT_SYSTIME', 64); /* FILETIME 64-bit int w/ number of 100ns periods since Jan 1,1601 */ |
|
| 52 | -define('PT_CLSID', 72); /* OLE GUID */ |
|
| 53 | -define('PT_BINARY', 258); /* Uninterpreted (counted byte array) */ |
|
| 37 | +define('PT_UNSPECIFIED', 0); /* (Reserved for interface use) type doesn't matter to caller */ |
|
| 38 | +define('PT_NULL', 1); /* NULL property value */ |
|
| 39 | +define('PT_I2', 2); /* Signed 16-bit value */ |
|
| 40 | +define('PT_LONG', 3); /* Signed 32-bit value */ |
|
| 41 | +define('PT_R4', 4); /* 4-byte floating point */ |
|
| 42 | +define('PT_DOUBLE', 5); /* Floating point double */ |
|
| 43 | +define('PT_CURRENCY', 6); /* Signed 64-bit int (decimal w/4 digits right of decimal pt) */ |
|
| 44 | +define('PT_APPTIME', 7); /* Application time */ |
|
| 45 | +define('PT_ERROR', 10); /* 32-bit error value */ |
|
| 46 | +define('PT_BOOLEAN', 11); /* 16-bit boolean (non-zero true) */ |
|
| 47 | +define('PT_OBJECT', 13); /* Embedded object in a property */ |
|
| 48 | +define('PT_I8', 20); /* 8-byte signed integer */ |
|
| 49 | +define('PT_STRING8', 30); /* Null terminated 8-bit character string */ |
|
| 50 | +define('PT_UNICODE', 31); /* Null terminated Unicode string */ |
|
| 51 | +define('PT_SYSTIME', 64); /* FILETIME 64-bit int w/ number of 100ns periods since Jan 1,1601 */ |
|
| 52 | +define('PT_CLSID', 72); /* OLE GUID */ |
|
| 53 | +define('PT_BINARY', 258); /* Uninterpreted (counted byte array) */ |
|
| 54 | 54 | /* Changes are likely to these numbers, and to their structures. */ |
| 55 | 55 | |
| 56 | 56 | /* Alternate property type names for ease of use */ |
@@ -191,14 +191,14 @@ discard block |
||
| 191 | 191 | |
| 192 | 192 | /* Values for PR_RESOURCE_TYPE, _METHODS, _FLAGS */ |
| 193 | 193 | |
| 194 | -define('MAPI_STORE_PROVIDER', 33); /* Message Store */ |
|
| 195 | -define('MAPI_AB', 34); /* Address Book */ |
|
| 196 | -define('MAPI_AB_PROVIDER', 35); /* Address Book Provider */ |
|
| 194 | +define('MAPI_STORE_PROVIDER', 33); /* Message Store */ |
|
| 195 | +define('MAPI_AB', 34); /* Address Book */ |
|
| 196 | +define('MAPI_AB_PROVIDER', 35); /* Address Book Provider */ |
|
| 197 | 197 | define('MAPI_TRANSPORT_PROVIDER', 36); /* Transport Provider */ |
| 198 | -define('MAPI_SPOOLER', 37); /* Message Spooler */ |
|
| 199 | -define('MAPI_PROFILE_PROVIDER', 38); /* Profile Provider */ |
|
| 200 | -define('MAPI_SUBSYSTEM', 39); /* Overall Subsystem Status */ |
|
| 201 | -define('MAPI_HOOK_PROVIDER', 40); /* Spooler Hook */ |
|
| 198 | +define('MAPI_SPOOLER', 37); /* Message Spooler */ |
|
| 199 | +define('MAPI_PROFILE_PROVIDER', 38); /* Profile Provider */ |
|
| 200 | +define('MAPI_SUBSYSTEM', 39); /* Overall Subsystem Status */ |
|
| 201 | +define('MAPI_HOOK_PROVIDER', 40); /* Spooler Hook */ |
|
| 202 | 202 | define('STATUS_VALIDATE_STATE', 0x00000001); |
| 203 | 203 | define('STATUS_SETTINGS_DIALOG', 0x00000002); |
| 204 | 204 | define('STATUS_CHANGE_PASSWORD', 0x00000004); |
@@ -244,10 +244,10 @@ discard block |
||
| 244 | 244 | define('MODRECIP_MODIFY', 0x00000004); |
| 245 | 245 | define('MODRECIP_REMOVE', 0x00000008); |
| 246 | 246 | |
| 247 | -define('MAPI_ORIG', 0); /* Recipient is message originator */ |
|
| 248 | -define('MAPI_TO', 1); /* Recipient is a primary recipient */ |
|
| 249 | -define('MAPI_CC', 2); /* Recipient is a copy recipient */ |
|
| 250 | -define('MAPI_BCC', 3); /* Recipient is blind copy recipient */ |
|
| 247 | +define('MAPI_ORIG', 0); /* Recipient is message originator */ |
|
| 248 | +define('MAPI_TO', 1); /* Recipient is a primary recipient */ |
|
| 249 | +define('MAPI_CC', 2); /* Recipient is a copy recipient */ |
|
| 250 | +define('MAPI_BCC', 3); /* Recipient is blind copy recipient */ |
|
| 251 | 251 | |
| 252 | 252 | /* IAttach Interface ------------------------------------------------------- */ |
| 253 | 253 | |
@@ -308,26 +308,26 @@ discard block |
||
| 308 | 308 | define('MAPI_SEND_NO_RICH_INFO', 0x00010000); |
| 309 | 309 | |
| 310 | 310 | /* flags for PR_STORE_SUPPORT_MASK */ |
| 311 | -define('STORE_ANSI_OK', 0x00020000); // The message store supports properties containing ANSI (8-bit) characters. |
|
| 312 | -define('STORE_ATTACH_OK', 0x00000020); // The message store supports attachments (OLE or non-OLE) to messages. |
|
| 313 | -define('STORE_CATEGORIZE_OK', 0x00000400); // The message store supports categorized views of tables. |
|
| 314 | -define('STORE_CREATE_OK', 0x00000010); // The message store supports creation of new messages. |
|
| 315 | -define('STORE_ENTRYID_UNIQUE', 0x00000001); // Entry identifiers for the objects in the message store are unique, that is, never reused during the life of the store. |
|
| 316 | -define('STORE_HTML_OK', 0x00010000); // The message store supports Hypertext Markup Language (HTML) messages, stored in the PR_BODY_HTML property. Note that STORE_HTML_OK is not defined in versions of MAPIDEFS.H included with Microsoft� Exchange 2000 Server and earlier. If your development environment uses a MAPIDEFS.H file that does not include STORE_HTML_OK, use the value 0x00010000 instead. |
|
| 317 | -define('STORE_LOCALSTORE', 0x00080000); // This flag is reserved and should not be used. |
|
| 318 | -define('STORE_MODIFY_OK', 0x00000008); // The message store supports modification of its existing messages. |
|
| 319 | -define('STORE_MV_PROPS_OK', 0x00000200); // The message store supports multivalued properties, guarantees the stability of value order in a multivalued property throughout a save operation, and supports instantiation of multivalued properties in tables. |
|
| 320 | -define('STORE_NOTIFY_OK', 0x00000100); // The message store supports notifications. |
|
| 321 | -define('STORE_OLE_OK', 0x00000040); // The message store supports OLE attachments. The OLE data is accessible through an IStorage interface, such as that available through the PR_ATTACH_DATA_OBJ property. |
|
| 322 | -define('STORE_PUBLIC_FOLDERS', 0x00004000); // The folders in this store are public (multi-user), not private (possibly multi-instance but not multi-user). |
|
| 323 | -define('STORE_READONLY', 0x00000002); // All interfaces for the message store have a read-only access level. |
|
| 324 | -define('STORE_RESTRICTION_OK', 0x00001000); // The message store supports restrictions. |
|
| 325 | -define('STORE_RTF_OK', 0x00000800); // The message store supports Rich Text Format (RTF) messages, usually stored compressed, and the store itself keeps PR_BODY and PR_RTF_COMPRESSED synchronized. |
|
| 326 | -define('STORE_SEARCH_OK', 0x00000004); // The message store supports search-results folders. |
|
| 327 | -define('STORE_SORT_OK', 0x00002000); // The message store supports sorting views of tables. |
|
| 328 | -define('STORE_SUBMIT_OK', 0x00000080); // The message store supports marking a message for submission. |
|
| 311 | +define('STORE_ANSI_OK', 0x00020000); // The message store supports properties containing ANSI (8-bit) characters. |
|
| 312 | +define('STORE_ATTACH_OK', 0x00000020); // The message store supports attachments (OLE or non-OLE) to messages. |
|
| 313 | +define('STORE_CATEGORIZE_OK', 0x00000400); // The message store supports categorized views of tables. |
|
| 314 | +define('STORE_CREATE_OK', 0x00000010); // The message store supports creation of new messages. |
|
| 315 | +define('STORE_ENTRYID_UNIQUE', 0x00000001); // Entry identifiers for the objects in the message store are unique, that is, never reused during the life of the store. |
|
| 316 | +define('STORE_HTML_OK', 0x00010000); // The message store supports Hypertext Markup Language (HTML) messages, stored in the PR_BODY_HTML property. Note that STORE_HTML_OK is not defined in versions of MAPIDEFS.H included with Microsoft� Exchange 2000 Server and earlier. If your development environment uses a MAPIDEFS.H file that does not include STORE_HTML_OK, use the value 0x00010000 instead. |
|
| 317 | +define('STORE_LOCALSTORE', 0x00080000); // This flag is reserved and should not be used. |
|
| 318 | +define('STORE_MODIFY_OK', 0x00000008); // The message store supports modification of its existing messages. |
|
| 319 | +define('STORE_MV_PROPS_OK', 0x00000200); // The message store supports multivalued properties, guarantees the stability of value order in a multivalued property throughout a save operation, and supports instantiation of multivalued properties in tables. |
|
| 320 | +define('STORE_NOTIFY_OK', 0x00000100); // The message store supports notifications. |
|
| 321 | +define('STORE_OLE_OK', 0x00000040); // The message store supports OLE attachments. The OLE data is accessible through an IStorage interface, such as that available through the PR_ATTACH_DATA_OBJ property. |
|
| 322 | +define('STORE_PUBLIC_FOLDERS', 0x00004000); // The folders in this store are public (multi-user), not private (possibly multi-instance but not multi-user). |
|
| 323 | +define('STORE_READONLY', 0x00000002); // All interfaces for the message store have a read-only access level. |
|
| 324 | +define('STORE_RESTRICTION_OK', 0x00001000); // The message store supports restrictions. |
|
| 325 | +define('STORE_RTF_OK', 0x00000800); // The message store supports Rich Text Format (RTF) messages, usually stored compressed, and the store itself keeps PR_BODY and PR_RTF_COMPRESSED synchronized. |
|
| 326 | +define('STORE_SEARCH_OK', 0x00000004); // The message store supports search-results folders. |
|
| 327 | +define('STORE_SORT_OK', 0x00002000); // The message store supports sorting views of tables. |
|
| 328 | +define('STORE_SUBMIT_OK', 0x00000080); // The message store supports marking a message for submission. |
|
| 329 | 329 | define('STORE_UNCOMPRESSED_RTF', 0x00008000); // The message store supports storage of Rich Text Format (RTF) messages in uncompressed form. An uncompressed RTF stream is identified by the value dwMagicUncompressedRTF in the stream header. The dwMagicUncompressedRTF value is defined in the RTFLIB.H file. |
| 330 | -define('STORE_UNICODE_OK', 0x00040000); // The message store supports properties containing Unicode characters. |
|
| 330 | +define('STORE_UNICODE_OK', 0x00040000); // The message store supports properties containing Unicode characters. |
|
| 331 | 331 | |
| 332 | 332 | /* PR_DISPLAY_TYPEs */ |
| 333 | 333 | /* For address book contents tables */ |
@@ -347,13 +347,13 @@ discard block |
||
| 347 | 347 | define('DT_NOT_SPECIFIC', 0x00050000); |
| 348 | 348 | |
| 349 | 349 | /* Distribution list member types */ |
| 350 | -define('DL_USER', 0xC3); // 195 - Individual user |
|
| 351 | -define('DL_USER2', 0xD3); // 211 - Individual user variant |
|
| 352 | -define('DL_USER3', 0xE3); // 227 - Individual user variant |
|
| 353 | -define('DL_EXTERNAL_MEMBER', 0x00); // 0 - One-off (external) contact |
|
| 354 | -define('DL_DIST', 0xB4); // 180 - Distribution list |
|
| 355 | -define('DL_USER_AB', 0xB5); // 181 - Address book user |
|
| 356 | -define('DL_DIST_AB', 0xB6); // 182 - Address book distribution list |
|
| 350 | +define('DL_USER', 0xC3); // 195 - Individual user |
|
| 351 | +define('DL_USER2', 0xD3); // 211 - Individual user variant |
|
| 352 | +define('DL_USER3', 0xE3); // 227 - Individual user variant |
|
| 353 | +define('DL_EXTERNAL_MEMBER', 0x00); // 0 - One-off (external) contact |
|
| 354 | +define('DL_DIST', 0xB4); // 180 - Distribution list |
|
| 355 | +define('DL_USER_AB', 0xB5); // 181 - Address book user |
|
| 356 | +define('DL_DIST_AB', 0xB6); // 182 - Address book distribution list |
|
| 357 | 357 | define('WAB_GUID', pack("H*", "C091ADD3519DCF11A4A900AA0047FAA4")); |
| 358 | 358 | |
| 359 | 359 | /* For folder hierarchy tables */ |
@@ -450,21 +450,21 @@ discard block |
||
| 450 | 450 | define('BMR_NEZ', 0x00000001); |
| 451 | 451 | |
| 452 | 452 | /* array index values of restrictions -- same values are used in php-ext/main.cpp::PHPArraytoSRestriction() */ |
| 453 | -define('VALUE', 0); // propval |
|
| 454 | -define('RELOP', 1); // compare method |
|
| 455 | -define('FUZZYLEVEL', 2); // string search flags |
|
| 456 | -define('CB', 3); // size restriction |
|
| 457 | -define('ULTYPE', 4); // bit mask restriction type BMR_xxx |
|
| 458 | -define('ULMASK', 5); // bitmask |
|
| 459 | -define('ULPROPTAG', 6); // property |
|
| 460 | -define('ULPROPTAG1', 7); // RES_COMPAREPROPS 1st property |
|
| 461 | -define('ULPROPTAG2', 8); // RES_COMPAREPROPS 2nd property |
|
| 462 | -define('PROPS', 9); // RES_COMMENT properties |
|
| 453 | +define('VALUE', 0); // propval |
|
| 454 | +define('RELOP', 1); // compare method |
|
| 455 | +define('FUZZYLEVEL', 2); // string search flags |
|
| 456 | +define('CB', 3); // size restriction |
|
| 457 | +define('ULTYPE', 4); // bit mask restriction type BMR_xxx |
|
| 458 | +define('ULMASK', 5); // bitmask |
|
| 459 | +define('ULPROPTAG', 6); // property |
|
| 460 | +define('ULPROPTAG1', 7); // RES_COMPAREPROPS 1st property |
|
| 461 | +define('ULPROPTAG2', 8); // RES_COMPAREPROPS 2nd property |
|
| 462 | +define('PROPS', 9); // RES_COMMENT properties |
|
| 463 | 463 | define('RESTRICTION', 10); // RES_COMMENT and RES_SUBRESTRICTION restriction |
| 464 | 464 | |
| 465 | 465 | /* GUID's for PR_MDB_PROVIDER */ |
| 466 | -define("ZARAFA_SERVICE_GUID", makeGuid("{C0A19454-7F29-1B10-A587-08002B2A2517}")); // default store |
|
| 467 | -define("ZARAFA_STORE_PUBLIC_GUID", makeGuid("{70FAB278-F7AF-CD11-9BC8-00AA002FC45A}")); // public store |
|
| 466 | +define("ZARAFA_SERVICE_GUID", makeGuid("{C0A19454-7F29-1B10-A587-08002B2A2517}")); // default store |
|
| 467 | +define("ZARAFA_STORE_PUBLIC_GUID", makeGuid("{70FAB278-F7AF-CD11-9BC8-00AA002FC45A}")); // public store |
|
| 468 | 468 | define("ZARAFA_STORE_DELEGATE_GUID", makeGuid("{0077B49E-E474-CE11-8C5E-00AA004254E2}")); // other store |
| 469 | 469 | define('ZARAFA_STORE_ARCHIVER_GUID', makeGuid("{BC8953AD-2E3F-4172-9404-896FF459870F}")); // archive store |
| 470 | 470 | |
@@ -599,38 +599,38 @@ discard block |
||
| 599 | 599 | define('SYNC_NO_FOREIGN_KEYS', 0x100); |
| 600 | 600 | define('SYNC_LIMITED_IMESSAGE', 0x200); |
| 601 | 601 | define('SYNC_CATCHUP', 0x400); |
| 602 | -define('SYNC_NEW_MESSAGE', 0x800); // only applicable to ImportMessageChange() |
|
| 603 | -define('SYNC_MSG_SELECTIVE', 0x1000); // Used internally. Will reject if used by clients. |
|
| 602 | +define('SYNC_NEW_MESSAGE', 0x800); // only applicable to ImportMessageChange() |
|
| 603 | +define('SYNC_MSG_SELECTIVE', 0x1000); // Used internally. Will reject if used by clients. |
|
| 604 | 604 | define('SYNC_BEST_BODY', 0x2000); |
| 605 | 605 | define('SYNC_IGNORE_SPECIFIED_ON_ASSOCIATED', 0x4000); |
| 606 | -define('SYNC_PROGRESS_MODE', 0x8000); // AirMapi progress mode |
|
| 606 | +define('SYNC_PROGRESS_MODE', 0x8000); // AirMapi progress mode |
|
| 607 | 607 | define('SYNC_FXRECOVERMODE', 0x10000); |
| 608 | 608 | define('SYNC_DEFER_CONFIG', 0x20000); |
| 609 | -define('SYNC_FORCE_UNICODE', 0x40000); // Forces server to return Unicode properties |
|
| 610 | -define('SYNC_STATE_READONLY', 0x80000); // Server will not update the states in the DB, setting up exporter with this flag states are read only |
|
| 609 | +define('SYNC_FORCE_UNICODE', 0x40000); // Forces server to return Unicode properties |
|
| 610 | +define('SYNC_STATE_READONLY', 0x80000); // Server will not update the states in the DB, setting up exporter with this flag states are read only |
|
| 611 | 611 | |
| 612 | -define('EMS_AB_ADDRESS_LOOKUP', 0x00000001); // Flag for resolvename to resolve only exact matches |
|
| 612 | +define('EMS_AB_ADDRESS_LOOKUP', 0x00000001); // Flag for resolvename to resolve only exact matches |
|
| 613 | 613 | |
| 614 | -define('TBL_BATCH', 0x00000002); // Batch multiple table commands |
|
| 614 | +define('TBL_BATCH', 0x00000002); // Batch multiple table commands |
|
| 615 | 615 | |
| 616 | 616 | /* Flags for recipients in exceptions */ |
| 617 | -define('recipSendable', 0x00000001); // sendable attendee. |
|
| 618 | -define('recipOrganizer', 0x00000002); // meeting organizer |
|
| 619 | -define('recipExceptionalResponse', 0x00000010); // attendee gave a response for the exception |
|
| 620 | -define('recipExceptionalDeleted', 0x00000020); // recipientRow exists, but it is treated as if the corresponding recipient is deleted from meeting |
|
| 621 | -define('recipOriginal', 0x00000100); // recipient is an original Attendee |
|
| 617 | +define('recipSendable', 0x00000001); // sendable attendee. |
|
| 618 | +define('recipOrganizer', 0x00000002); // meeting organizer |
|
| 619 | +define('recipExceptionalResponse', 0x00000010); // attendee gave a response for the exception |
|
| 620 | +define('recipExceptionalDeleted', 0x00000020); // recipientRow exists, but it is treated as if the corresponding recipient is deleted from meeting |
|
| 621 | +define('recipOriginal', 0x00000100); // recipient is an original Attendee |
|
| 622 | 622 | define('recipReserved', 0x00000200); |
| 623 | 623 | |
| 624 | 624 | /* Flags which indicates type of Meeting Object */ |
| 625 | -define('mtgEmpty', 0x00000000); // Unspecified. |
|
| 626 | -define('mtgRequest', 0x00000001); // Initial meeting request. |
|
| 627 | -define('mtgFull', 0x00010000); // Full update. |
|
| 628 | -define('mtgInfo', 0x00020000); // Informational update. |
|
| 629 | -define('mtgOutOfDate', 0x00080000); // A newer Meeting Request object or Meeting Update object was received after this one. |
|
| 630 | -define('mtgDelegatorCopy', 0x00100000); // This is set on the delegator's copy when a delegate will handle meeting-related objects. |
|
| 625 | +define('mtgEmpty', 0x00000000); // Unspecified. |
|
| 626 | +define('mtgRequest', 0x00000001); // Initial meeting request. |
|
| 627 | +define('mtgFull', 0x00010000); // Full update. |
|
| 628 | +define('mtgInfo', 0x00020000); // Informational update. |
|
| 629 | +define('mtgOutOfDate', 0x00080000); // A newer Meeting Request object or Meeting Update object was received after this one. |
|
| 630 | +define('mtgDelegatorCopy', 0x00100000); // This is set on the delegator's copy when a delegate will handle meeting-related objects. |
|
| 631 | 631 | |
| 632 | -define('MAPI_ONE_OFF_UNICODE', 0x8000); // the flag that defines whether the embedded strings are Unicode in one off entryids. |
|
| 633 | -define('MAPI_ONE_OFF_NO_RICH_INFO', 0x0001); // the flag that specifies whether the recipient gets TNEF or not. |
|
| 632 | +define('MAPI_ONE_OFF_UNICODE', 0x8000); // the flag that defines whether the embedded strings are Unicode in one off entryids. |
|
| 633 | +define('MAPI_ONE_OFF_NO_RICH_INFO', 0x0001); // the flag that specifies whether the recipient gets TNEF or not. |
|
| 634 | 634 | |
| 635 | 635 | /* Mask flags for mapi_msgstore_advise */ |
| 636 | 636 | define('fnevCriticalError', 0x00000001); |
@@ -647,21 +647,21 @@ discard block |
||
| 647 | 647 | define('fnevExtended', 0x80000000); |
| 648 | 648 | |
| 649 | 649 | /* PersistBlockType values PR_ADDITIONAL_REN_ENTRYIDS_EX / PR_ADDITIONAL_REN_ENTRYIDS_EX PersistIDs */ |
| 650 | -define('PERSIST_SENTINEL', 0x0000); // Indicates that the PersistData structure is the last one contained in the PidTagAdditionalRenEntryIdsEx property |
|
| 651 | -define('RSF_PID_RSS_SUBSCRIPTION', 0x8001); // Indicates that the structure contains data for the RSS Feeds folder |
|
| 652 | -define('RSF_PID_SEND_AND_TRACK', 0x8002); // Indicates that the structure contains data for the Tracked Mail Processing folder |
|
| 653 | -define('RSF_PID_TODO_SEARCH', 0x8004); // Indicates that the structure contains data for the To-Do folder |
|
| 654 | -define('RSF_PID_CONV_ACTIONS', 0x8006); // Indicates that the structure contains data for the Conversation Action Settings folder |
|
| 655 | -define('RSF_PID_COMBINED_ACTIONS', 0x8007); // This value is reserved. |
|
| 656 | -define('RSF_PID_SUGGESTED_CONTACTS', 0x8008); // Indicates that the structure contains data for the Suggested Contacts folder. |
|
| 657 | -define('RSF_PID_CONTACT_SEARCH', 0x8009); // Indicates that the structure contains data for the Contacts Search folder. |
|
| 658 | -define('RSF_PID_BUDDYLIST_PDLS', 0x800A); // Indicates that the structure contains data for the IM Contacts List folder. |
|
| 659 | -define('RSF_PID_BUDDYLIST_CONTACTS', 0x800B); // Indicates that the structure contains data for the Quick Contacts folder. |
|
| 650 | +define('PERSIST_SENTINEL', 0x0000); // Indicates that the PersistData structure is the last one contained in the PidTagAdditionalRenEntryIdsEx property |
|
| 651 | +define('RSF_PID_RSS_SUBSCRIPTION', 0x8001); // Indicates that the structure contains data for the RSS Feeds folder |
|
| 652 | +define('RSF_PID_SEND_AND_TRACK', 0x8002); // Indicates that the structure contains data for the Tracked Mail Processing folder |
|
| 653 | +define('RSF_PID_TODO_SEARCH', 0x8004); // Indicates that the structure contains data for the To-Do folder |
|
| 654 | +define('RSF_PID_CONV_ACTIONS', 0x8006); // Indicates that the structure contains data for the Conversation Action Settings folder |
|
| 655 | +define('RSF_PID_COMBINED_ACTIONS', 0x8007); // This value is reserved. |
|
| 656 | +define('RSF_PID_SUGGESTED_CONTACTS', 0x8008); // Indicates that the structure contains data for the Suggested Contacts folder. |
|
| 657 | +define('RSF_PID_CONTACT_SEARCH', 0x8009); // Indicates that the structure contains data for the Contacts Search folder. |
|
| 658 | +define('RSF_PID_BUDDYLIST_PDLS', 0x800A); // Indicates that the structure contains data for the IM Contacts List folder. |
|
| 659 | +define('RSF_PID_BUDDYLIST_CONTACTS', 0x800B); // Indicates that the structure contains data for the Quick Contacts folder. |
|
| 660 | 660 | |
| 661 | 661 | /* PersistElementType Values ElementIDs for persist data of PR_ADDITIONAL_REN_ENTRYIDS_EX / PR_ADDITIONAL_REN_ENTRYIDS_EX */ |
| 662 | -define('ELEMENT_SENTINEL', 0x0000); // 0 bytes Indicates that the PersistElement structure is the last one contained in the DataElements field of the PersistData structure. |
|
| 663 | -define('RSF_ELID_ENTRYID', 0x0001); // variable Indicates that the ElementData field contains the entry ID of the special folder that is of the type indicated by the value of the PersistID field of the PersistData structure. |
|
| 664 | -define('RSF_ELID_HEADER', 0x0002); // 4 bytes Indicates that the ElementData field contains a 4-byte header value equal to 0x00000000. |
|
| 662 | +define('ELEMENT_SENTINEL', 0x0000); // 0 bytes Indicates that the PersistElement structure is the last one contained in the DataElements field of the PersistData structure. |
|
| 663 | +define('RSF_ELID_ENTRYID', 0x0001); // variable Indicates that the ElementData field contains the entry ID of the special folder that is of the type indicated by the value of the PersistID field of the PersistData structure. |
|
| 664 | +define('RSF_ELID_HEADER', 0x0002); // 4 bytes Indicates that the ElementData field contains a 4-byte header value equal to 0x00000000. |
|
| 665 | 665 | |
| 666 | 666 | define('STGM_DIRECT', 0x00000000); |
| 667 | 667 | define('STGM_TRANSACTED', 0x00010000); |
@@ -159,15 +159,15 @@ discard block |
||
| 159 | 159 | $properties['reminderminutes'] = 'PT_LONG:PSETID_Common:' . PidLidReminderDelta; |
| 160 | 160 | $properties['reminderset'] = 'PT_BOOLEAN:PSETID_Common:' . PidLidReminderSet; |
| 161 | 161 | $properties['sendasical'] = 'PT_BOOLEAN:PSETID_Appointment:0x8200'; |
| 162 | - $properties['updatecounter'] = 'PT_LONG:PSETID_Appointment:' . PidLidAppointmentSequence; // AppointmentSequenceNumber |
|
| 162 | + $properties['updatecounter'] = 'PT_LONG:PSETID_Appointment:' . PidLidAppointmentSequence; // AppointmentSequenceNumber |
|
| 163 | 163 | $properties['unknown7'] = 'PT_LONG:PSETID_Appointment:0x8202'; |
| 164 | - $properties['last_updatecounter'] = 'PT_LONG:PSETID_Appointment:0x8203'; // AppointmentLastSequence |
|
| 164 | + $properties['last_updatecounter'] = 'PT_LONG:PSETID_Appointment:0x8203'; // AppointmentLastSequence |
|
| 165 | 165 | $properties['busystatus'] = 'PT_LONG:PSETID_Appointment:' . PidLidBusyStatus; |
| 166 | 166 | $properties['intendedbusystatus'] = 'PT_LONG:PSETID_Appointment:' . PidLidIntendedBusyStatus; |
| 167 | 167 | $properties['start'] = 'PT_SYSTIME:PSETID_Appointment:' . PidLidAppointmentStartWhole; |
| 168 | 168 | $properties['responselocation'] = 'PT_STRING8:PSETID_Meeting:0x2'; |
| 169 | 169 | $properties['location'] = 'PT_STRING8:PSETID_Appointment:' . PidLidLocation; |
| 170 | - $properties['requestsent'] = 'PT_BOOLEAN:PSETID_Appointment:0x8229'; // PidLidFInvited, MeetingRequestWasSent |
|
| 170 | + $properties['requestsent'] = 'PT_BOOLEAN:PSETID_Appointment:0x8229'; // PidLidFInvited, MeetingRequestWasSent |
|
| 171 | 171 | $properties['startdate'] = 'PT_SYSTIME:PSETID_Appointment:' . PidLidAppointmentStartWhole; |
| 172 | 172 | $properties['duedate'] = 'PT_SYSTIME:PSETID_Appointment:' . PidLidAppointmentEndWhole; |
| 173 | 173 | $properties['flagdueby'] = 'PT_SYSTIME:PSETID_Common:' . PidLidReminderSignalTime; |
@@ -176,11 +176,11 @@ discard block |
||
| 176 | 176 | $properties['recurring'] = 'PT_BOOLEAN:PSETID_Appointment:' . PidLidRecurring; |
| 177 | 177 | $properties['clipstart'] = 'PT_SYSTIME:PSETID_Appointment:' . PidLidClipStart; |
| 178 | 178 | $properties['clipend'] = 'PT_SYSTIME:PSETID_Appointment:' . PidLidClipEnd; |
| 179 | - $properties['start_recur_date'] = 'PT_LONG:PSETID_Meeting:0xD'; // StartRecurTime |
|
| 180 | - $properties['start_recur_time'] = 'PT_LONG:PSETID_Meeting:0xE'; // StartRecurTime |
|
| 181 | - $properties['end_recur_date'] = 'PT_LONG:PSETID_Meeting:0xF'; // EndRecurDate |
|
| 182 | - $properties['end_recur_time'] = 'PT_LONG:PSETID_Meeting:0x10'; // EndRecurTime |
|
| 183 | - $properties['is_exception'] = 'PT_BOOLEAN:PSETID_Meeting:0xA'; // LID_IS_EXCEPTION |
|
| 179 | + $properties['start_recur_date'] = 'PT_LONG:PSETID_Meeting:0xD'; // StartRecurTime |
|
| 180 | + $properties['start_recur_time'] = 'PT_LONG:PSETID_Meeting:0xE'; // StartRecurTime |
|
| 181 | + $properties['end_recur_date'] = 'PT_LONG:PSETID_Meeting:0xF'; // EndRecurDate |
|
| 182 | + $properties['end_recur_time'] = 'PT_LONG:PSETID_Meeting:0x10'; // EndRecurTime |
|
| 183 | + $properties['is_exception'] = 'PT_BOOLEAN:PSETID_Meeting:0xA'; // LID_IS_EXCEPTION |
|
| 184 | 184 | $properties['apptreplyname'] = 'PT_STRING8:PSETID_Appointment:0x8230'; |
| 185 | 185 | // Propose new time properties |
| 186 | 186 | $properties['proposed_start_whole'] = 'PT_SYSTIME:PSETID_Appointment:' . PidLidAppointmentProposedStartWhole; |
@@ -219,7 +219,7 @@ discard block |
||
| 219 | 219 | * |
| 220 | 220 | * @return bool returns true if this is a meeting request else false |
| 221 | 221 | */ |
| 222 | - public function isMeetingRequest(false|string $messageClass = false): bool { |
|
| 222 | + public function isMeetingRequest(false | string $messageClass = false): bool { |
|
| 223 | 223 | if ($messageClass === false) { |
| 224 | 224 | $messageClass = mapi_getprops($this->message, [PR_MESSAGE_CLASS])[PR_MESSAGE_CLASS] ?? false; |
| 225 | 225 | } |
@@ -234,7 +234,7 @@ discard block |
||
| 234 | 234 | * |
| 235 | 235 | * @return bool returns true if this is a meeting request else false |
| 236 | 236 | */ |
| 237 | - public function isMeetingRequestResponse(false|string $messageClass = false): bool { |
|
| 237 | + public function isMeetingRequestResponse(false | string $messageClass = false): bool { |
|
| 238 | 238 | if ($messageClass === false) { |
| 239 | 239 | $messageClass = mapi_getprops($this->message, [PR_MESSAGE_CLASS])[PR_MESSAGE_CLASS] ?? false; |
| 240 | 240 | } |
@@ -249,7 +249,7 @@ discard block |
||
| 249 | 249 | * |
| 250 | 250 | * @return bool returns true if this is a meeting request else false |
| 251 | 251 | */ |
| 252 | - public function isMeetingCancellation(false|string $messageClass = false): bool { |
|
| 252 | + public function isMeetingCancellation(false | string $messageClass = false): bool { |
|
| 253 | 253 | if ($messageClass === false) { |
| 254 | 254 | $messageClass = mapi_getprops($this->message, [PR_MESSAGE_CLASS])[PR_MESSAGE_CLASS] ?? false; |
| 255 | 255 | } |
@@ -262,7 +262,7 @@ discard block |
||
| 262 | 262 | * |
| 263 | 263 | * @return false|int false when last_updatecounter not found else return last_updatecounter |
| 264 | 264 | */ |
| 265 | - public function getLastUpdateCounter(): false|int { |
|
| 265 | + public function getLastUpdateCounter(): false | int { |
|
| 266 | 266 | $calendarItemProps = mapi_getprops($this->message, [$this->proptags['last_updatecounter']]); |
| 267 | 267 | |
| 268 | 268 | return $calendarItemProps[$this->proptags['last_updatecounter']] ?? false; |
@@ -532,7 +532,7 @@ discard block |
||
| 532 | 532 | $listProperties['rcvd_representing_search_key'] = PR_RCVD_REPRESENTING_SEARCH_KEY; |
| 533 | 533 | $messageProps = mapi_getprops($this->message, $listProperties); |
| 534 | 534 | |
| 535 | - $goid = $messageProps[$this->proptags['goid']]; // GlobalID (0x3) |
|
| 535 | + $goid = $messageProps[$this->proptags['goid']]; // GlobalID (0x3) |
|
| 536 | 536 | if (!isset($goid)) { |
| 537 | 537 | return; |
| 538 | 538 | } |
@@ -608,7 +608,7 @@ discard block |
||
| 608 | 608 | * |
| 609 | 609 | * @return bool|string $entryid entryid of item which created/updated in calendar |
| 610 | 610 | */ |
| 611 | - public function doAccept(bool $tentative, bool $sendresponse, bool $move, mixed $newProposedStartTime = false, mixed $newProposedEndTime = false, mixed $body = false, mixed $userAction = false, mixed $store = false, mixed $basedate = false, bool $isImported = false): bool|string { |
|
| 611 | + public function doAccept(bool $tentative, bool $sendresponse, bool $move, mixed $newProposedStartTime = false, mixed $newProposedEndTime = false, mixed $body = false, mixed $userAction = false, mixed $store = false, mixed $basedate = false, bool $isImported = false): bool | string { |
|
| 612 | 612 | if ($this->isLocalOrganiser()) { |
| 613 | 613 | return false; |
| 614 | 614 | } |
@@ -1259,7 +1259,7 @@ discard block |
||
| 1259 | 1259 | * @FIXME cancellation mail is also sent to attendee which has declined the meeting |
| 1260 | 1260 | * @FIXME don't send canellation mail when cancelling meeting from past |
| 1261 | 1261 | */ |
| 1262 | - public function doCancelInvitation(false|int $basedate = false): void { |
|
| 1262 | + public function doCancelInvitation(false | int $basedate = false): void { |
|
| 1263 | 1263 | if (!$this->isLocalOrganiser()) { |
| 1264 | 1264 | return; |
| 1265 | 1265 | } |
@@ -1338,7 +1338,7 @@ discard block |
||
| 1338 | 1338 | * |
| 1339 | 1339 | * @param mixed $basedate |
| 1340 | 1340 | */ |
| 1341 | - public function setMeetingRequest(false|int $basedate = false): void { |
|
| 1341 | + public function setMeetingRequest(false | int $basedate = false): void { |
|
| 1342 | 1342 | $props = mapi_getprops($this->message, [$this->proptags['updatecounter']]); |
| 1343 | 1343 | |
| 1344 | 1344 | // Create a new global id for this item |
@@ -1374,7 +1374,7 @@ discard block |
||
| 1374 | 1374 | $props[$this->proptags['goid2']] = $goid; |
| 1375 | 1375 | |
| 1376 | 1376 | if (!isset($props[$this->proptags['updatecounter']])) { |
| 1377 | - $props[$this->proptags['updatecounter']] = 0; // OL also starts sequence no with zero. |
|
| 1377 | + $props[$this->proptags['updatecounter']] = 0; // OL also starts sequence no with zero. |
|
| 1378 | 1378 | $props[$this->proptags['last_updatecounter']] = 0; |
| 1379 | 1379 | } |
| 1380 | 1380 | |
@@ -1393,7 +1393,7 @@ discard block |
||
| 1393 | 1393 | * |
| 1394 | 1394 | * @psalm-return array{error: 1|3|4, displayname: mixed}|true |
| 1395 | 1395 | */ |
| 1396 | - public function sendMeetingRequest(mixed $cancel, mixed $prefix = false, mixed $basedate = false, mixed $modifiedRecips = false, mixed $deletedRecips = false): array|true { |
|
| 1396 | + public function sendMeetingRequest(mixed $cancel, mixed $prefix = false, mixed $basedate = false, mixed $modifiedRecips = false, mixed $deletedRecips = false): array | true { |
|
| 1397 | 1397 | $this->includesResources = false; |
| 1398 | 1398 | $this->nonAcceptingResources = []; |
| 1399 | 1399 | |
@@ -1494,7 +1494,7 @@ discard block |
||
| 1494 | 1494 | * |
| 1495 | 1495 | * @param mixed $basedate |
| 1496 | 1496 | */ |
| 1497 | - public function updateMeetingRequest(false|int $basedate = false): void { |
|
| 1497 | + public function updateMeetingRequest(false | int $basedate = false): void { |
|
| 1498 | 1498 | $messageprops = mapi_getprops($this->message, [$this->proptags['last_updatecounter'], $this->proptags['goid']]); |
| 1499 | 1499 | |
| 1500 | 1500 | if (!isset($messageprops[$this->proptags['goid']])) { |
@@ -1524,7 +1524,7 @@ discard block |
||
| 1524 | 1524 | |
| 1525 | 1525 | $calendarItem = $isMeetingMessage ? |
| 1526 | 1526 | $this->getCorrespondentCalendarItem(true) : // Meeting request/response/cancellation mail |
| 1527 | - $this->message; // Calendar item |
|
| 1527 | + $this->message; // Calendar item |
|
| 1528 | 1528 | |
| 1529 | 1529 | // Even if we have received request/response for exception/occurrence then also |
| 1530 | 1530 | // we can check recurring series for organizer, no need to check with exception/occurrence |
@@ -1607,7 +1607,7 @@ discard block |
||
| 1607 | 1607 | * |
| 1608 | 1608 | * @return bool|string default calendar folder of store |
| 1609 | 1609 | */ |
| 1610 | - public function getDefaultWastebasketEntryID(mixed $store = false): bool|string { |
|
| 1610 | + public function getDefaultWastebasketEntryID(mixed $store = false): bool | string { |
|
| 1611 | 1611 | return $this->getBaseEntryID(PR_IPM_WASTEBASKET_ENTRYID, $store); |
| 1612 | 1612 | } |
| 1613 | 1613 | |
@@ -1618,7 +1618,7 @@ discard block |
||
| 1618 | 1618 | * |
| 1619 | 1619 | * @return bool|string default sent mail folder of store |
| 1620 | 1620 | */ |
| 1621 | - public function getDefaultSentmailEntryID(mixed $store = false): bool|string { |
|
| 1621 | + public function getDefaultSentmailEntryID(mixed $store = false): bool | string { |
|
| 1622 | 1622 | return $this->getBaseEntryID(PR_IPM_SENTMAIL_ENTRYID, $store); |
| 1623 | 1623 | } |
| 1624 | 1624 | |
@@ -1632,7 +1632,7 @@ discard block |
||
| 1632 | 1632 | * |
| 1633 | 1633 | * @return bool|string entryid of folder pointed by $prop |
| 1634 | 1634 | */ |
| 1635 | - public function getDefaultFolderEntryID(int $prop, mixed $store = false): bool|string { |
|
| 1635 | + public function getDefaultFolderEntryID(int $prop, mixed $store = false): bool | string { |
|
| 1636 | 1636 | try { |
| 1637 | 1637 | $inbox = mapi_msgstore_getreceivefolder($store ?: $this->store); |
| 1638 | 1638 | $inboxprops = mapi_getprops($inbox, [$prop]); |
@@ -1674,7 +1674,7 @@ discard block |
||
| 1674 | 1674 | * |
| 1675 | 1675 | * @return bool|string entryid of default folder from store |
| 1676 | 1676 | */ |
| 1677 | - public function getBaseEntryID(int $prop, mixed $store = false): bool|string { |
|
| 1677 | + public function getBaseEntryID(int $prop, mixed $store = false): bool | string { |
|
| 1678 | 1678 | $storeprops = mapi_getprops($store ?: $this->store, [$prop]); |
| 1679 | 1679 | |
| 1680 | 1680 | return $storeprops[$prop] ?? false; |
@@ -2032,7 +2032,7 @@ discard block |
||
| 2032 | 2032 | } |
| 2033 | 2033 | |
| 2034 | 2034 | // Gets the SMTP address of the passed addressbook entryid |
| 2035 | - public function getSMTPAddress(string $entryid): false|string { |
|
| 2035 | + public function getSMTPAddress(string $entryid): false | string { |
|
| 2036 | 2036 | if (!$this->session) { |
| 2037 | 2037 | return false; |
| 2038 | 2038 | } |
@@ -2071,7 +2071,7 @@ discard block |
||
| 2071 | 2071 | * |
| 2072 | 2072 | * @psalm-return false|list{mixed, mixed, mixed, mixed, mixed} |
| 2073 | 2073 | */ |
| 2074 | - public function getOwnerAddress(mixed $store, bool $fallbackToLoggedInUser = true): array|false { |
|
| 2074 | + public function getOwnerAddress(mixed $store, bool $fallbackToLoggedInUser = true): array | false { |
|
| 2075 | 2075 | if (!$this->session) { |
| 2076 | 2076 | return false; |
| 2077 | 2077 | } |
@@ -2080,8 +2080,7 @@ discard block |
||
| 2080 | 2080 | |
| 2081 | 2081 | // Determine owner entry ID: use mailbox owner if not falling back, otherwise use user entry ID |
| 2082 | 2082 | $ownerEntryId = (!$fallbackToLoggedInUser && !empty($storeProps[PR_MAILBOX_OWNER_ENTRYID])) ? |
| 2083 | - $storeProps[PR_MAILBOX_OWNER_ENTRYID] : |
|
| 2084 | - ($storeProps[PR_USER_ENTRYID] ?? false); |
|
| 2083 | + $storeProps[PR_MAILBOX_OWNER_ENTRYID] : ($storeProps[PR_USER_ENTRYID] ?? false); |
|
| 2085 | 2084 | |
| 2086 | 2085 | if (!$ownerEntryId) { |
| 2087 | 2086 | return false; |
@@ -2187,7 +2186,7 @@ discard block |
||
| 2187 | 2186 | * |
| 2188 | 2187 | * @return false|int true if basedate is found else false it not found |
| 2189 | 2188 | */ |
| 2190 | - public function getBasedateFromGlobalID(string $goid): false|int { |
|
| 2189 | + public function getBasedateFromGlobalID(string $goid): false | int { |
|
| 2191 | 2190 | $hexguid = bin2hex($goid); |
| 2192 | 2191 | $hexbase = substr($hexguid, 32, 8); |
| 2193 | 2192 | $day = (int) hexdec(substr($hexbase, 6, 2)); |
@@ -2206,7 +2205,7 @@ discard block |
||
| 2206 | 2205 | * |
| 2207 | 2206 | * @return false|string globalID with basedate in it |
| 2208 | 2207 | */ |
| 2209 | - public function setBasedateInGlobalID(string $goid, false|int $basedate = false, ?BaseRecurrence $recurrence = null): false|string { |
|
| 2208 | + public function setBasedateInGlobalID(string $goid, false | int $basedate = false, ?BaseRecurrence $recurrence = null): false | string { |
|
| 2210 | 2209 | $hexguid = bin2hex($goid); |
| 2211 | 2210 | $timestamp = $basedate; |
| 2212 | 2211 | |
@@ -2353,7 +2352,7 @@ discard block |
||
| 2353 | 2352 | $getResourcesRestriction = [ |
| 2354 | 2353 | RES_PROPERTY, |
| 2355 | 2354 | [ |
| 2356 | - RELOP => RELOP_EQ, // Equals recipient type 3: Resource |
|
| 2355 | + RELOP => RELOP_EQ, // Equals recipient type 3: Resource |
|
| 2357 | 2356 | ULPROPTAG => PR_RECIPIENT_TYPE, |
| 2358 | 2357 | VALUE => [PR_RECIPIENT_TYPE => MAPI_BCC], |
| 2359 | 2358 | ], |
@@ -2814,7 +2813,7 @@ discard block |
||
| 2814 | 2813 | $restriction[1][] = [ |
| 2815 | 2814 | RES_PROPERTY, |
| 2816 | 2815 | [ |
| 2817 | - RELOP => RELOP_NE, // Does not equal recipient type: MAPI_BCC (Resource) |
|
| 2816 | + RELOP => RELOP_NE, // Does not equal recipient type: MAPI_BCC (Resource) |
|
| 2818 | 2817 | ULPROPTAG => PR_RECIPIENT_TYPE, |
| 2819 | 2818 | VALUE => [PR_RECIPIENT_TYPE => MAPI_BCC], |
| 2820 | 2819 | ], |
@@ -2911,7 +2910,7 @@ discard block |
||
| 2911 | 2910 | $stripResourcesRestriction[1][] = [ |
| 2912 | 2911 | RES_PROPERTY, |
| 2913 | 2912 | [ |
| 2914 | - RELOP => RELOP_NE, // Does not equal recipient type: MAPI_BCC (Resource) |
|
| 2913 | + RELOP => RELOP_NE, // Does not equal recipient type: MAPI_BCC (Resource) |
|
| 2915 | 2914 | ULPROPTAG => PR_RECIPIENT_TYPE, |
| 2916 | 2915 | VALUE => [PR_RECIPIENT_TYPE => MAPI_BCC], |
| 2917 | 2916 | ], |
@@ -3015,7 +3014,7 @@ discard block |
||
| 3015 | 3014 | $newmessageprops[PR_MESSAGE_CLASS] = 'IPM.Schedule.Meeting.Canceled'; |
| 3016 | 3015 | $newmessageprops[$this->proptags['meetingstatus']] = olMeetingCanceled; // It's a cancel request |
| 3017 | 3016 | $newmessageprops[$this->proptags['busystatus']] = fbFree; // set the busy status as free |
| 3018 | - $newmessageprops[PR_IMPORTANCE] = IMPORTANCE_HIGH; // HIGH Importance |
|
| 3017 | + $newmessageprops[PR_IMPORTANCE] = IMPORTANCE_HIGH; // HIGH Importance |
|
| 3019 | 3018 | if (isset($newmessageprops[PR_SUBJECT])) { |
| 3020 | 3019 | $newmessageprops[PR_SUBJECT] = _('Canceled') . ': ' . $newmessageprops[PR_SUBJECT]; |
| 3021 | 3020 | } |
@@ -3199,7 +3198,7 @@ discard block |
||
| 3199 | 3198 | * |
| 3200 | 3199 | * @return bool true if meeting request is updated later |
| 3201 | 3200 | */ |
| 3202 | - public function isMeetingUpdated(false|int $basedate = false): bool { |
|
| 3201 | + public function isMeetingUpdated(false | int $basedate = false): bool { |
|
| 3203 | 3202 | $result = false; |
| 3204 | 3203 | |
| 3205 | 3204 | $props = mapi_getprops($this->message, [PR_MESSAGE_CLASS, $this->proptags['updatecounter']]); |
@@ -3424,7 +3423,7 @@ discard block |
||
| 3424 | 3423 | * |
| 3425 | 3424 | * @psalm-return bool|int<1, max> |
| 3426 | 3425 | */ |
| 3427 | - public function isMeetingConflicting(mixed $message = false, mixed $userStore = false, mixed $calFolder = false): bool|int { |
|
| 3426 | + public function isMeetingConflicting(mixed $message = false, mixed $userStore = false, mixed $calFolder = false): bool | int { |
|
| 3428 | 3427 | $returnValue = false; |
| 3429 | 3428 | $noOfInstances = 0; |
| 3430 | 3429 | |
@@ -3619,7 +3618,7 @@ discard block |
||
| 3619 | 3618 | * |
| 3620 | 3619 | * @return false|string $meetingTimeInfo info about meeting timing along with message body |
| 3621 | 3620 | */ |
| 3622 | - public function getMeetingTimeInfo(): false|string { |
|
| 3621 | + public function getMeetingTimeInfo(): false | string { |
|
| 3623 | 3622 | return $this->meetingTimeInfo; |
| 3624 | 3623 | } |
| 3625 | 3624 | |
@@ -3629,7 +3628,7 @@ discard block |
||
| 3629 | 3628 | * |
| 3630 | 3629 | * @param string $meetingTimeInfo info about meeting timing along with message body |
| 3631 | 3630 | */ |
| 3632 | - public function setMeetingTimeInfo(false|string $meetingTimeInfo): void { |
|
| 3631 | + public function setMeetingTimeInfo(false | string $meetingTimeInfo): void { |
|
| 3633 | 3632 | $this->meetingTimeInfo = $meetingTimeInfo; |
| 3634 | 3633 | } |
| 3635 | 3634 | |
@@ -3832,8 +3831,7 @@ discard block |
||
| 3832 | 3831 | $recipientTable = mapi_message_getrecipienttable($message); |
| 3833 | 3832 | |
| 3834 | 3833 | return empty($restriction) ? |
| 3835 | - mapi_table_queryallrows($recipientTable, $this->recipprops) : |
|
| 3836 | - mapi_table_queryallrows($recipientTable, $this->recipprops, $restriction); |
|
| 3834 | + mapi_table_queryallrows($recipientTable, $this->recipprops) : mapi_table_queryallrows($recipientTable, $this->recipprops, $restriction); |
|
| 3837 | 3835 | } |
| 3838 | 3836 | |
| 3839 | 3837 | /** |
@@ -1414,7 +1414,7 @@ discard block |
||
| 1414 | 1414 | if ($this->tz["timezone"] != 0) { |
| 1415 | 1415 | // Create user readable timezone information |
| 1416 | 1416 | $timezone = sprintf( |
| 1417 | - "(GMT %s%02d:%02d)",-$this->tz["timezone"] > 0 ? "+" : "-", |
|
| 1417 | + "(GMT %s%02d:%02d)", -$this->tz["timezone"] > 0 ? "+" : "-", |
|
| 1418 | 1418 | abs($this->tz["timezone"] / 60), |
| 1419 | 1419 | abs($this->tz["timezone"] % 60) |
| 1420 | 1420 | ); |
@@ -1447,7 +1447,7 @@ discard block |
||
| 1447 | 1447 | * |
| 1448 | 1448 | * @return float|int the converted date in minutes |
| 1449 | 1449 | */ |
| 1450 | - public function unixDataToRecurData(int $date): float|int { |
|
| 1450 | + public function unixDataToRecurData(int $date): float | int { |
|
| 1451 | 1451 | return ($date / 60) + 194074560; |
| 1452 | 1452 | } |
| 1453 | 1453 | |
@@ -1456,7 +1456,7 @@ discard block |
||
| 1456 | 1456 | * |
| 1457 | 1457 | * @author Steve Hardy |
| 1458 | 1458 | */ |
| 1459 | - public function GetTZOffset(mixed $ts): float|int { |
|
| 1459 | + public function GetTZOffset(mixed $ts): float | int { |
|
| 1460 | 1460 | $Offset = date("O", $ts); |
| 1461 | 1461 | |
| 1462 | 1462 | $Parity = $Offset < 0 ? -1 : 1; |
@@ -1481,11 +1481,11 @@ discard block |
||
| 1481 | 1481 | return localtime($t_time, 1); |
| 1482 | 1482 | } |
| 1483 | 1483 | |
| 1484 | - public function isLeapYear(float|string $year): bool { |
|
| 1484 | + public function isLeapYear(float | string $year): bool { |
|
| 1485 | 1485 | return $year % 4 == 0 && ($year % 100 != 0 || $year % 400 == 0); |
| 1486 | 1486 | } |
| 1487 | 1487 | |
| 1488 | - public function getMonthInSeconds(float|string $year, int|string $month): int { |
|
| 1488 | + public function getMonthInSeconds(float | string $year, int | string $month): int { |
|
| 1489 | 1489 | if (in_array($month, [1, 3, 5, 7, 8, 10, 12], true)) { |
| 1490 | 1490 | $day = 31; |
| 1491 | 1491 | } |
@@ -1573,7 +1573,7 @@ discard block |
||
| 1573 | 1573 | * in Outlook calendar messages. Returns the timezone in minutes negative |
| 1574 | 1574 | * offset (GMT +2:00 -> -120). |
| 1575 | 1575 | */ |
| 1576 | - public function parseTimezone(mixed $data): array|false|null { |
|
| 1576 | + public function parseTimezone(mixed $data): array | false | null { |
|
| 1577 | 1577 | if (strlen((string) $data) < 48) { |
| 1578 | 1578 | return null; |
| 1579 | 1579 | } |
@@ -1581,7 +1581,7 @@ discard block |
||
| 1581 | 1581 | return unpack("ltimezone/lunk/ltimezonedst/lunk/ldstendmonth/vdstendweek/vdstendhour/lunk/lunk/vunk/ldststartmonth/vdststartweek/vdststarthour/lunk/vunk", (string) $data); |
| 1582 | 1582 | } |
| 1583 | 1583 | |
| 1584 | - public function getTimezoneData(mixed $tz): false|string { |
|
| 1584 | + public function getTimezoneData(mixed $tz): false | string { |
|
| 1585 | 1585 | return pack("lllllvvllvlvvlv", $tz["timezone"], 0, $tz["timezonedst"], 0, $tz["dstendmonth"], $tz["dstendweek"], $tz["dstendhour"], 0, 0, 0, $tz["dststartmonth"], $tz["dststartweek"], $tz["dststarthour"], 0, 0); |
| 1586 | 1586 | } |
| 1587 | 1587 | |
@@ -1617,7 +1617,7 @@ discard block |
||
| 1617 | 1617 | * |
| 1618 | 1618 | * @return false|int timestamp referring to same day but at 00:00:00 |
| 1619 | 1619 | */ |
| 1620 | - public function dayStartOf(int $date): false|int { |
|
| 1620 | + public function dayStartOf(int $date): false | int { |
|
| 1621 | 1621 | $time1 = $this->gmtime($date); |
| 1622 | 1622 | |
| 1623 | 1623 | return gmmktime(0, 0, 0, $time1["tm_mon"] + 1, $time1["tm_mday"], $time1["tm_year"] + 1900); |
@@ -1630,7 +1630,7 @@ discard block |
||
| 1630 | 1630 | * |
| 1631 | 1631 | * @return false|int Timestamp referring to same month but on the first day, and at 00:00:00 |
| 1632 | 1632 | */ |
| 1633 | - public function monthStartOf(int $date): false|int { |
|
| 1633 | + public function monthStartOf(int $date): false | int { |
|
| 1634 | 1634 | $time1 = $this->gmtime($date); |
| 1635 | 1635 | |
| 1636 | 1636 | return gmmktime(0, 0, 0, $time1["tm_mon"] + 1, 1, $time1["tm_year"] + 1900); |
@@ -1643,7 +1643,7 @@ discard block |
||
| 1643 | 1643 | * |
| 1644 | 1644 | * @return false|int Timestamp referring to the same year but on Jan 01, at 00:00:00 |
| 1645 | 1645 | */ |
| 1646 | - public function yearStartOf(int $date): false|int { |
|
| 1646 | + public function yearStartOf(int $date): false | int { |
|
| 1647 | 1647 | $time1 = $this->gmtime($date); |
| 1648 | 1648 | |
| 1649 | 1649 | return gmmktime(0, 0, 0, 1, 1, $time1["tm_year"] + 1900); |
@@ -1909,7 +1909,7 @@ discard block |
||
| 1909 | 1909 | } |
| 1910 | 1910 | elseif ($this->recur['regen']) { |
| 1911 | 1911 | $year_starttime = $this->gmtime($now); |
| 1912 | - $is_next_leapyear = $this->isLeapYear($year_starttime['tm_year'] + 1900 + 1); // +1 next year |
|
| 1912 | + $is_next_leapyear = $this->isLeapYear($year_starttime['tm_year'] + 1900 + 1); // +1 next year |
|
| 1913 | 1913 | $now = $daystart + ($is_next_leapyear ? 31622400 /* Leap year in seconds */ : 31536000 /* year in seconds */); |
| 1914 | 1914 | |
| 1915 | 1915 | if ($now <= $dayend) { |
@@ -1955,7 +1955,7 @@ discard block |
||
| 1955 | 1955 | * |
| 1956 | 1956 | * @return float|int number of days in the specified amount of months |
| 1957 | 1957 | */ |
| 1958 | - public function daysInMonth(int $date, int $months): float|int { |
|
| 1958 | + public function daysInMonth(int $date, int $months): float | int { |
|
| 1959 | 1959 | $days = 0; |
| 1960 | 1960 | |
| 1961 | 1961 | for ($i = 0; $i < $months; ++$i) { |
@@ -2035,5 +2035,5 @@ discard block |
||
| 2035 | 2035 | return $item; |
| 2036 | 2036 | } |
| 2037 | 2037 | |
| 2038 | - abstract public function processOccurrenceItem(array &$items, false|int $start, int $end, false|int $basedate, mixed $startocc, mixed $endocc, mixed $tz, mixed $reminderonly): ?false; |
|
| 2038 | + abstract public function processOccurrenceItem(array &$items, false | int $start, int $end, false | int $basedate, mixed $startocc, mixed $endocc, mixed $tz, mixed $reminderonly): ?false; |
|
| 2039 | 2039 | } |
@@ -72,7 +72,7 @@ discard block |
||
| 72 | 72 | * |
| 73 | 73 | * @return array|bool of properties of regenerated task else false |
| 74 | 74 | */ |
| 75 | - public function setRecurrence(mixed &$recur): array|bool { |
|
| 75 | + public function setRecurrence(mixed &$recur): array | bool { |
|
| 76 | 76 | $this->recur = $recur; |
| 77 | 77 | $this->action = &$recur; |
| 78 | 78 | |
@@ -124,7 +124,7 @@ discard block |
||
| 124 | 124 | * @return array|bool properties of newly created task if moving to next occurrence succeeds |
| 125 | 125 | * false if that was last occurrence |
| 126 | 126 | */ |
| 127 | - public function moveToNextOccurrence(): array|bool { |
|
| 127 | + public function moveToNextOccurrence(): array | bool { |
|
| 128 | 128 | $result = false; |
| 129 | 129 | /* |
| 130 | 130 | * Every recurring task should have a 'duedate'. If a recurring task is created with no start/end date |
@@ -337,7 +337,7 @@ discard block |
||
| 337 | 337 | * |
| 338 | 338 | * @return array|bool of properties of regenerated task else false |
| 339 | 339 | */ |
| 340 | - public function markOccurrenceComplete(array &$recur): array|bool { |
|
| 340 | + public function markOccurrenceComplete(array &$recur): array | bool { |
|
| 341 | 341 | // Fix timezone object |
| 342 | 342 | $this->tz = false; |
| 343 | 343 | $this->action = &$recur; |
@@ -392,7 +392,7 @@ discard block |
||
| 392 | 392 | * Function which recurring task to next occurrence. |
| 393 | 393 | * It simply doesn't regenerate task. |
| 394 | 394 | */ |
| 395 | - public function deleteOccurrence(array $action): array|bool { |
|
| 395 | + public function deleteOccurrence(array $action): array | bool { |
|
| 396 | 396 | $this->tz = false; |
| 397 | 397 | $this->action = $action; |
| 398 | 398 | $result = $this->moveToNextOccurrence(); |
@@ -236,8 +236,7 @@ discard block |
||
| 236 | 236 | $propTag = $this->proptags[$propKey]; |
| 237 | 237 | if (array_key_exists($propTag, $exception_props)) { |
| 238 | 238 | $extomodify[$mapping["target"]] = $mapping["transform"] ? |
| 239 | - $this->fromGMT($this->tz, $exception_props[$propTag]) : |
|
| 240 | - $exception_props[$propTag]; |
|
| 239 | + $this->fromGMT($this->tz, $exception_props[$propTag]) : $exception_props[$propTag]; |
|
| 241 | 240 | } |
| 242 | 241 | } |
| 243 | 242 | |
@@ -423,7 +422,7 @@ discard block |
||
| 423 | 422 | * |
| 424 | 423 | * @param mixed $timestamp |
| 425 | 424 | */ |
| 426 | - public function getNextReminderTime(int $timestamp): false|int { |
|
| 425 | + public function getNextReminderTime(int $timestamp): false | int { |
|
| 427 | 426 | /** |
| 428 | 427 | * Get next item from now until forever, but max 1 item with reminder set |
| 429 | 428 | * Note 0x7ff00000 instead of 0x7fffffff because of possible overflow failures when converting to GMT.... |
@@ -618,11 +617,8 @@ discard block |
||
| 618 | 617 | public function getOccDate(bool $getStart = true): mixed { |
| 619 | 618 | return $getStart ? |
| 620 | 619 | (isset($this->recur['startocc']) ? |
| 621 | - $this->recur['start'] + (((int) $this->recur['startocc']) * 60) : |
|
| 622 | - $this->recur['start']) : |
|
| 623 | - (isset($this->recur['endocc']) ? |
|
| 624 | - $this->recur['start'] + (((int) $this->recur['endocc']) * 60) : |
|
| 625 | - $this->recur['end']); |
|
| 620 | + $this->recur['start'] + (((int) $this->recur['startocc']) * 60) : $this->recur['start']) : (isset($this->recur['endocc']) ? |
|
| 621 | + $this->recur['start'] + (((int) $this->recur['endocc']) * 60) : $this->recur['end']); |
|
| 626 | 622 | } |
| 627 | 623 | |
| 628 | 624 | /** |
@@ -655,8 +651,7 @@ discard block |
||
| 655 | 651 | $end, |
| 656 | 652 | $startocc, |
| 657 | 653 | $endocc |
| 658 | - ) : |
|
| 659 | - sprintf( |
|
| 654 | + ) : sprintf( |
|
| 660 | 655 | _('Occurs every %s %s effective %s until %s from %s to %s.'), |
| 661 | 656 | $interval, |
| 662 | 657 | $type, |
@@ -665,16 +660,14 @@ discard block |
||
| 665 | 660 | $startocc, |
| 666 | 661 | $endocc |
| 667 | 662 | ) |
| 668 | - ) : |
|
| 669 | - ( |
|
| 663 | + ) : ( |
|
| 670 | 664 | $occSingleDayRank ? |
| 671 | 665 | sprintf( |
| 672 | 666 | _('Occurs every %s effective %s until %s.'), |
| 673 | 667 | $type, |
| 674 | 668 | $start, |
| 675 | 669 | $end |
| 676 | - ) : |
|
| 677 | - sprintf( |
|
| 670 | + ) : sprintf( |
|
| 678 | 671 | _('Occurs every %s %s effective %s until %s.'), |
| 679 | 672 | $interval, |
| 680 | 673 | $type, |
@@ -713,8 +706,7 @@ discard block |
||
| 713 | 706 | $numocc, |
| 714 | 707 | $startocc, |
| 715 | 708 | $endocc |
| 716 | - ) : |
|
| 717 | - sprintf( |
|
| 709 | + ) : sprintf( |
|
| 718 | 710 | dngettext( |
| 719 | 711 | 'zarafa', |
| 720 | 712 | 'Occurs every %s %s effective %s for %s occurrence from %s to %s.', |
@@ -728,8 +720,7 @@ discard block |
||
| 728 | 720 | $startocc, |
| 729 | 721 | $endocc |
| 730 | 722 | ) |
| 731 | - ) : |
|
| 732 | - ( |
|
| 723 | + ) : ( |
|
| 733 | 724 | $occSingleDayRank ? |
| 734 | 725 | sprintf( |
| 735 | 726 | dngettext( |
@@ -741,8 +732,7 @@ discard block |
||
| 741 | 732 | $type, |
| 742 | 733 | $start, |
| 743 | 734 | $numocc |
| 744 | - ) : |
|
| 745 | - sprintf( |
|
| 735 | + ) : sprintf( |
|
| 746 | 736 | dngettext( |
| 747 | 737 | 'zarafa', |
| 748 | 738 | 'Occurs every %s %s effective %s for %s occurrence.', |
@@ -778,8 +768,7 @@ discard block |
||
| 778 | 768 | $start, |
| 779 | 769 | $startocc, |
| 780 | 770 | $endocc |
| 781 | - ) : |
|
| 782 | - sprintf( |
|
| 771 | + ) : sprintf( |
|
| 783 | 772 | _('Occurs every %s %s effective %s from %s to %s.'), |
| 784 | 773 | $interval, |
| 785 | 774 | $type, |
@@ -787,15 +776,13 @@ discard block |
||
| 787 | 776 | $startocc, |
| 788 | 777 | $endocc |
| 789 | 778 | ) |
| 790 | - ) : |
|
| 791 | - ( |
|
| 779 | + ) : ( |
|
| 792 | 780 | $occSingleDayRank ? |
| 793 | 781 | sprintf( |
| 794 | 782 | _('Occurs every %s effective %s.'), |
| 795 | 783 | $type, |
| 796 | 784 | $start |
| 797 | - ) : |
|
| 798 | - sprintf( |
|
| 785 | + ) : sprintf( |
|
| 799 | 786 | _('Occurs every %s %s effective %s.'), |
| 800 | 787 | $interval, |
| 801 | 788 | $type, |
@@ -1172,7 +1159,7 @@ discard block |
||
| 1172 | 1159 | * |
| 1173 | 1160 | * @param mixed $basedate |
| 1174 | 1161 | */ |
| 1175 | - public function getChangeException(int $basedate): array|false { |
|
| 1162 | + public function getChangeException(int $basedate): array | false { |
|
| 1176 | 1163 | // Check if the occurrence is modified on the specified date |
| 1177 | 1164 | foreach ($this->recur["changed_occurrences"] as $changed) { |
| 1178 | 1165 | if ($this->isSameDay($changed["basedate"], $basedate)) { |
@@ -1260,7 +1247,7 @@ discard block |
||
| 1260 | 1247 | else { |
| 1261 | 1248 | $recip[PR_RECIPIENT_FLAGS] = recipReserved | recipExceptionalDeleted | recipSendable; |
| 1262 | 1249 | } |
| 1263 | - $recip[PR_RECIPIENT_TRACKSTATUS] = olResponseNone; // No Response required |
|
| 1250 | + $recip[PR_RECIPIENT_TRACKSTATUS] = olResponseNone; // No Response required |
|
| 1264 | 1251 | } |
| 1265 | 1252 | unset($recip); |
| 1266 | 1253 | mapi_message_modifyrecipients($exception, MODRECIP_MODIFY, $exception_recips['remove']); |
@@ -1335,7 +1322,7 @@ discard block |
||
| 1335 | 1322 | else { |
| 1336 | 1323 | $recipient[PR_RECIPIENT_FLAGS] = recipReserved | recipExceptionalDeleted | recipSendable; |
| 1337 | 1324 | } |
| 1338 | - $recipient[PR_RECIPIENT_TRACKSTATUS] = olRecipientTrackStatusNone; // No Response required |
|
| 1325 | + $recipient[PR_RECIPIENT_TRACKSTATUS] = olRecipientTrackStatusNone; // No Response required |
|
| 1339 | 1326 | $deletedRecipients[] = $recipient; |
| 1340 | 1327 | } |
| 1341 | 1328 | } |
@@ -1369,7 +1356,7 @@ discard block |
||
| 1369 | 1356 | * |
| 1370 | 1357 | * @psalm-return false|list<mixed> |
| 1371 | 1358 | */ |
| 1372 | - public function getAllExceptions(): array|false { |
|
| 1359 | + public function getAllExceptions(): array | false { |
|
| 1373 | 1360 | if (!empty($this->recur["changed_occurrences"])) { |
| 1374 | 1361 | $result = []; |
| 1375 | 1362 | foreach ($this->recur["changed_occurrences"] as $exception) { |