• Модуль: statistic
  • Путь к файлу: ~/bitrix/modules/statistic/classes/general/statevent.php
  • Класс: CAllStatEvent
  • Вызов: CAllStatEvent::DecodeGID
static function DecodeGID($EVENT_GID)
{
	$ar = explode(".",$EVENT_GID);
	$sid = intval($ar[1]);
	$gid = intval($ar[2]);
	$base64 = "Y";

	if ((count($ar)==6 || count($ar)==7) && $sid>0 && $gid>0 && mb_strlen($ar[1]) == mb_strlen($sid) && mb_strlen($ar[2]) == mb_strlen($gid)) $base64 = "N";
	if ($base64=="Y")
	{
		$group_site_id = GetStatGroupSiteID();
		$s = mb_substr($EVENT_GID, mb_strlen($group_site_id) + 1, mb_strlen($EVENT_GID));
		$EVENT_GID = $group_site_id.".".base64_decode($s);
	}
	$arr = explode(".",$EVENT_GID);
	$SESSION_ID = (intval($arr[1])>0) ? intval($arr[1]) : "";
	$GUEST_ID = (intval($arr[2])>0) ? intval($arr[2]) : "";
	$COUNTRY_ID = ($arr[3] <> '') ? $arr[3] : "";
	$ADV_ID = (intval($arr[4])>0) ? intval($arr[4]) : "";
	$ADV_BACK = ($arr[5]=="Y" || $arr[5]=="N") ? $arr[5] : "";
	$SITE_ID = ($arr[6] <> '') ? $arr[6] : "";

	$arrRes = array(
		"SESSION_ID" => $SESSION_ID,
		"GUEST_ID" => $GUEST_ID,
		"COUNTRY_ID" => $COUNTRY_ID,
		"ADV_ID" => $ADV_ID,
		"ADV_BACK" => $ADV_BACK,
		"SITE_ID" => $SITE_ID,
	);
	return $arrRes;
}