OSDN Git Service

e42670fd4530361f8311be1d61af0c4df8dc17f6
[trpgtools-onweb/AjaxChat.git] / pastlog_output.php
1 <?php
2 /*
3  Ajax Chat for TRPG ver.2.6
4  (c)2007-2009 Cake All Rights Reserved.
5  Mail : cake_67@users.sourceforge.jp
6  Home : http://trpgtools-onweb.sourceforge.jp/
7  */
8
9 // SSL&IE対策
10 session_cache_limiter('public');
11
12 // 設定ファイルの読み込み
13 require_once './trpgchat-ini.php';
14 require_once './lib/trpgchat.php';
15 require_once './lib/pastlog.php';
16 require_once './lib/member_check.php';
17
18 // 設定セット
19 set_config(read_config());
20
21 // アクセスブロック
22 access_block();
23
24 // 直近の過去ログを「流す」場合
25 if (DELETE_LAST_PASTLOG) {
26     exit;
27 }
28
29 // リクエスト受信
30 $request = request();
31
32 foreach($request as $k => $v) {
33     $data[$k] = htmlspecialchars($v);
34 }
35
36 // パスワード照合
37 $hash = "";
38 $data['pwd_on'] = isset( $data['pwd_on'] ) ? $data['pwd_on'] : NULL ;\r
39 $data['name_on'] = isset( $data['name_on'] ) ? $data['name_on'] : NULL ;\r
40 $hash = create_hash($data['name_on'], $data['pwd_on']);
41 // マスターパスワード
42 if (MASTERPASS && $data['pwd_on'] == MASTERPASS) {
43     $hash = MASTERPASS;
44 }
45
46 // 直近の過去ログを参加者にしか表示しない場合
47 if (UNPUBLIC_LAST_PASTLOG) {
48     $flg = false;
49     $member = get_member_log();
50     // 参加者が居ない/入力ID:パスワードのハッシュで参加者と一致しない場合、停止
51     if (!$member) {
52         exit;
53     } elseif ($hash) {
54         foreach ($member as $v) {
55             if ($v[1] == $hash) {
56                 $flg = true;
57             }
58         }
59     } else {
60         exit;
61     }
62     if (!$flg) exit;
63 }
64
65 // ログ取得
66 $log_datetime = time();
67 $filename = "chatlog_".date("YmdHis", $log_datetime).".html";
68
69 $row = html_header('過去ログ '.date("Y年m月d日 h時i分s秒", $log_datetime), 'pastlog', false, false);
70 $log = read_log(PAST_LOG, $hash, true, false);
71 if ($log) {
72      foreach ($log as $v) {
73           $row .= $v."\n";
74      }
75 }
76 $row .= html_footer();
77
78 // IE対策
79 //session_cache_limiter('public');
80
81 // 出力
82 header("Content-type: text/html");
83 header("Content-Disposition: attachment; filename=$filename");
84 header("Content-length: ".strlen($row));
85 print $row;
86
87 exit;
88  ?>