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/
10 require_once './trpgchat-ini.php';
11 require_once './lib/trpgchat.php';
12 require_once './lib/pastlog.php';
15 if (!$request = request()) {
16 error('リクエストを受信できません', true);
23 set_config(read_config());
31 check_name($request['filename']);
34 write_log($request['datetime'], $request['whisper'], $request['filename']);
36 if ($request['delete']) {
38 $lfp = fopen(LOCK,"w");
39 stream_set_write_buffer($lfp, 0);
44 $log = file(RECENT_LOG);
45 $count_log = count($log);
46 $fp = @fopen(RECENT_LOG, "w") or error("ログファイルを開けません。", true);
48 foreach ($log as $k => $v) {
49 $num = $count_log - $k;
50 fwrite($fp, preg_replace("/^([0-9]{1,})<>.*/U", "$num<>", $v, 1));
56 $fp = fopen(PAST_LOG, "w");
64 display_finish(CHAT_TITLE.' 過去ログ作成完了', '過去ログを作成しました');
71 function write_log($datetime, $whisper, $filename) {
72 if (file_exists(PAST_DIR.$filename.".html") || file_exists(MASTER_PAST_DIR.$filename.".html")) {
73 error("同名の過去ログファイルがあります。違う名前にして下さい。", true);
76 $log_master = read_log(PAST_LOG, MASTERPASS, true, false);
77 if (!$log_master) return false;
79 $log = read_log(PAST_LOG, '', $datetime, false);
81 $log = read_log(PAST_LOG, MASTERPASS, $datetime, false);
83 if (!$log) return false;
85 $header = html_header('過去ログ '.$filename, 'pastlog', false, false);
86 $header2 = html_header('過去ログ [管理用]'.$filename, 'pastlog', false, false);
87 $footer = html_footer();
89 $fp = fopen(PAST_DIR.$filename.".html", "w");
90 stream_set_write_buffer($fp, 0);
94 foreach ($log as $v) {
103 $fp2 = fopen(MASTER_PAST_DIR.$filename.".html", "w");
104 stream_set_write_buffer($fp2, 0);
106 fwrite($fp2, $header2);
108 foreach ($log_master as $v) {
109 fwrite($fp2, $v."\n");
112 fwrite($fp2, '<hr>');
113 fwrite($fp2, $footer);