static function getCompatEntities()
{
static $compatEntities;
if ($compatEntities)
{
return $compatEntities;
}
$compatEntities = [
'user' => [
'prefix' => 'U',
'pattern' => '^(?U)(?d+)$',
'reversePrefix' => 'U',
'reversePattern' => '^(?d+)$'
],
'project' => [
'prefix' => 'SG',
'pattern' => '^(?SG)(?d+)$',
'reversePrefix' => 'SG',
'reversePattern' => '^(?d+)$'
],
'crm-company' => [
'prefix' => 'CRMCOMPANY',
'pattern' => '^(?CRMCOMPANY)(?.+)$',
'reversePrefix' => 'CRMCOMPANY',
'reversePattern' => '^(?d+)$'
],
'crm-contact' => [
'prefix' => 'CRMCONTACT',
'pattern' => '^(?CRMCONTACT)(?.+)$',
'reversePrefix' => 'CRMCONTACT',
'reversePattern' => '^(?d+)$'
],
'crm-lead' => [
'prefix' => 'CRMLEAD',
'pattern' => '^(?CRMLEAD)(?.+)$',
'reversePrefix' => 'CRMLEAD',
'reversePattern' => '^(?d+)$'
],
'crm-deal' => [
'prefix' => 'CRMDEAL',
'pattern' => '^(?CRMDEAL)(?.+)$',
'reversePrefix' => 'CRMDEAL',
'reversePattern' => '^(?d+)$'
],
'crm-quote' => [
'prefix' => 'CRMQUOTE',
'pattern' => '^(?CRMQUOTE)(?.+)$',
'reversePrefix' => 'CRMQUOTE',
'reversePattern' => '^(?d+)$'
],
'crm-order' => [
'prefix' => 'CRMORDER',
'pattern' => '^(?CRMORDER)(?.+)$',
'reversePrefix' => 'CRMORDER',
'reversePattern' => '^(?d+)$'
],
'crm-product' => [
'prefix' => 'CRMPRODUCT',
'pattern' => '^(?CRMPRODUCT)(?.+)$',
'reversePrefix' => 'CRMPRODUCT',
'reversePattern' => '^(?d+)$'
],
'mail-contact' => [
'prefix' => 'MC',
'pattern' => '^(?MC)(?[0-9]+)$',
'reversePrefix' => 'MC',
'reversePattern' => '^(?d+)$'
],
'department' => [
'prefix' => (function($itemId) {
return is_string($itemId) && $itemId[-1] === 'F' ? 'D' : 'DR';
}),
'itemId' => function($prefix, $itemId) {
return $prefix === 'D' ? $itemId.':F' : $itemId;
},
'pattern' => '^(?DR?)(?d+)$',
'reversePrefix' => (function($suffix) {
return $suffix === ':F' ? 'D' : 'DR';
}),
'reversePattern' => '^(?d+)(?.*)$'
],
];
return $compatEntities;
}