/** * ログを保存する処理をオーバーライドして見做しログを保存 */ public function set($data = '', $keeptimestamp = false) { if ($this->config['guess_user']['use']) { LogFactory::factory('guess_user')->set($data); } parent::set($data, $keeptimestamp); }
/** * 推測ユーザデータの出力 */ public function set($data = '', $keeptimestamp = false) { // ユーザを推測する $user = parent::guess_user($data['user'], $data['ntlm'], $data['sig']); if (empty($user)) { return; } if ($this->has()) { // ログが存在する場合前のデーターを読み込んで重複を確認 $sw = FALSE; foreach ($this->get() as $_src) { $x = trim($_src); $field = parent::table2array($x); // PukiWiki 表形式データを配列データに変換 if (count($field) == 0) { continue; } if ($field[0] != $data['ua']) { continue; } if ($field[1] != $data['host']) { continue; } if ($field[2] != $user) { continue; } $sw = TRUE; break; } if ($sw) { return; } // 重複 } // 追記するデーター $data = parent::array2table(array($data['ua'], $data['host'], $user, '')); return parent::set($data); }