Пример #1
0
 /**
  * 推測ユーザデータの出力
  */
 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);
 }
Пример #2
0
 /**
  * 署名を抽出
  */
 public function getSigunature()
 {
     $sum = array();
     $lines = parent::get();
     $name = parent::get_log_field();
     if (!$lines) {
         return;
     }
     foreach ($lines as $_data) {
         foreach ($_data as $line) {
             $field = parent::line2field($line, $name);
             if (empty($field['ua'])) {
                 continue;
             }
             $user = parent::guess_user($field['user'], $field['ntlm'], $field['sig']);
             if (empty($user)) {
                 continue;
             }
             $sum[$field['ua']][$field['host']][$user] = '';
         }
     }
     return $sum;
 }