/** * ユーザ名推測 */ function logview_guess_user($data, $guess) { // 確定的な情報 $user = isset($data['user']) ? $data['user'] : ''; $ntlm = isset($data['ntlm']) ? $data['ntlm'] : ''; $sig = isset($data['sig']) ? $data['sig'] : ''; $now_user = log::guess_user($user, $ntlm, $sig); if (!empty($now_user)) { return $now_user; } // 見做し if (!isset($data['ua'])) { return ''; } if (!isset($guess[$data['ua']])) { return ''; } // USER-AGENT が一致したデータがあるか if (!isset($data['host'])) { return ''; } $user = ''; $level = 0; // とりあえずホスト名は完全一致 foreach ($guess[$data['ua']] as $_host => $val1) { list($sw, $lvl) = log::check_host($data['host'], $_host, $level); // ホスト名の一致確認 if (!$sw) { continue; } // ホスト名が一致しない // UA が等しく、同じIPなものの、複数ユーザまたは改変した場合は、複数人分出力 foreach ($val1 as $_user => $val2) { if (!empty($user)) { $user .= ' / '; } $user .= $_user; } } return $user; }