OSDN Git Service

PHP Notice対応
[trpgtools-onweb/AjaxChat.git] / pastlog_main.php
index 74af05a..9c039e9 100644 (file)
@@ -1,57 +1,88 @@
 <?php
 /*
- * Ajax Chat for TRPG ver.1.0
- * (c)2007 Cake All righ1ts reserved.
- * Mail : cake_67@users.sourceforge.jp
- * Home : http://trpgtools-onweb.sourceforge.jp/
- *
- * [注意事項他]
- * 本チャットスクリプトの使用および配布は、BSDライセンスに基づきます。
- * BSDライセンスの詳細につきましては、添付のライセンス.txtを参照してください。
- *
- * BSDライセンス概要&使用上の注意
- * 1. このスクリプトはフリーソフトです。以下の条件を満たす限りにおいて、使用・改造・再配布(オリジナルおよび改造版の両方とも)は自由です。
- * 再配布する場合、上記著作権表示、本条件書きおよび第2項・第3項の責任限定規定を必ず含めてください。
- * 2. 同梱のアイコンはPetite Prier様(http://snow.if.tv/)の素材です。
-      本スクリプトの使用および再配布時にアイコンをそのまま用いる場合は、配布元の規定も遵守してください。
- * 3. 本スクリプトは無保証です。自己責任で使用してください。このスクリプトを使用したいかなる損害に対しても、作者は一切の責任を負いません。
- * 4. 設置および使用方法に関する質問は、配布サイトの掲示板にお願いします。ただし、必ず回答できるとは限りません。
- * メールによる質問は、ご遠慮ください。
+ Ajax Chat for TRPG ver.2.6.2
+ (c)2007-2009 Cake All Rights Reserved.
+ Mail : cake_67@users.sourceforge.jp
+ Home : http://trpgtools-onweb.sourceforge.jp/
  */
 
 // 設定ファイルの読み込み
 require_once './trpgchat-ini.php';
-require_once './pastlog-ini.php';
+require_once './lib/trpgchat.php';
+require_once './lib/pastlog.php';
+require_once './lib/member_check.php';
 
-// HTML出力
-print html_header('main', $title.' 過去ログ', false, true);
+// 設定セット
+set_config(read_config());
+
+// アクセスブロック
+access_block();
 
+// HTML出力
+print html_header(CHAT_TITLE.' 過去ログ', 'main', false);
 ?>
 
 </head>
 <body>
-<div class="com_row">
 <?php
-// 受信データの整形
-foreach($_GET as $k => $v) {
+
+// 直近の過去ログを「流す」場合
+if (DELETE_LAST_PASTLOG) {
+    print "現在、直近の過去ログ表示はできません";
+    print html_footer('');
+    exit;
+}
+
+// リクエスト受信
+$request = request();
+
+foreach($request as $k => $v) {
     $data[$k] = htmlspecialchars($v);
 }
 
-if ($masterpass && $data['pwd'] == $masterpass) {
-    $row = read_log($past_log, $masterpass, $masterpass, 'true', $color_system);
-} else {
-    $data['myhash'] = create_hash($data['name'], $data['pwd']);
-    $row = read_log($past_log, $data['myhash'], '', 'true', $color_system);
+// パスワード照合
+$hash = "";
+$data['pwd_on'] = isset( $data['pwd_on'] ) ? $data['pwd_on'] : NULL ;\r
+$data['name_on'] = isset( $data['name_on'] ) ? $data['name_on'] : NULL ;\r
+$hash = create_hash($data['name_on'], $data['pwd_on']);
+// マスターパスワード
+if (MASTERPASS && $data['pwd_on'] == MASTERPASS) {
+    $hash = MASTERPASS;
+}
 
+// 直近の過去ログを参加者にしか表示しない場合
+if (UNPUBLIC_LAST_PASTLOG && $hash != MASTERPASS) {
+    $member = get_member_log();
+    $flg = false;
+    // 参加者が居ない/入力ID:パスワードのハッシュで参加者と一致しない場合、停止
+    if (!$member) {
+        print "直近の過去ログは、参加者にのみ表示します";
+        print html_footer('');
+        exit;
+    } elseif ($hash) {
+        foreach ($member as $v) {
+            if ($v[1] == $hash) {
+                $flg = true;
+            }
+        }
+    }
+    if (!$flg) {
+        print "現在のチャット参加者の方は、お名前と参加時のパスワードを入力してください";
+        print html_footer('');
+        exit;
+    }
 }
 
+// 「ささやき」は、マスターパスワードと入力ハッシュが合う場合のみ表示
+$row = read_log(PAST_LOG, $hash, true, true);
+
+// 発言表示
 if ($row) {
     foreach ($row as $v) {
-        print $v."<br>\n";
+        print $v."\n";
     }
 }
  ?>
-</div>
 
 <?php
 // フッター