File: /var/www/samok164/data/www2/culture-style.ru/rzgn/getHash.php
<?php
function getHash($url, $r4_cfg_root)
{
$u = parse_url(str_replace('&', '&', $url));
$kp = file("{$r4_cfg_root}r4_knownparams.list");
$known_params = Array();
foreach ($kp as $K)
{
$known_params[] = trim($K);
}
if (empty ($u['path'])) $u['path'] = '/';
$hash = Array ();
$hash['=p'] = $u['path'];
if (!empty ($u['query']))
{
$as = explode('&', $u['query']);
foreach ($as as $attr)
{
$pair = explode('=', $attr);
if (!empty($pair))
{
$v = '';
$k = '';
if (!empty($pair[1]))
{
if (preg_match('/[0-9a-fA-F]{32}/', $pair[1]))
{
continue;
}
$v = $pair[1];
}
if (!empty($pair[0]))
{
if (!in_array($pair[0], $known_params))
{
continue;
}
$k = $pair[0];
}
if ( !isset($hash[$k])) $hash[$k] = Array ();
$hash[$k][] = $v;
}
}
}
ksort($hash);
$hash = md5(serialize($hash));
return $hash;
}