- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/server.php
- Класс: BitrixMainServer
- Вызов: Server::parseDigest
static function parseDigest($digest)
{
$data = [];
$parts = ['nonce' => 1, 'username' => 1, 'uri' => 1, 'response' => 1];
$keys = implode('|', array_keys($parts));
//from php help
preg_match_all('@('.$keys.')=(?:(['"])([^2]+?)2|([^s,]+))@', $digest, $matches, PREG_SET_ORDER);
foreach ($matches as $m)
{
$data[$m[1]] = ($m[3] ?: $m[4]);
unset($parts[$m[1]]);
}
return ($parts? false : $data);
}