Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F8197655
globalid_converter.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
globalid_converter.php
View Options
<?php
class
globalid_converter
extends
PHPUnit\Framework\TestCase
{
/**
* Test GlobalObjId encoding/decoding
*/
function
test_globalobjid
()
{
// https://learn.microsoft.com/en-us/openspecs/exchange_server_protocols/ms-asemail/e7424ddc-dd10-431e-a0b7-5c794863370e
$input
=
'BAAAAIIA4AB0xbcQGoLgCAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAAHZDYWwtVWlkAQAAAHs4MTQxMkQzQy0yQTI0LTRFOUQtQjIwRS0xMUY3QkJFOTI3OTl9AA=='
;
$output
=
kolab_sync_data_email
::
decodeGlobalObjId
(
$input
);
$this
->
assertSame
(
51
,
$output
[
'bytecount'
]);
$this
->
assertSame
(
'{81412D3C-2A24-4E9D-B20E-11F7BBE92799}'
,
$output
[
'uid'
]);
$encoded
=
kolab_sync_data_email
::
encodeGlobalObjId
(
$output
);
$this
->
assertSame
(
$encoded
,
$input
);
$input
=
'BAAAAIIA4AB0xbcQGoLgCAfUCRDgQMnBJoXEAQAAAAAAAAAAEAAAAAvw7UtuTulOnjnjhns3jvM='
;
$output
=
kolab_sync_data_email
::
decodeGlobalObjId
(
$input
);
$this
->
assertSame
(
16
,
$output
[
'bytecount'
]);
$this
->
assertSame
(
2004
,
$output
[
'year'
]);
$this
->
assertSame
(
9
,
$output
[
'month'
]);
$this
->
assertSame
(
16
,
$output
[
'day'
]);
$this
->
assertSame
(
127373090979660000
,
$output
[
'now'
]);
// This is how the "now" value is interpreted
// $winSecs = (int)($output['now'] / 10000000); // convert microseconds to seconds
// $unixTimestamp = ($winSecs - 11644473600); // subtract 1.1.1600 - 1.1.1970 difference in seconds
// print(date(DateTime::RFC822, $unixTimestamp));
$encoded
=
kolab_sync_data_email
::
encodeGlobalObjId
(
$output
);
$this
->
assertSame
(
$encoded
,
$input
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Wed, Jul 8, 5:29 PM (1 d, 8 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1051628
Default Alt Text
globalid_converter.php (1 KB)
Attached To
Mode
R4 syncroton
Attached
Detach File
Event Timeline
Log In to Comment