OSDN Git Service

trpgchat ver2.4
[trpgtools-onweb/AjaxChat.git] / pastlog_main.php
1 <?php
2 /*
3  * Ajax Chat for TRPG ver.2.4
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 // 設定ファイルの読み込み
10 require_once './trpgchat-ini.php';
11 require_once './lib/trpgchat.php';
12 require_once './lib/pastlog.php';
13 require_once './lib/member_check.php';
14
15 // 設定セット
16 set_config(read_config());
17
18 // アクセスブロック
19 access_block();
20
21 // HTML出力
22 print html_header(CHAT_TITLE.' 過去ログ', 'main', false);
23 ?>
24
25 </head>
26 <body>
27 <?php
28
29 // 直近の過去ログを「流す」場合
30 if (DELETE_LAST_PASTLOG) {
31     print "現在、直近の過去ログ表示はできません";
32     print html_footer('');
33     exit;
34 }
35
36 // リクエスト受信
37 $request = request();
38
39 foreach($request as $k => $v) {
40     $data[$k] = htmlspecialchars($v);
41 }
42
43 // パスワード照合
44 $hash = "";
45 $data['pwd_on'] = isset( $data['pwd_on'] ) ? $data['pwd_on'] : NULL ;\r
46 $data['name_on'] = isset( $data['name_on'] ) ? $data['name_on'] : NULL ;\r
47 $hash = create_hash($data['name_on'], $data['pwd_on']);
48 // マスターパスワード
49 if (MASTERPASS && $data['pwd_on'] == MASTERPASS) {
50     $hash = MASTERPASS;
51 }
52
53 // 直近の過去ログを参加者にしか表示しない場合
54 if (UNPUBLIC_LAST_PASTLOG && $hash != MASTERPASS) {
55     $member = get_member_log();
56     $flg = false;
57     // 参加者が居ない/入力ID:パスワードのハッシュで参加者と一致しない場合、停止
58     if (!$member) {
59         print "直近の過去ログは、参加者にのみ表示します";
60         print html_footer('');
61         exit;
62     } elseif ($hash) {
63         foreach ($member as $v) {
64             if ($v[1] == $hash) {
65                 $flg = true;
66             }
67         }
68     }
69     if (!$flg) {
70         print "現在のチャット参加者の方は、お名前と参加時のパスワードを入力してください";
71         print html_footer('');
72         exit;
73     }
74 }
75
76 // 「ささやき」は、マスターパスワードと入力ハッシュが合う場合のみ表示
77 $row = read_log(PAST_LOG, $hash, true, true);
78
79 // 発言表示
80 if ($row) {
81     foreach ($row as $v) {
82         print $v."\n";
83     }
84 }
85  ?>
86
87 <?php
88 // フッター
89 print html_footer('');
90  ?>