OSDN Git Service

PHP Notice対応
[trpgtools-onweb/AjaxChat.git] / pastlog_output.php
1 <?php
2 /*
3  Ajax Chat for TRPG ver.2.6.2
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     print "現在、直近の過去ログ表示はできません";
27     exit;
28 }
29
30 // リクエスト受信
31 $request = request();
32
33 foreach($request as $k => $v) {
34     $data[$k] = htmlspecialchars($v);
35 }
36
37 // パスワード照合
38 $hash = "";
39 $data['pwd_on'] = isset( $data['pwd_on'] ) ? $data['pwd_on'] : NULL ;\r
40 $data['name_on'] = isset( $data['name_on'] ) ? $data['name_on'] : NULL ;\r
41 $hash = create_hash($data['name_on'], $data['pwd_on']);
42 // マスターパスワード
43 if (MASTERPASS && $data['pwd_on'] == MASTERPASS) {
44     $hash = MASTERPASS;
45 }
46
47 // 直近の過去ログを参加者にしか表示しない場合
48 if (UNPUBLIC_LAST_PASTLOG) {
49     $flg = false;
50     $member = get_member_log();
51     // 参加者が居ない/入力ID:パスワードのハッシュで参加者と一致しない場合、停止
52     if (!$member) {
53         exit;
54     } elseif ($hash) {
55         foreach ($member as $v) {
56             if ($v[1] == $hash) {
57                 $flg = true;
58             }
59         }
60     } else {
61         exit;
62     }
63     if (!$flg) exit;
64 }
65
66 // ログ取得
67 $log_datetime = time();
68 $filename = "chatlog_".date("YmdHis", $log_datetime).".html";
69
70 $row = html_header('過去ログ '.date("Y年m月d日 h時i分s秒", $log_datetime), 'pastlog', false, false);
71 $log = read_log(PAST_LOG, $hash, true, false);
72 if ($log) {
73      foreach ($log as $v) {
74           $row .= $v."\n";
75      }
76 }
77 $row .= html_footer();
78
79 // IE対策
80 //session_cache_limiter('public');
81
82 // 出力
83 header("Content-type: text/html");
84 header("Content-Disposition: attachment; filename=$filename");
85 header("Content-length: ".strlen($row));
86 print $row;
87
88 exit;
89  ?>