Как генерируется уникальный идентификатор в сахарных модулях crm, таких как модуль электронной почты? - PullRequest
1 голос
/ 21 февраля 2012

Нужно знать, как работает функция "create_guid" и как она генерирует IDs для различных модулей, например, модуля Emails?

Ответы [ 2 ]

4 голосов
/ 22 февраля 2012

Вы можете просто назвать это как

$next_meeting->id = create_guid();

, например, в логическом хуке.Сама функция помещена в файл /include/utils.php.

Конечно, вы должны сохранить вновь сгенерированный компонент с помощью

$next_meeting->save();
2 голосов
/ 12 октября 2017

Вам нужно будет позвонить следующим образом:

$Module_Bean->new_with_id = true; 
$Module_Bean->id = create_guid();

Обратите внимание, что если вы присвоили свой собственный идентификатор с помощью функции create_guid, то необходимо также установить "new_with_id". Вы можете найти функцию по этому пути: include \ utils.php

Ниже приводится тело функции:

function create_guid()
{
    $microTime = microtime();
    list($a_dec, $a_sec) = explode(' ', $microTime);

    $dec_hex = dechex($a_dec * 1000000);
    $sec_hex = dechex($a_sec);

    ensure_length($dec_hex, 5);
    ensure_length($sec_hex, 6);

    $guid = '';
    $guid .= $dec_hex;
    $guid .= create_guid_section(3);
    $guid .= '-';
    $guid .= create_guid_section(4);
    $guid .= '-';
    $guid .= create_guid_section(4);
    $guid .= '-';
    $guid .= create_guid_section(4);
    $guid .= '-';
    $guid .= $sec_hex;
    $guid .= create_guid_section(6);

    return $guid;
}
...