OSDN Git Service

trpgchat ver2.6.1
authorcake_67 <cake_67@46fa8b77-3530-0410-9d82-d95c44d28aba>
Wed, 7 Oct 2009 12:24:11 +0000 (12:24 +0000)
committercake_67 <cake_67@46fa8b77-3530-0410-9d82-d95c44d28aba>
Wed, 7 Oct 2009 12:24:11 +0000 (12:24 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/trpgtools-onweb/src/trunk/AjaxChatForTRPG@50 46fa8b77-3530-0410-9d82-d95c44d28aba

66 files changed:
admin.php
auth.php
card.php
card_deck_change.php
card_return_nomember.php
card_update.php
card_write.php
cookie_load.php
cookie_save.php
edit_config.php
index.php
index_inc_userpanel.php [new file with mode: 0644]
info-mobile.php
lib/admin.php
lib/card.php
lib/card/index.html [new file with mode: 0644]
lib/card/sample/card_config.png [new file with mode: 0644]
lib/card/sample/sample.ini [new file with mode: 0644]
lib/card/tarot.ini [new file with mode: 0644]
lib/card/trump.ini [new file with mode: 0644]
lib/card/trump_noJoker.ini [new file with mode: 0644]
lib/config.php
lib/consumer_rule.php
lib/ini/trpgchat-ini-consumer.php
lib/ini/trpgchat-ini-help.php
lib/js/card-js.php
lib/js/card.js
lib/js/consumer-rule.js
lib/js/index-js.php
lib/js/index.js
lib/js/main-js.php
lib/js/main.js
lib/js/obf.js
lib/js/pastlog.js
lib/js/trpg.js
lib/js/trpgchat-js.php
lib/js/trpgchat.js
lib/log.php
lib/member_check.php
lib/mobile.php
lib/pastlog.php
lib/setup.php
lib/trpg.php
lib/trpgchat.php
lib/write.php
main.php
mindex.php
mwrite.php
pastlog_create.php
pastlog_del.php
pastlog_edit_dir.php
pastlog_edit_file.php
pastlog_index.php
pastlog_main.php
pastlog_output.php
setup.php
setup/.htaccess
setup/orig/config-data-important.php
setup/orig/trpgchat-ini.php
setup/trpgchat-ini.php
trpgchat-ini-2.php
version.php
write.php
write_config.php
ドキュメント/README.html
ドキュメント/更新履歴.txt

index c83f485..212bb84 100644 (file)
--- a/admin.php
+++ b/admin.php
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 2afb5ef..0d43b88 100644 (file)
--- a/auth.php
+++ b/auth.php
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 297071a..0223245 100644 (file)
--- a/card.php
+++ b/card.php
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index b445aa4..07b674a 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 490861f..9aa8aa3 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index a868091..d1005b0 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 8325503..d76ccd9 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 00e1daa..796128d 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index f4373a7..915b00e 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 35f71ff..9c73a35 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index ee658a2..202d426 100644 (file)
--- a/index.php
+++ b/index.php
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
@@ -49,390 +49,13 @@ require_once './lib/js/index-js.php';
 </head>
 <body onresize="changeSize()" onunload="return UnLoad()">
 
-<!-- ここから:オンライン標準表示欄 -->
-<table border="0" cellspacing="3" cellpadding="0" id="online1" class="online" style="display:none;">
-<tr>
-<td>
-<form name="online1" onsubmit="return false;" action="">
-<input type="hidden" name="name_on" value="" id="name_on">
-<input type="hidden" name="pwd_on" id="pwd_on">
-<input type="hidden" name="my_hash" value="" id="my_hash">
-</td>
-
-<?php
-
-//=======ここから:オンラインTRPG欄
-if (DICE_MAX && $GLOBALS['AJAX_CHAT_TRPG']['PRESET_DICE'][0]) {
-    print '<td title="右のダイスアイコンで入力するダイスを選んでください">';
-    print '<select name="dice" id="dice">'."\n";
-    foreach ($GLOBALS['AJAX_CHAT_TRPG']['PRESET_DICE'] as $v) {
-         print '<option value="'.$v.'">'.$v.'</option>'."\n";
-    }
-    print '</select></td>'."\n";
-    print '<td> + </td>'."\n";
-    print "<td>\n";
-    print '<span title="ダイスの修正値を入力してください"><option value="'.$v.'"><input type="text" size="6" value="" name="revision" id="revision"></span>';
-    print "</td>\n";
-    if (CF_INPUT) {
-        print "<td nowrap>\n";
-        if (!CF_FIXED) {
-            print '<span title="クリティカル値 11:「11で」クリティカル 11-:11「以上」でクリティカル">C:';
-        }
-        print '<input type="text" size="1" value="';
-        print C_DEFAULT;
-        print '" name="clit" id="clit"';
-        if (CF_FIXED) {
-            print ' style="display:none;"';
-        }
-        print '>';
-        if (!CF_FIXED) {
-            print '</span>';
-        }
-        print "</td>\n";
-        print '<td nowrap>';
-        if (!CF_FIXED) {
-            print '<span title="ファンブル 3:「3で」ファンブル 3-:3「以下」でファンブル"> F:';
-        }
-        print '<input type="text" size="1" value="';
-        print F_DEFAULT;
-        print '" name="famble" id="famble"';
-        if (CF_FIXED) {
-            print ' style="display:none;"';
-        }
-        print '>';
-        if (!CF_FIXED) {
-            print '</span>';
-        }
-        print "</td>\n";
-
-        print '<td nowrap>';
-        print '<span title="クリティカル・ファンブルで変化するダイスを発言欄に入力します">入力:<input id="cfinput" type="checkbox" onclick=\'toggleColumn("cfchange")\'></span></td>';
-
-        print '<td id="cfchange" style="display:none;" nowrap>';
-        print '<span title="クリティカルで自動的に振り足されるダイスを発言欄に入力します">回る:<input id="crolling" type="checkbox"></span>';
-        print '<span title="ファンブルで絶対失敗(0点扱い)になるダイスを発言欄に入力します。">絶対失敗:<input id="fzero" type="checkbox"></span>';
-        print "</td>\n";
-    }
-    print "<td nowrap>";
-    show_icon(DICE_ICON, "", "", "dice", "ダイス入力", "右で指定したダイスを入力します", "insertDice(this.form, columnId);");
-    print '<input type="submit" style="display:none;" onclick="insertDice(this.form, columnId);">';
-
-    if (SHORTCUT_DICE) {
-        show_icon(DICE_SHORTCUT_SHOW_ICON, DICE_SHORTCUT_HIDE_ICON, "", "dice_shortcut_icon", "↓", "ダイスショートカット欄をON/OFFします", "toggleColumn('dice_shortcut');");
-    }
-    // 市販ルール欄
-    if (USE_CONSUMER_RULES) {
-        show_icon(CONSUMER_RULES_OPEN_ICON, CONSUMER_RULES_CLOSE_ICON, "", "consumer_rule_icon", "†", "市販ルールの簡易使用欄をON/OFFします", 'toggleColumn(\'consumer_rule\');');
-    }
-    print "</td>\n";
-}
-print '<td class="nodisplay"></form></td>'."\n";
-//=======ここまで:オンラインTRPG欄
-
-// タグボタン
-if (ALLOW_TAG) {
-    print '<td id="tags1" nowrap>';
-    $tag_num = count($GLOBALS['AJAX_CHAT_TRPG']['TAGS']);
-    for($i=0;$i<$tag_num;$i++) {
-        if ($GLOBALS['AJAX_CHAT_TRPG']['TAGS'][$i][1] && $GLOBALS['AJAX_CHAT_TRPG']['TAGS'][$i][3]) {
-            $tag = $GLOBALS['AJAX_CHAT_TRPG']['TAGS'][$i][0];
-            show_icon($GLOBALS['AJAX_CHAT_TRPG']['TAGS'][$i][2], "", "", "", $tag, $tag."タグ", "insertTag('$tag', columnId);");
-        }
-    }
-    print "</td>\n";
-    print '<td id="tags2">';
-    show_icon(INSERT_FONT_ICON, "", "", "", "F", "フォントタグ", "insertFontTag(columnId);");
-    print "</td>\n";
-}
-?>
-<td nowrap>
-<?php
-show_icon(RELOAD_ICON, "", "", "", "R", "チャット画面をリフレッシュ!", "window.mainframe.clearLog();");
-
-$toggle_config = '';
-if (FREEMAP_URL) {
-    $toggle_config .= 'toggleColumn(\'tools0\');';
-}
-if (!(DELETE_LAST_PASTLOG && !PUBLIC_PASTLOG)) {
-    $toggle_config .= 'toggleColumn(\'tools1\');toggleColumn(\'tools2\');';
-}
-if (COOKEI_EXPIRE && COOKIE) {
-    $toggle_config .= 'toggleColumn(\'tools3\');';
-}
-if (USE_MOBILE) {
-    $toggle_config .= 'toggleColumn(\'tools4\');';
-}
-if (CARD_ICON) {
-    $toggle_config .= 'toggleColumn(\'tools5\');';
-}
-show_icon(TOOLS_ICON, "", "", "", "TOOL", "過去ログ表示・クッキー保存アイコンなどの表示をON/OFFします", $toggle_config);
-
-print "</td>";
-
-// FreeMap連動
-if (FREEMAP_URL) {
-    print '<td id="tools0" style="display:none;">';
-    print show_icon(FREEMAP_ICON, "", "", "freemap", "MAP", "マップとコマを使う", 'openUrl(\''.FREEMAP_URL.'\', \'map\'); return false;');
-    print '</td>';
-}
-
-// カード機能
-if (USE_CARD) {
-    $onlick = "openNewWindow('card.php', 'card', true, 400, 500, true);";
-    print '<td id="tools5" style="display:none;">';
-    print show_icon(CARD_ICON, "", "", "card_icon", "card", "カード機能を使う", $onlick);
-    print '</td>';
-}
-
-// FreeMap連動
-if (FREEMAP_URL) {
-    $onlick = "openNewWindow('".FREEMAP_URL."', 'map', false, '', '', true);";
-    print '<td id="tools0" style="display:none;">';
-    print show_icon(FREEMAP_ICON, "", "", "freemap", "MAP", "マップとコマを使う", $onlick);
-    print '</td>';
-}
-
-// 過去ログ表示
-if (!(DELETE_LAST_PASTLOG && !PUBLIC_PASTLOG)) {
-    print '<td id="tools1" style="display:none;">';
-    print show_icon(PASTLOG_SHOW_ICON, "", "", "pastlog_show", "ログ", "過去ログを見る", 'openUrl(\'pastlog_index.php\', \'pastlog\'); return false;');
-    print '</td>';
-
-    print '<td id="tools2" style="display:none;">';
-    print show_icon(PASTLOG_DL_ICON, "", "", "pastlog_output", "DL", "過去ログをHTMLでダウンロード", "pastlogHtmlOutput();return false");
-    print "</td>\n";
-}
-
-if (COOKEI_EXPIRE && COOKIE) {
-    print '<td id="tools3" style="display:none;" nowrap>';
-    show_icon(COOKIE_WRITE_ICON, "", "", "", "CW", "チャットの設定をクッキーに保管します", "cookieWrite()")."\n";
-    show_icon(COOKIE_DELETE_ICON, "", "", "", "CD", "チャットのクッキーを削除します", "cookieDelete()")."\n";
-    show_icon(COOKIE_SAVE_ICON, "", "", "", "CD", "チャットの設定をファイルに保管します", "cookiesaveFile()")."\n";
-    print "</td>\n";
-}
-// 携帯使用
-if (USE_MOBILE) {
-    print '<td id="tools4" style="display:none;">';
-    print show_icon(MOBILE_ICON, "", "", "mobile", "携帯", "携帯用URLを紹介", 'openUrl(\'info-mobile.php\', \'\'); return false;');
-    print '</td>'."\n";
-}
-print "<td>";
-$onclick_help = 'toggleColumn(\'help_win\');';
-show_icon(HELP_ICON, '', '', 'help_win_icon', '?', 'ヘルプをON/OFFします', $onclick_help);
-?>
-</td>
-<td align="right" id="logoutBt"><input type="button" value="退室" name="logout" class="logout" id="logout" /></td>
-</table>
-
 <?php
-// ここから:TRPG市販ルール欄
-if (DICE_MAX && USE_CONSUMER_RULES) {
-    print '<table border="0" cellspacing="3" cellpadding="0" id="consumer_rule" style="display:none;">'."\n";
-    print "<tr>";
-    // SW
-    if (SW) {
-        print '<td><td class="nodisplay"><form onsubmit="return false;"></td>';
-        print "<td>";
-        show_icon(SW_ICON, "", "", "", "SW", "SWレーティング振り欄をON/OFFします", "toggleColumn('cr_sw');");
-        print '</td><td id="cr_sw" ';
-        if (!SW_SHOW) {
-            print 'style="display:none;" ';
-        }
-        print 'nowrap>レーティング<input name="rating" id="rating" value="10" size="2">';
-        print ' + ';
-        print '<span title="修正値を入力してください"><input type="text" size="4" value="" name="sw_revision" id="sw_revision"></span>';
-        print '<span title="クリティカル値:「回らない」場合は空欄にして下さい"> C:';
-        print '<input type="text" size="1" value="10" name="sw_clit" id="sw_clit">';
-        print '</span>';
-        show_icon(DICE_ICON, "", "", "", "レーティング", "右で指定したレーティングを入力します。", "insertSWRating(this.form, columnId);");
-        print '<input type="submit" style="display:none;" onclick="insertSWRating(this.form, columnId);">';
-        print '<td class="nodisplay"></form></td>'."\n";
-    }
-
-    // 一定値以上の出目カウント
-    if (PICKUP) {
-        print '<td>';
-        show_icon(PICKUP_ICON, "", "", "", "↑↓", "指定値以上/以下の出目のみを数えます", "toggleColumn('cr_pickup');");
-        print '</td><td class="nodisplay"><form onsubmit="return false;"></td>'."\n";
-        print '<td id="cr_pickup" ';
-        if (!PICKUP_SHOW) {
-            print 'style="display:none;" ';
-        }
-        print 'nowrap>';
-        print '<input id="pickup_num" value="'.PICKUP_DEFAULT_DICE_NUM.'" size="2">d';
-        print '<input id="pickup_dice_number" value="'.PICKUP_DEFAULT_DICE_NUMBER.'" size="2"> ';
-        print '+';
-        print '<span title="修正値を入力してください"><input type="text" size="2" value="" id="pickup_revision"></span>';
-        print ' <input type="text" size="1" value="'.PICKUP_DEFAULT_NUMBER.'" id="pickup_number">';
-        print '<select id="u_l"><option value="u" selected>以上<option value="l">以下</select>';
-        print ' <span title="最大の出目のみを合計します 例:5d6=2,4,3,3,5 = 5">MAXのみ:<input id="pickup_count_max" type="checkbox"></span>';
-        print ' <span title="クリティカル値 8:「8で」クリティカル 8-:8「以上」でクリティカル">C:';
-        print '<input type="text" size="1" value="'.PICKUP_DEFAULT_CLIT.'" id="pickup_clit">';
-        print '</span>';
-        print ' <span title="クリティカルで振り足されるダイスを発言欄に入力します">振り足す:<input id="pickup_crolling" type="checkbox"></span>';
-
-        print ' <span title="クリティカルはダイス出目の最大値として扱います 例:d10 クリティカル値8以上で出目9 = 10扱い">C=MAX:<input id="pickup_c_max" type="checkbox"></span>';
-        show_icon(DICE_ICON, "", "", "dice", "ダイス入力", "右&上で指定したダイスを入力します。", "insertPickupDice(columnId);");
-    print '<input type="submit" style="display:none;" onclick="insertPickupDice(columnId);">';
-        print '<td class="nodisplay"></form></td>'."\n";
-    }
-
-    print '</td></tr></table>'."\n";
-}
-?>
-<!-- ここまで、市販ルールツール欄 -->
-
-<!-- ここから、ダイスショートカット欄 -->
-<?php
-if (DICE_MAX && SHORTCUT_DICE) {
-    print '<table border="0" cellspacing="3" cellpadding="0" id="dice_shortcut" style="display:none;">'."\n";
-    print '<tr>'."\n";
-    for ($i=1;$i<=5;$i++) {
-        $dice_key = "dice_".$i;
-        print '<td class="nodisplay"><form onsubmit="return false;"></td>'."\n";
-        print '<td><input type="text" name="dice" class="diceShortCut" id="dice_'.$i.'" value="'.$cookies[$dice_key].'" onfocus="javascript:selectedColumnId(this, false);javascript:expandDiceShortcut(this);" onblur="javascript:selectedColumnId(this, false);shrinkDiceShortcut(this);"></td>'."\n";
-        print "<td>\n";
-        show_icon(DICE_ICON, "", "", "", "D", "右欄に設定のダイスを入力します", "insert(document.getElementById(columnId), 'dice_$i', $('#dice_$i').attr('value'), 0);");
-        print "</td>\n";
-        print '<input type="submit" style="display:none;" onclick="insert(document.getElementById(columnId), \'dice_'.$i.'\', $(\'#dice_'.$i.'\').attr(\'value\'), 0);">';
-        print '<td class="nodisplay"></form></td>'."\n";
-    }
-    print "<td>";
-    show_icon(DICE_SHORTCUT_SHOW_ICON, $img2, "", "dice_shortcut_icon", "↓", "ダイスショートカット欄2行目をON/OFFします", 'toggleColumn(\'dice_shortcut_2\')');
-    print "</td></tr>\n";
-    print '<tr id="dice_shortcut_2" style="display:none;">'."\n";
-    for ($i=6;$i<=10;$i++) {
-        $dice_key = "dice_".$i;
-        print '<td class="nodisplay"><form onsubmit="return false;"></td>'."\n";
-        print '<td><input type="text" name="dice" class="diceShortCut" id="dice_'.$i.'" value="'.$cookies[$dice_key].'" onfocus="javascript:selectedColumnId(this, false);javascript:expandDiceShortcut(this);" onblur="selectedColumnId(this, false);shrinkDiceShortcut(this);"></td>'."\n";
-        print '<td>';
-        show_icon(DICE_ICON, "", "", "dice", "D", "右欄に設定のダイスを入力します", "insert(document.getElementById(columnId), 'dice_$i', $('#dice_$i').attr('value'), 0);");
-        print "</td>\n";
-        print '<input type="submit" style="display:none;" onclick="insert(document.getElementById(columnId), \'dice_'.$i.'\', $(\'#dice_'.$i.'\').attr(\'value\'), 0);">';
-        print '<td class="nodisplay"></form></td>'."\n";
-    }
-    print '<td>&nbsp;</td>'."\n";
-    print '</tr></table>'."\n";
-}
-?>
-
-<!-- ここから、PC/NPC欄 -->
-<?php
-if (PC_NUM >= 1) {
-    for ($i=0; $i<=PC_NUM; $i++) {
-        $pc_name_key = "pc_name_".$i;
-        $pc_color_key = "pc_color_".$i;
-        $pc_color_select_key = "pc_color_select_".$i;
-        $pc_status_key = "pc_status_".$i;
-        print '<table border="0" cellspacing="3" cellpadding="0" id="pc_'.$i.'" class="add_pc"; style="display:none;">'."\n";
-        print '<tr>'."\n";
-        print '<td class="nodisplay"><form onsubmit="return false;" id="'.$i.'"></td>'."\n";
-        print '<td><input type="submit" value="発言" class="" id="submit" style="display:inline" name="submit" onclick="comment(this.form)"></td>'."\n";
-        print '<td align="left" nowrap><input type="text" name="pc_name" value="'.$cookies[$pc_name_key].'" size="6" class="pc_name inputmain" id="pc_name_'.$i.'" style="font-weight:bold; color:#'.$cookies[$pc_color_key].'" onblur="selectedColumnId(this, true)"></td>'."\n";
-
-if (USER_WHISPER) {
-    print "<td>\n";
-    $onclick_whisper = "changeWhisperConfigClear(this);";
-    show_icon(WHISPER_ON_ICON, "", "", "whisper_mark_".$i, "∂","「ささやき」状態を表示", $onclick_whisper);
-    print "</td>\n";
-    print "<td>";
-    print '<input type="text" name="whisper_to" value="全員" size="6" class="whisper_to" id="whisper_to_'.$i.'" style="display:inline;">';
-    print '<input type="hidden" name="whisper_to_hash" class="whisper_to_hash" id="whisper_to_hash_'.$i.'" value="">';
-    print "</td>\n";
-}
-
-        print '<td><input type="text" name="pc_input" class="input_comment inputmain" size="75%" id="pc_input_'.$i.'" onblur="selectedColumnId(this, true);">';
-        print "</td>\n";
-        print '<td>';
-        show_icon(PC_STATUS_ICON, "", "", "", "状態", "ステータス欄をON/OFFします", "toggleColumn('status_$i');");
-        if ($i != PC_NUM-1) {
-            $num = $i+1;
-            show_icon(PC_SHOW_ICON, PC_HIDE_ICON, "", "PC_btn_$i", "PC欄", "PC欄を追加/削除します", "toggleColumn('pc_$num');");
-        } else {
-            print " ";
-        }
-        print "</td>\n";
-        print '</tr>'."\n";
-        print '</table>'."\n";
-        print '<table border="0" cellspacing="3" cellpadding="0" class="status_column" id="status_'.$i.'" style="display:none;">'."\n";
-        print '<tr>'."\n";
-        print '<td nowrap>名前色</td>'."\n";
-        print '<td id="select_color_'.$i.'">';
-        print '<select onChange=\'changeColor(this)\' style="font-weight: bold; color:#'.$cookies[$pc_color_key].';" id="pc_color_select" name="pc_color_select_'.$i.'" class="inputmain">'."\n";
-        colorbox("pc_color", $cookies[$pc_color_select_key]);
-        print '</select></td>'."\n";
-        print '<td id="free_color_'.$i.'" style="display:none;"><input type="text" value="'.$cookies[$pc_color_key].'" size="10" name="pc_color" id="pc_color_'.$i.'" style="font-weight: bold; color:#'.$cookies[$pc_color_key].';" onkeyup="changeColor(this)" class="inputmain"></td>'."\n";
-        print '<td>';
-        show_icon(PC_FONT_ICON, "", "", "", "F", "クリックでPC名文字色入力方法を変更できます", "toggleColumn('free_color_$i');toggleColumn('select_color_$i');");
-        print "</td>\n";
-        print '<td nowrap>ステータス:<input type="text" name="status" class="status inputmain" value="';
-        if ($cookies[$pc_status_key]) { 
-            print $cookies[$pc_status_key];
-        } else {
-            print STATUS;
-        }
-        print '" id="pc_status_'.$i.'" onblur="selectedColumnId(this, true)"></td>'."\n";
-        print '<td><input name="show_status" type="checkbox" class="show_status"></td>'."\n";
-        print '<td nowrap> 表示</td>'."\n";
-        print '<td class="nodisplay"></form></td>'."\n";
-        print '</tr>'."\n";
-        print '</table>'."\n";
-    }
+// 操作欄
+if (UPPER_USER_PANEL) {
+    include './index_inc_userpanel.php';
 }
  ?>
 
-<!-- ここから:PLログイン画面欄  -->
-<table border="0" cellspacing="3" cellpadding="0" id="offline" style="display:inline; height:30px;">
-<tr>
-<td class="nodisplay"><form id="chat_off" name="chat" onsubmit="return false;" action=""></td>
-<td nowrap>お名前<input type="text" name="name_off" value="<?php if ($cookies[name_off]) { print $cookies[name_off]; } else { print NONAME; } ?>" size="8" class="inputname" id="name_off"></td>
-<td nowrap>パスワード<input type="password" name="pwd_off" size="6" class="inputpwd" id="pwd_off"></td>
-<td width="35"><input type="submit" value="入室" name="login" class="login_btn_area" id="login" /></td>
-<td><?php show_icon(RELOAD_ICON, "", "", "reload", "R", "チャット画面をリフレッシュ!", "window.mainframe.location.reload()"); ?></td>
-<td class="nodisplay"></form></td>
-<td><?php show_icon(HELP_ICON, '', '', 'help_win_icon', '?', 'ヘルプをON/OFFします', $onclick_help); ?></td>
-<td class="nodisplay"><form action="<?php print HOME; ?>" target="<?php print HOME_TARGET; ?>"></td>
-<td><input type="image" class="btn" src="<?php print HOME_ICON; ?>" value="submit" alt="ホーム" title="ホーム"></td>
-
-<?php 
-// FreeMap連動
-if (FREEMAP_URL) {
-    print '<td>';
-    print show_icon(FREEMAP_ICON, "", "", "freemap", "MAP", "マップとコマを使う", 'openUrl(\''.FREEMAP_URL.'\', \'map\'); return false;');
-    print '</td>';
-}
-
-// 過去ログ表示
-if (!(DELETE_LAST_PASTLOG && !PUBLIC_PASTLOG)) { 
-    print '<td>';
-    print show_icon(PASTLOG_SHOW_ICON, "", "", "pastlog_show", "ログ", "過去ログを見る", 'openUrl(\'./pastlog_index.php\', \'pastlog\'); return false;');
-    print '</td>';
-
-    if (!UNPUBLIC_LAST_PASTLOG) {
-        print '<td>';
-        print show_icon(PASTLOG_DL_ICON, "", "", "pastlog_output", "DL", "過去ログをHTMLでダウンロード", "pastlogHtmlOutput(); return false;");
-        print "</td>";
-    }
-}
-
-if (COOKEI_EXPIRE && COOKIE) {
-    print "<td>";
-    show_icon(COOKIE_LOAD_ICON, "", "", "", "CD", "チャットの設定をファイルから読み込みます", "toggleColumn('load_cookie'); return false;")."\n";
-    print "</td>\n";
-}
-
-// 携帯使用
-if (USE_MOBILE) {
-    print '<td>';
-    print show_icon(MOBILE_ICON, "", "", "mobile", "携帯", "携帯用URLを紹介", 'openUrl(\'./info-mobile.php\', \'\'); return false;');
-    print '</td>';
-}
-
-?>
-<td class="nodisplay"></form></td>
-
-</tr>
-</table>
 <div>
 <?php
 // コンソール
@@ -468,6 +91,11 @@ if (COOKEI_EXPIRE && COOKIE) {
 
 <?php
 
+// 操作欄
+if (!UPPER_USER_PANEL) {
+    include './index_inc_userpanel.php';
+}
+
 // フッター
 print html_footer(true, true);
 
diff --git a/index_inc_userpanel.php b/index_inc_userpanel.php
new file mode 100644 (file)
index 0000000..12578a6
--- /dev/null
@@ -0,0 +1,385 @@
+<!-- ここから:オンライン標準表示欄 -->
+<table border="0" cellspacing="3" cellpadding="0" id="online1" class="online" style="display:none;">
+<tr>
+<td>
+<form name="online1" onsubmit="return false;" action="">
+<input type="hidden" name="name_on" value="" id="name_on">
+<input type="hidden" name="pwd_on" id="pwd_on">
+<input type="hidden" name="my_hash" value="" id="my_hash">
+</td>
+
+<?php
+
+//=======ここから:オンラインTRPG欄
+if (DICE_MAX && $GLOBALS['AJAX_CHAT_TRPG']['PRESET_DICE'][0]) {
+    print '<td title="右のダイスアイコンで入力するダイスを選んでください">';
+    print '<select name="dice" id="dice">'."\n";
+    foreach ($GLOBALS['AJAX_CHAT_TRPG']['PRESET_DICE'] as $v) {
+         print '<option value="'.$v.'">'.$v.'</option>'."\n";
+    }
+    print '</select></td>'."\n";
+    print '<td> + </td>'."\n";
+    print "<td>\n";
+    print '<span title="ダイスの修正値を入力してください"><option value="'.$v.'"><input type="text" size="6" value="" name="revision" id="revision"></span>';
+    print "</td>\n";
+    if (CF_INPUT) {
+        print "<td nowrap>\n";
+        if (!CF_FIXED) {
+            print '<span title="クリティカル値 11:「11で」クリティカル 11-:11「以上」でクリティカル">C:';
+        }
+        print '<input type="text" size="1" value="';
+        print C_DEFAULT;
+        print '" name="clit" id="clit"';
+        if (CF_FIXED) {
+            print ' style="display:none;"';
+        }
+        print '>';
+        if (!CF_FIXED) {
+            print '</span>';
+        }
+        print "</td>\n";
+        print '<td nowrap>';
+        if (!CF_FIXED) {
+            print '<span title="ファンブル 3:「3で」ファンブル 3-:3「以下」でファンブル"> F:';
+        }
+        print '<input type="text" size="1" value="';
+        print F_DEFAULT;
+        print '" name="famble" id="famble"';
+        if (CF_FIXED) {
+            print ' style="display:none;"';
+        }
+        print '>';
+        if (!CF_FIXED) {
+            print '</span>';
+        }
+        print "</td>\n";
+
+        print '<td nowrap>';
+        print '<span title="クリティカル・ファンブルで変化するダイスを発言欄に入力します">入力:<input id="cfinput" type="checkbox" onclick=\'toggleColumn("cfchange")\'></span></td>';
+
+        print '<td id="cfchange" style="display:none;" nowrap>';
+        print '<span title="クリティカルで自動的に振り足されるダイスを発言欄に入力します">回る:<input id="crolling" type="checkbox"></span>';
+        print '<span title="ファンブルで絶対失敗(0点扱い)になるダイスを発言欄に入力します。">絶対失敗:<input id="fzero" type="checkbox"></span>';
+        print "</td>\n";
+    }
+    print "<td nowrap>";
+    show_icon(DICE_ICON, "", "", "dice", "ダイス入力", "右で指定したダイスを入力します", "insertDice(this.form, columnId);");
+    print '<input type="submit" style="display:none;" onclick="insertDice(this.form, columnId);">';
+
+    if (SHORTCUT_DICE) {
+        show_icon(DICE_SHORTCUT_SHOW_ICON, DICE_SHORTCUT_HIDE_ICON, "", "dice_shortcut_icon", "↓", "ダイスショートカット欄をON/OFFします", "toggleColumn('dice_shortcut');");
+    }
+    // 市販ルール欄
+    if (USE_CONSUMER_RULES) {
+        show_icon(CONSUMER_RULES_OPEN_ICON, CONSUMER_RULES_CLOSE_ICON, "", "consumer_rule_icon", "†", "市販ルールの簡易使用欄をON/OFFします", 'toggleColumn(\'consumer_rule\');');
+    }
+    print "</td>\n";
+}
+print '<td class="nodisplay"></form></td>'."\n";
+//=======ここまで:オンラインTRPG欄
+
+// タグボタン
+if (ALLOW_TAG) {
+    print '<td id="tags1" nowrap>';
+    $tag_num = count($GLOBALS['AJAX_CHAT_TRPG']['TAGS']);
+    for($i=0;$i<$tag_num;$i++) {
+        if ($GLOBALS['AJAX_CHAT_TRPG']['TAGS'][$i][1] && $GLOBALS['AJAX_CHAT_TRPG']['TAGS'][$i][3]) {
+            $tag = $GLOBALS['AJAX_CHAT_TRPG']['TAGS'][$i][0];
+            show_icon($GLOBALS['AJAX_CHAT_TRPG']['TAGS'][$i][2], "", "", "", $tag, $tag."タグ", "insertTag('$tag', columnId);");
+        }
+    }
+    print "</td>\n";
+    print '<td id="tags2">';
+    show_icon(INSERT_FONT_ICON, "", "", "", "F", "フォントタグ", "insertFontTag(columnId);");
+    print "</td>\n";
+}
+?>
+<td nowrap>
+<?php
+show_icon(RELOAD_ICON, "", "", "", "R", "チャット画面をリフレッシュ!", "window.mainframe.clearLog();");
+
+$toggle_config = '';
+if (FREEMAP_URL) {
+    $toggle_config .= 'toggleColumn(\'tools0\');';
+}
+if (!(DELETE_LAST_PASTLOG && !PUBLIC_PASTLOG)) {
+    $toggle_config .= 'toggleColumn(\'tools1\');toggleColumn(\'tools2\');';
+}
+if (COOKEI_EXPIRE && COOKIE) {
+    $toggle_config .= 'toggleColumn(\'tools3\');';
+}
+if (USE_MOBILE) {
+    $toggle_config .= 'toggleColumn(\'tools4\');';
+}
+if (CARD_ICON) {
+    $toggle_config .= 'toggleColumn(\'tools5\');';
+}
+show_icon(TOOLS_ICON, "", "", "", "TOOL", "過去ログ表示・クッキー保存アイコンなどの表示をON/OFFします", $toggle_config);
+
+print "</td>";
+
+// FreeMap連動
+if (FREEMAP_URL) {
+    print '<td id="tools0" style="display:none;">';
+    print show_icon(FREEMAP_ICON, "", "", "freemap", "MAP", "マップとコマを使う", 'openUrl(\''.FREEMAP_URL.'\', \'map\'); return false;');
+    print '</td>';
+}
+
+// カード機能
+if (USE_CARD) {
+    $onlick = "openNewWindow('card.php', 'card', true, 400, 500, true);";
+    print '<td id="tools5" style="display:none;">';
+    print show_icon(CARD_ICON, "", "", "card_icon", "card", "カード機能を使う", $onlick);
+    print '</td>';
+}
+
+// FreeMap連動
+if (FREEMAP_URL) {
+    $onlick = "openNewWindow('".FREEMAP_URL."', 'map', false, '', '', true);";
+    print '<td id="tools0" style="display:none;">';
+    print show_icon(FREEMAP_ICON, "", "", "freemap", "MAP", "マップとコマを使う", $onlick);
+    print '</td>';
+}
+
+// 過去ログ表示
+if (!DELETE_LAST_PASTLOG || PUBLIC_PASTLOG) {
+    print '<td id="tools1" style="display:none;">';
+    print show_icon(PASTLOG_SHOW_ICON, "", "", "pastlog_show", "ログ", "過去ログを見る", 'openUrl(\'pastlog_index.php\', \'pastlog\'); return false;');
+    print '</td>';
+}
+if (!DELETE_LAST_PASTLOG) {
+    print '<td id="tools2" style="display:none;">';
+    print show_icon(PASTLOG_DL_ICON, "", "", "pastlog_output", "DL", "過去ログをHTMLでダウンロード", "pastlogHtmlOutput();return false");
+    print "</td>\n";
+}
+
+if (COOKEI_EXPIRE && COOKIE) {
+    print '<td id="tools3" style="display:none;" nowrap>';
+    show_icon(COOKIE_WRITE_ICON, "", "", "", "CW", "チャットの設定をクッキーに保管します", "cookieWrite()")."\n";
+    show_icon(COOKIE_DELETE_ICON, "", "", "", "CD", "チャットのクッキーを削除します", "cookieDelete()")."\n";
+    show_icon(COOKIE_SAVE_ICON, "", "", "", "CD", "チャットの設定をファイルに保管します", "cookiesaveFile()")."\n";
+    print "</td>\n";
+}
+// 携帯使用
+if (USE_MOBILE) {
+    print '<td id="tools4" style="display:none;">';
+    print show_icon(MOBILE_ICON, "", "", "mobile", "携帯", "携帯用URLを紹介", 'openUrl(\'info-mobile.php\', \'\'); return false;');
+    print '</td>'."\n";
+}
+print "<td>";
+$onclick_help = 'toggleColumn(\'help_win\');';
+show_icon(HELP_ICON, '', '', 'help_win_icon', '?', 'ヘルプをON/OFFします', $onclick_help);
+?>
+</td>
+<td align="right" id="logoutBt"><input type="button" value="退室" name="logout" class="logout" id="logout" /></td>
+</table>
+
+<?php
+// ここから:TRPG市販ルール欄
+if (DICE_MAX && USE_CONSUMER_RULES) {
+    print '<table border="0" cellspacing="3" cellpadding="0" id="consumer_rule" style="display:none;">'."\n";
+    print "<tr>";
+    // SW
+    if (SW) {
+        print '<td><td class="nodisplay"><form onsubmit="return false;"></td>';
+        print "<td>";
+        show_icon(SW_ICON, "", "", "", "SW", "SWレーティング振り欄をON/OFFします", "toggleColumn('cr_sw');");
+        print '</td><td id="cr_sw" ';
+        if (!SW_SHOW) {
+            print 'style="display:none;" ';
+        }
+        print 'nowrap>レーティング<input name="rating" id="rating" value="10" size="2">';
+        print ' + ';
+        print '<span title="修正値を入力してください"><input type="text" size="4" value="" name="sw_revision" id="sw_revision"></span>';
+        print '<span title="クリティカル値:「回らない」場合は空欄にして下さい"> C:';
+        print '<input type="text" size="1" value="10" name="sw_clit" id="sw_clit">';
+        print '</span>';
+        show_icon(DICE_ICON, "", "", "", "レーティング", "右で指定したレーティングを入力します。", "insertSWRating(this.form, columnId);");
+        print '<input type="submit" style="display:none;" onclick="insertSWRating(this.form, columnId);">';
+        print '<td class="nodisplay"></form></td>'."\n";
+    }
+
+    // 一定値以上の出目カウント
+    if (PICKUP) {
+        print '<td>';
+        show_icon(PICKUP_ICON, "", "", "", "↑↓", "指定値以上/以下の出目のみを数えます", "toggleColumn('cr_pickup');");
+        print '</td><td class="nodisplay"><form onsubmit="return false;"></td>'."\n";
+        print '<td id="cr_pickup" ';
+        if (!PICKUP_SHOW) {
+            print 'style="display:none;" ';
+        }
+        print 'nowrap>';
+        print '<input id="pickup_num" value="'.PICKUP_DEFAULT_DICE_NUM.'" size="2">d';
+        print '<input id="pickup_dice_number" value="'.PICKUP_DEFAULT_DICE_NUMBER.'" size="2"> ';
+        print '+';
+        print '<span title="修正値を入力してください"><input type="text" size="2" value="" id="pickup_revision"></span>';
+        print ' <input type="text" size="1" value="'.PICKUP_DEFAULT_NUMBER.'" id="pickup_number">';
+        print '<select id="u_l"><option value="u" selected>以上<option value="l">以下</select>';
+        print ' <span title="最大の出目のみを合計します 例:5d6=2,4,3,3,5 = 5">MAXのみ:<input id="pickup_count_max" type="checkbox"></span>';
+        print ' <span title="クリティカル値 8:「8で」クリティカル 8-:8「以上」でクリティカル">C:';
+        print '<input type="text" size="1" value="'.PICKUP_DEFAULT_CLIT.'" id="pickup_clit">';
+        print '</span>';
+        print ' <span title="クリティカルで振り足されるダイスを発言欄に入力します">振り足す:<input id="pickup_crolling" type="checkbox"></span>';
+
+        print ' <span title="クリティカルはダイス出目の最大値として扱います 例:d10 クリティカル値8以上で出目9 = 10扱い">C=MAX:<input id="pickup_c_max" type="checkbox"></span>';
+        show_icon(DICE_ICON, "", "", "dice", "ダイス入力", "右&上で指定したダイスを入力します。", "insertPickupDice(columnId);");
+    print '<input type="submit" style="display:none;" onclick="insertPickupDice(columnId);">';
+        print '<td class="nodisplay"></form></td>'."\n";
+    }
+
+    print '</td></tr></table>'."\n";
+}
+?>
+<!-- ここまで、市販ルールツール欄 -->
+
+<!-- ここから、ダイスショートカット欄 -->
+<?php
+if (DICE_MAX && SHORTCUT_DICE) {
+    print '<table border="0" cellspacing="3" cellpadding="0" id="dice_shortcut" style="display:none;">'."\n";
+    print '<tr>'."\n";
+    for ($i=1;$i<=5;$i++) {
+        $dice_key = "dice_".$i;
+        print '<td class="nodisplay"><form onsubmit="return false;"></td>'."\n";
+        print '<td><input type="text" name="dice" class="diceShortCut" id="dice_'.$i.'" value="'.$cookies[$dice_key].'" onfocus="javascript:selectedColumnId(this, false);javascript:expandDiceShortcut(this);" onblur="javascript:selectedColumnId(this, false);shrinkDiceShortcut(this);"></td>'."\n";
+        print "<td>\n";
+        show_icon(DICE_ICON, "", "", "", "D", "右欄に設定のダイスを入力します", "insert(document.getElementById(columnId), 'dice_$i', $('#dice_$i').attr('value'), 0);");
+        print "</td>\n";
+        print '<input type="submit" style="display:none;" onclick="insert(document.getElementById(columnId), \'dice_'.$i.'\', $(\'#dice_'.$i.'\').attr(\'value\'), 0);">';
+        print '<td class="nodisplay"></form></td>'."\n";
+    }
+    print "<td>";
+    show_icon(DICE_SHORTCUT_SHOW_ICON, $img2, "", "dice_shortcut_icon", "↓", "ダイスショートカット欄2行目をON/OFFします", 'toggleColumn(\'dice_shortcut_2\')');
+    print "</td></tr>\n";
+    print '<tr id="dice_shortcut_2" style="display:none;">'."\n";
+    for ($i=6;$i<=10;$i++) {
+        $dice_key = "dice_".$i;
+        print '<td class="nodisplay"><form onsubmit="return false;"></td>'."\n";
+        print '<td><input type="text" name="dice" class="diceShortCut" id="dice_'.$i.'" value="'.$cookies[$dice_key].'" onfocus="javascript:selectedColumnId(this, false);javascript:expandDiceShortcut(this);" onblur="selectedColumnId(this, false);shrinkDiceShortcut(this);"></td>'."\n";
+        print '<td>';
+        show_icon(DICE_ICON, "", "", "dice", "D", "右欄に設定のダイスを入力します", "insert(document.getElementById(columnId), 'dice_$i', $('#dice_$i').attr('value'), 0);");
+        print "</td>\n";
+        print '<input type="submit" style="display:none;" onclick="insert(document.getElementById(columnId), \'dice_'.$i.'\', $(\'#dice_'.$i.'\').attr(\'value\'), 0);">';
+        print '<td class="nodisplay"></form></td>'."\n";
+    }
+    print '<td>&nbsp;</td>'."\n";
+    print '</tr></table>'."\n";
+}
+?>
+
+<!-- ここから、PC/NPC欄 -->
+<?php
+if (PC_NUM >= 1) {
+    for ($i=0; $i<=PC_NUM; $i++) {
+        $pc_name_key = "pc_name_".$i;
+        $pc_color_key = "pc_color_".$i;
+        $pc_color_select_key = "pc_color_select_".$i;
+        $pc_status_key = "pc_status_".$i;
+        print '<table border="0" cellspacing="3" cellpadding="0" id="pc_'.$i.'" class="add_pc"; style="display:none;">'."\n";
+        print '<tr>'."\n";
+        print '<td class="nodisplay"><form onsubmit="return false;" id="'.$i.'"></td>'."\n";
+        print '<td><input type="submit" value="発言" class="" id="submit" style="display:inline" name="submit" onclick="comment(this.form)"></td>'."\n";
+        print '<td align="left" nowrap><input type="text" name="pc_name" value="'.$cookies[$pc_name_key].'" size="6" class="pc_name inputmain" id="pc_name_'.$i.'" style="font-weight:bold; color:#'.$cookies[$pc_color_key].'" onblur="selectedColumnId(this, true)"></td>'."\n";
+
+if (USER_WHISPER) {
+    print "<td>\n";
+    $onclick_whisper = "changeWhisperConfigClear(this);";
+    show_icon(WHISPER_ON_ICON, "", "", "whisper_mark_".$i, "∂","「ささやき」状態を表示", $onclick_whisper);
+    print "</td>\n";
+    print "<td>";
+    print '<input type="text" name="whisper_to" value="全員" size="6" class="whisper_to" id="whisper_to_'.$i.'" style="display:inline;">';
+    print '<input type="hidden" name="whisper_to_hash" class="whisper_to_hash" id="whisper_to_hash_'.$i.'" value="">';
+    print "</td>\n";
+}
+
+        print '<td><input type="text" name="pc_input" class="input_comment inputmain" size="75%" id="pc_input_'.$i.'" onblur="selectedColumnId(this, true);">';
+        print "</td>\n";
+        print '<td>';
+        show_icon(PC_STATUS_ICON, "", "", "", "状態", "ステータス欄をON/OFFします", "toggleColumn('status_$i');");
+        if ($i != PC_NUM-1) {
+            $num = $i+1;
+            show_icon(PC_SHOW_ICON, PC_HIDE_ICON, "", "PC_btn_$i", "PC欄", "PC欄を追加/削除します", "toggleColumn('pc_$num');");
+        } else {
+            print " ";
+        }
+        print "</td>\n";
+        print '</tr>'."\n";
+        print '</table>'."\n";
+        print '<table border="0" cellspacing="3" cellpadding="0" class="status_column" id="status_'.$i.'" style="display:none;">'."\n";
+        print '<tr>'."\n";
+        print '<td nowrap>名前色</td>'."\n";
+        print '<td id="select_color_'.$i.'">';
+        print '<select onChange=\'changeColor(this)\' style="font-weight: bold; color:#'.$cookies[$pc_color_key].';" id="pc_color_select" name="pc_color_select_'.$i.'" class="inputmain">'."\n";
+        colorbox("pc_color", $cookies[$pc_color_select_key]);
+        print '</select></td>'."\n";
+        print '<td id="free_color_'.$i.'" style="display:none;"><input type="text" value="'.$cookies[$pc_color_key].'" size="10" name="pc_color" id="pc_color_'.$i.'" style="font-weight: bold; color:#'.$cookies[$pc_color_key].';" onkeyup="changeColor(this)" class="inputmain"></td>'."\n";
+        print '<td>';
+        show_icon(PC_FONT_ICON, "", "", "", "F", "クリックでPC名文字色入力方法を変更できます", "toggleColumn('free_color_$i');toggleColumn('select_color_$i');");
+        print "</td>\n";
+        print '<td nowrap>ステータス:<input type="text" name="status" class="status inputmain" value="';
+        if ($cookies[$pc_status_key]) { 
+            print $cookies[$pc_status_key];
+        } else {
+            print STATUS;
+        }
+        print '" id="pc_status_'.$i.'" onblur="selectedColumnId(this, true)"></td>'."\n";
+        print '<td><input name="show_status" type="checkbox" class="show_status"></td>'."\n";
+        print '<td nowrap> 表示</td>'."\n";
+        print '<td class="nodisplay"></form></td>'."\n";
+        print '</tr>'."\n";
+        print '</table>'."\n";
+    }
+}
+ ?>
+
+<!-- ここから:PLログイン画面欄  -->
+<table border="0" cellspacing="3" cellpadding="0" id="offline" style="display:inline; height:30px;">
+<tr>
+<td class="nodisplay"><form id="chat_off" name="chat" onsubmit="return false;" action=""></td>
+<td nowrap>お名前<input type="text" name="name_off" value="<?php if ($cookies[name_off]) { print $cookies[name_off]; } else { print NONAME; } ?>" size="8" class="inputname" id="name_off"></td>
+<td nowrap>パスワード<input type="password" name="pwd_off" size="6" class="inputpwd" id="pwd_off"></td>
+<td width="35"><input type="submit" value="入室" name="login" class="login_btn_area" id="login" /></td>
+<td><?php show_icon(RELOAD_ICON, "", "", "reload", "R", "チャット画面をリフレッシュ!", "window.mainframe.location.reload()"); ?></td>
+<td class="nodisplay"></form></td>
+<td><?php show_icon(HELP_ICON, '', '', 'help_win_icon', '?', 'ヘルプをON/OFFします', $onclick_help); ?></td>
+<td class="nodisplay"><form action="<?php print HOME; ?>" target="<?php print HOME_TARGET; ?>"></td>
+<td><input type="image" class="btn" src="<?php print HOME_ICON; ?>" value="submit" alt="ホーム" title="ホーム"></td>
+
+<?php 
+// FreeMap連動
+if (FREEMAP_URL) {
+    print '<td>';
+    print show_icon(FREEMAP_ICON, "", "", "freemap", "MAP", "マップとコマを使う", 'openUrl(\''.FREEMAP_URL.'\', \'map\'); return false;');
+    print '</td>';
+}
+
+// 過去ログ表示
+if (!(DELETE_LAST_PASTLOG && !PUBLIC_PASTLOG)) { 
+    print '<td>';
+    print show_icon(PASTLOG_SHOW_ICON, "", "", "pastlog_show", "ログ", "過去ログを見る", 'openUrl(\'./pastlog_index.php\', \'pastlog\'); return false;');
+    print '</td>';
+
+    if (!DELETE_LAST_PASTLOG) {
+        print '<td>';
+        print show_icon(PASTLOG_DL_ICON, "", "", "pastlog_output", "DL", "過去ログをHTMLでダウンロード", "pastlogHtmlOutput(); return false;");
+        print "</td>";
+    }
+}
+
+if (COOKEI_EXPIRE && COOKIE) {
+    print "<td>";
+    show_icon(COOKIE_LOAD_ICON, "", "", "", "CD", "チャットの設定をファイルから読み込みます", "toggleColumn('load_cookie'); return false;")."\n";
+    print "</td>\n";
+}
+
+// 携帯使用
+if (USE_MOBILE) {
+    print '<td>';
+    print show_icon(MOBILE_ICON, "", "", "mobile", "携帯", "携帯用URLを紹介", 'openUrl(\'./info-mobile.php\', \'\'); return false;');
+    print '</td>';
+}
+
+?>
+<td class="nodisplay"></form></td>
+
+</tr>
+</table>
index 04da416..418a25b 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 3ec1bca..6e8a8ef 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 9669e1a..f5c85f4 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
diff --git a/lib/card/index.html b/lib/card/index.html
new file mode 100644 (file)
index 0000000..e7692e6
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r
+<html>\r
+<head>\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
+<title>TRPGのためのAjaxチャット</title>\r
+</head>\r
+<body>\r
+\r
+TRPGのためのAjaxChat配布サイトは<a href="http://trpgtools-onweb.sourceforge.jp/">こちら。</a>\r
+\r
+</body>\r
+</html>\r
diff --git a/lib/card/sample/card_config.png b/lib/card/sample/card_config.png
new file mode 100644 (file)
index 0000000..a4e797c
Binary files /dev/null and b/lib/card/sample/card_config.png differ
diff --git a/lib/card/sample/sample.ini b/lib/card/sample/sample.ini
new file mode 100644 (file)
index 0000000..2fd394c
--- /dev/null
@@ -0,0 +1,30 @@
+[config] // 変更不可。
+name = "サンプルカード" // カード名
+filename = "sample.ini" // カード設定ファイル名
+bg_image = "" // カード裏面画像。空欄の場合管理画面設定
+bg_color = "" // カード表面の背景色。空欄の場合管理画面設定
+text_color = "" // カード表面のテキスト色。空欄の場合管理画面設定
+text_prefix = ""// textの前に固定表示する文言
+text_postfix = ""  // textの後に固定表示する文言
+is_head = false // 「逆位置」:true=あり false=なし
+order = 200 // 「カード変更」欄の表示順。大きいほど下
+password = "" // カード使用パスワード。空欄で「誰でも使用可」(パスワード機能はver2.7以降対応予定)
+
+[card_1] // カードID。カード1枚1枚に、別のIDをつけてください。
+name_short = "1" //表向きカードで表示するカード名。空欄不可
+name_long = "1 最初のカード" //カード詳細のタイトル表示。空欄不可
+text = "このカードの詳細説明。<br>HTMLタグ有効" // カード詳細で表示する説明
+image_s = "" // 表向きカードで表示する画像
+image_b = "" // カード詳細で表示する画像
+text_color = "ff0000" // name_shortの色設定。空欄でtext_colorと同じ
+
+[card_2]
+name_short = "2"
+name_long = "2 2番目のカード"
+text = "2枚目"
+image_s = ""
+image_b = ""
+text_color = ""
+
+(以下、カード枚数分繰り返し)
+・・・・・・・・
\ No newline at end of file
diff --git a/lib/card/tarot.ini b/lib/card/tarot.ini
new file mode 100644 (file)
index 0000000..32641c8
--- /dev/null
@@ -0,0 +1,165 @@
+[config]
+name = "タロット"
+filename = "tarot.ini"
+bg_image = "./image/card/tarot/hex_indigo.jpg"
+bg_color = ""
+text_color = ""
+text_prefix = ""
+text_postfix = "<br><br> ※ 解釈は一例です"
+is_head = true
+order = 110
+password = ""
+
+[tarot_0]
+name_short = "愚者"
+name_long = "0 愚者 THE FOOL"
+text = "正位置…自由 大胆 型にはまらない 天才<br>逆位置…軽率 わがまま 無謀 落ちこぼれ "
+image_s = "./image/card/tarot/Waite/small/0.jpg"
+image_b = "./image/card/tarot/Waite/large/0.jpg"
+
+[tarot_1]
+name_short = "魔術師"
+name_long = "Ⅰ 魔術師 THE MAGICIAN"
+text = "正位置…物事の始まり 起源 創造<br>逆位置…混迷 消極性"
+image_s = "./image/card/tarot/Waite/small/1.jpg"
+image_b = "./image/card/tarot/Waite/large/1.jpg"
+
+[tarot_2]
+name_short = "女教皇"
+name_long = " Ⅱ 女教皇 THE HIGHPRIESTESS"
+text = "正位置…知性 平常心 洞察力 独身女性<br>逆位置…激情 無神経 我が儘 ヒステリー"
+image_s = "./image/card/tarot/Waite/small/2.jpg"
+image_b = "./image/card/tarot/Waite/large/2.jpg"
+
+[tarot_3]
+name_short = "女帝"
+name_long = "Ⅲ 女帝 THE EMPRESS"
+text = "正位置…繁栄 豊穣 母権 家庭の形成<br>逆位置…挫折 軽率 虚栄心 怠惰"
+image_s = "./image/card/tarot/Waite/small/3.jpg"
+image_b = "./image/card/tarot/Waite/large/3.jpg"
+
+[tarot_4]
+name_short = "皇帝"
+name_long = "Ⅳ 皇帝 THE EMPEROR"
+text = "正位置…支配 安定 成就・達成 責任感の強さ<br>逆位置…未熟 横暴 傲岸不遜 無責任"
+image_s = "./image/card/tarot/Waite/small/4.jpg"
+image_b = "./image/card/tarot/Waite/large/4.jpg"
+
+[tarot_5]
+name_short = "教皇"
+name_long = "Ⅴ 教皇 THE HIEROPHANT"
+text = "正位置…慈悲 連帯・協調 法令・規律の遵守<br>逆位置…守旧性(アンシャン・レジーム) 束縛 躊躇 お節介"
+image_s = "./image/card/tarot/Waite/small/5.jpg"
+image_b = "./image/card/tarot/Waite/large/5.jpg"
+
+[tarot_6]
+name_short = "恋人"
+name_long = "Ⅵ 恋人たち THE LOVERS"
+text = "正位置…合一 恋愛・性愛 趣味への没頭 試練の克服<br>逆位置…誘惑 不道徳 結婚生活の破綻"
+image_s = "./image/card/tarot/Waite/small/6.jpg"
+image_b = "./image/card/tarot/Waite/large/6.jpg"
+
+[tarot_7]
+name_short = "戦車"
+name_long = "Ⅶ 戦車 THE CHARIOT"
+text = "正位置…勝利 征服 援軍 独立・解放<br>逆位置…暴走 不注意 好戦的"
+image_s = "./image/card/tarot/Waite/small/7.jpg"
+image_b = "./image/card/tarot/Waite/large/7.jpg"
+
+[tarot_8]
+name_short = "力"
+name_long = "Ⅷ 力 THE STRENGTH"
+text = "正位置…力量の大きさ 強固な意志 不撓不屈 持久戦<br>逆位置…甘え 引っ込み思案 権勢を振るう"
+image_s = "./image/card/tarot/Waite/small/8.jpg"
+image_b = "./image/card/tarot/Waite/large/8.jpg"
+
+[tarot_9]
+name_short = "隠者"
+name_long = " 隠者 THE HERMIT"
+text = "正位置…経験則 高尚な助言 秘匿 単独行動<br>逆位置…閉鎖性 陰湿 邪推"
+image_s = "./image/card/tarot/Waite/small/9.jpg"
+image_b = "./image/card/tarot/Waite/large/9.jpg"
+
+[tarot_10]
+name_short = "運命"
+name_long = "Ⅹ 運命の輪 WHEEL OF FORTUNE"
+text = "正位置…転換点 幸運の到来 定められた運命<br>逆位置…情勢の急激な悪化 アクシデントの到来"
+image_s = "./image/card/tarot/Waite/small/10.jpg"
+image_b = "./image/card/tarot/Waite/large/10.jpg"
+
+[tarot_11]
+name_short = "正義"
+name_long = "ⅩⅠ 正義 JUSTICE"
+text = "正位置…公正・公平 善行 両立<br>逆位置…不正 偏向 不均衡 被告の立場に置かれる"
+image_s = "./image/card/tarot/Waite/small/11.jpg"
+image_b = "./image/card/tarot/Waite/large/11.jpg"
+
+[tarot_12]
+name_short = "吊"
+name_long = "ⅩⅡ 吊された男 THE HAMGED MAN"
+text = "正位置…修行 忍耐 奉仕 妥協<br>逆位置…徒労 痩せ我慢 欲望に負ける"
+image_s = "./image/card/tarot/Waite/small/12.jpg"
+image_b = "./image/card/tarot/Waite/large/12.jpg"
+
+[tarot_13]
+name_short = "死"
+name_long = "ⅩⅢ 死 DEATH"
+text = "正位置…終末 破滅 離散 死の予兆<br>逆位置…再スタート 挫折から立ち直る"
+image_s = "./image/card/tarot/Waite/small/13.jpg"
+image_b = "./image/card/tarot/Waite/large/13.jpg"
+
+[tarot_14]
+name_short = "節制"
+name_long = "ⅩⅣ 節制 TEMPERANCE"
+text = "正位置の意味…調和 自制 節度 献身<br>逆位置…浪費 消耗 生活の乱れ"
+image_s = "./image/card/tarot/Waite/small/14.jpg"
+image_b = "./image/card/tarot/Waite/large/14.jpg"
+
+[tarot_15]
+name_short = "悪魔"
+name_long = "ⅩⅤ 悪魔 THE DEVIL"
+text = "正位置…裏切り 拘束 堕落<br>逆位置…回復 覚醒 新たな出会い"
+image_s = "./image/card/tarot/Waite/small/15.jpg"
+image_b = "./image/card/tarot/Waite/large/15.jpg"
+
+[tarot_16]
+name_short = "塔"
+name_long = "ⅩⅥ 塔 THE TOWER"
+text = "正位置…崩壊 災害 悲劇<br>逆位置…緊迫 突然のアクシデント 誤解"
+image_s = "./image/card/tarot/Waite/small/16.jpg"
+image_b = "./image/card/tarot/Waite/large/16.jpg"
+
+[tarot_17]
+name_short = "星"
+name_long = "ⅩⅦ 星 THE STAR"
+text = "正位置…希望 ひらめき 願いが叶う<br>逆位置…失望 無気力 高望み"
+image_s = "./image/card/tarot/Waite/small/17.jpg"
+image_b = "./image/card/tarot/Waite/large/17.jpg"
+
+[tarot_18]
+name_short = "月"
+name_long = "ⅩⅧ 月 THE MOON"
+text = "正位置…不安定 幻惑 現実逃避 親友の裏切り<br>逆位置…軽微なミス 過去が蒸し返される 徐々に好転"
+image_s = "./image/card/tarot/Waite/small/18.jpg"
+image_b = "./image/card/tarot/Waite/large/18.jpg"
+
+[tarot_19]
+name_short = "太陽"
+name_long = "ⅩⅨ 太陽 THE SUN"
+text = "正位置…成功 誕生 祝福 約束された将来<br>逆位置…不調 落胆 衰退"
+image_s = "./image/card/tarot/Waite/small/19.jpg"
+image_b = "./image/card/tarot/Waite/large/19.jpg"
+
+[tarot_20]
+name_short = "審判"
+name_long = "ⅩⅩ 審判 JUGDMENT"
+text = "正位置…復活 結果 発展<br>逆位置…悔恨 行き詰まり バッドニュース"
+image_s = "./image/card/tarot/Waite/small/20.jpg"
+image_b = "./image/card/tarot/Waite/large/20.jpg"
+
+[tarot_21]
+name_short = "世界"
+name_long = "ⅩⅩⅠ 世界 THE WORLD"
+text = "正位置…完全 総合 成就<br>逆位置…未完成 臨界点 調和の崩壊"
+image_s = "./image/card/tarot/Waite/small/21.jpg"
+image_b = "./image/card/tarot/Waite/large/21.jpg"
diff --git a/lib/card/trump.ini b/lib/card/trump.ini
new file mode 100644 (file)
index 0000000..4f28b75
--- /dev/null
@@ -0,0 +1,246 @@
+[config]
+name = "トランプ"
+filename = "trump.ini"
+order = 100
+
+[spade_A]
+name_short = "&spades;A"
+name_long = "スペードのエース"
+
+[spade_2]
+name_short = "&spades;2"
+name_long = "スペードの2"
+
+[spade_3]
+name_short = "&spades;3"
+name_long = "スペードの3"
+
+[spade_4]
+name_short = "&spades;4"
+name_long = "スペードの4"
+
+[spade_5]
+name_short = "&spades;5"
+name_long = "スペードの5"
+
+[spade_6]
+name_short = "&spades;6"
+name_long = "スペードの6"
+
+[spade_7]
+name_short = "&spades;7"
+name_long = "スペードの7"
+
+[spade_8]
+name_short = "&spades;8"
+name_long = "スペードの8"
+
+[spade_9]
+name_short = "&spades;9"
+name_long = "スペードの9"
+
+[spade_10]
+name_short = "&spades;10"
+name_long = "スペードの10"
+
+[spade_11]
+name_short = "&spades;J"
+name_long = "スペードのJ"
+
+[spade_12]
+name_short = "&spades;Q"
+name_long = "スペードのQ"
+
+[spade_13]
+name_short = "&spades;K"
+name_long = "スペードのK"
+
+[club_A]
+name_short = "&clubs;A"
+name_long = "クラブのエース"
+
+[club_2]
+name_short = "&clubs;2"
+name_long = "クラブの2"
+
+[club_3]
+name_short = "&clubs;3"
+name_long = "クラブの3"
+
+[club_4]
+name_short = "&clubs;4"
+name_long = "クラブの4"
+
+[club_5]
+name_short = "&clubs;5"
+name_long = "クラブの5"
+
+[club_6]
+name_short = "&clubs;6"
+name_long = "クラブの6"
+
+[club_7]
+name_short = "&clubs;7"
+name_long = "クラブの7"
+
+[club_8]
+name_short = "&clubs;8"
+name_long = "クラブの8"
+
+[club_9]
+name_short = "&clubs;9"
+name_long = "クラブの9"
+
+[club_10]
+name_short = "&clubs;10"
+name_long = "クラブの10"
+
+[club_11]
+name_short = "&clubs;J"
+name_long = "クラブのJ"
+
+[club_12]
+name_short = "&clubs;Q"
+name_long = "クラブのQ"
+
+[club_13]
+name_short = "&clubs;K"
+name_long = "クラブのK"
+
+[heart_A]
+name_short = "&hearts;A"
+name_long = "ハートのエース"
+text_color = "ff0000"
+
+[heart_2]
+name_short = "&hearts;2"
+name_long = "ハートの2"
+text_color = "ff0000"
+
+[heart_3]
+name_short = "&hearts;3"
+name_long = "ハートの3"
+text_color = "ff0000"
+
+[heart_4]
+name_short = "&hearts;4"
+name_long = "ハートの4"
+text_color = "ff0000"
+
+[heart_5]
+name_short = "&hearts;5"
+name_long = "ハートの5"
+text_color = "ff0000"
+
+[heart_6]
+name_short = "&hearts;6"
+name_long = "ハートの6"
+text_color = "ff0000"
+
+[heart_7]
+name_short = "&hearts;7"
+name_long = "ハートの7"
+text_color = "ff0000"
+
+[heart_8]
+name_short = "&hearts;8"
+name_long = "ハートの8"
+text_color = "ff0000"
+
+[heart_9]
+name_short = "&hearts;9"
+name_long = "ハートの9"
+text_color = "ff0000"
+
+[heart_10]
+name_short = "&hearts;10"
+name_long = "ハートの10"
+text_color = "ff0000"
+
+[heart_11]
+name_short = "&hearts;J"
+name_long = "ハートのJ"
+text_color = "ff0000"
+
+[heart_12]
+name_short = "&hearts;Q"
+name_long = "ハートのQ"
+text_color = "ff0000"
+
+[heart_13]
+name_short = "&hearts;K"
+name_long = "ハートのK"
+text_color = "ff0000"
+
+[diamond_A]
+name_short = "&diams;A"
+name_long = "ダイヤのエース"
+text_color = "ff0000"
+
+[diamond_2]
+name_short = "&diams;2"
+name_long = "ダイヤの2"
+text_color = "ff0000"
+
+[diamond_3]
+name_short = "&diams;3"
+name_long = "ダイヤの3"
+text_color = "ff0000"
+
+[diamond_4]
+name_short = "&diams;4"
+name_long = "ダイヤの4"
+text_color = "ff0000"
+
+[diamond_5]
+name_short = "&diams;5"
+name_long = "ダイヤの5"
+text_color = "ff0000"
+
+[diamond_6]
+name_short = "&diams;6"
+name_long = "ダイヤの6"
+text_color = "ff0000"
+
+[diamond_7]
+name_short = "&diams;7"
+name_long = "ダイヤの7"
+text_color = "ff0000"
+
+[diamond_8]
+name_short = "&diams;8"
+name_long = "ダイヤの8"
+text_color = "ff0000"
+
+[diamond_9]
+name_short = "&diams;9"
+name_long = "ダイヤの9"
+text_color = "ff0000"
+
+[diamond_10]
+name_short = "&diams;10"
+name_long = "ダイヤの10"
+text_color = "ff0000"
+
+[diamond_11]
+name_short = "&diams;J"
+name_long = "ダイヤのJ"
+text_color = "ff0000"
+
+[diamond_12]
+name_short = "&diams;Q"
+name_long = "ダイヤのQ"
+text_color = "ff0000"
+
+[diamond_13]
+name_short = "&diams;K"
+name_long = "ダイヤのK"
+text_color = "ff0000"
+
+[Joker_1]
+name_short = "Joker"
+name_long = "ジョーカー(1)"
+
+[Joker_2]
+name_short = "Joker"
+name_long = "ジョーカー(2)"
diff --git a/lib/card/trump_noJoker.ini b/lib/card/trump_noJoker.ini
new file mode 100644 (file)
index 0000000..825b284
--- /dev/null
@@ -0,0 +1,238 @@
+[config]
+name = "トランプ(ジョーカーなし)"
+filename = "trump_noJoker.ini"
+order = 101
+
+[spade_A]
+name_short = "&spades;A"
+name_long = "スペードのエース"
+
+[spade_2]
+name_short = "&spades;2"
+name_long = "スペードの2"
+
+[spade_3]
+name_short = "&spades;3"
+name_long = "スペードの3"
+
+[spade_4]
+name_short = "&spades;4"
+name_long = "スペードの4"
+
+[spade_5]
+name_short = "&spades;5"
+name_long = "スペードの5"
+
+[spade_6]
+name_short = "&spades;6"
+name_long = "スペードの6"
+
+[spade_7]
+name_short = "&spades;7"
+name_long = "スペードの7"
+
+[spade_8]
+name_short = "&spades;8"
+name_long = "スペードの8"
+
+[spade_9]
+name_short = "&spades;9"
+name_long = "スペードの9"
+
+[spade_10]
+name_short = "&spades;10"
+name_long = "スペードの10"
+
+[spade_11]
+name_short = "&spades;J"
+name_long = "スペードのJ"
+
+[spade_12]
+name_short = "&spades;Q"
+name_long = "スペードのQ"
+
+[spade_13]
+name_short = "&spades;K"
+name_long = "スペードのK"
+
+[club_A]
+name_short = "&clubs;A"
+name_long = "クラブのエース"
+
+[club_2]
+name_short = "&clubs;2"
+name_long = "クラブの2"
+
+[club_3]
+name_short = "&clubs;3"
+name_long = "クラブの3"
+
+[club_4]
+name_short = "&clubs;4"
+name_long = "クラブの4"
+
+[club_5]
+name_short = "&clubs;5"
+name_long = "クラブの5"
+
+[club_6]
+name_short = "&clubs;6"
+name_long = "クラブの6"
+
+[club_7]
+name_short = "&clubs;7"
+name_long = "クラブの7"
+
+[club_8]
+name_short = "&clubs;8"
+name_long = "クラブの8"
+
+[club_9]
+name_short = "&clubs;9"
+name_long = "クラブの9"
+
+[club_10]
+name_short = "&clubs;10"
+name_long = "クラブの10"
+
+[club_11]
+name_short = "&clubs;J"
+name_long = "クラブのJ"
+
+[club_12]
+name_short = "&clubs;Q"
+name_long = "クラブのQ"
+
+[club_13]
+name_short = "&clubs;K"
+name_long = "クラブのK"
+
+[heart_A]
+name_short = "&hearts;A"
+name_long = "ハートのエース"
+text_color = "ff0000"
+
+[heart_2]
+name_short = "&hearts;2"
+name_long = "ハートの2"
+text_color = "ff0000"
+
+[heart_3]
+name_short = "&hearts;3"
+name_long = "ハートの3"
+text_color = "ff0000"
+
+[heart_4]
+name_short = "&hearts;4"
+name_long = "ハートの4"
+text_color = "ff0000"
+
+[heart_5]
+name_short = "&hearts;5"
+name_long = "ハートの5"
+text_color = "ff0000"
+
+[heart_6]
+name_short = "&hearts;6"
+name_long = "ハートの6"
+text_color = "ff0000"
+
+[heart_7]
+name_short = "&hearts;7"
+name_long = "ハートの7"
+text_color = "ff0000"
+
+[heart_8]
+name_short = "&hearts;8"
+name_long = "ハートの8"
+text_color = "ff0000"
+
+[heart_9]
+name_short = "&hearts;9"
+name_long = "ハートの9"
+text_color = "ff0000"
+
+[heart_10]
+name_short = "&hearts;10"
+name_long = "ハートの10"
+text_color = "ff0000"
+
+[heart_11]
+name_short = "&hearts;J"
+name_long = "ハートのJ"
+text_color = "ff0000"
+
+[heart_12]
+name_short = "&hearts;Q"
+name_long = "ハートのQ"
+text_color = "ff0000"
+
+[heart_13]
+name_short = "&hearts;K"
+name_long = "ハートのK"
+text_color = "ff0000"
+
+[diamond_A]
+name_short = "&diams;A"
+name_long = "ダイヤのエース"
+text_color = "ff0000"
+
+[diamond_2]
+name_short = "&diams;2"
+name_long = "ダイヤの2"
+text_color = "ff0000"
+
+[diamond_3]
+name_short = "&diams;3"
+name_long = "ダイヤの3"
+text_color = "ff0000"
+
+[diamond_4]
+name_short = "&diams;4"
+name_long = "ダイヤの4"
+text_color = "ff0000"
+
+[diamond_5]
+name_short = "&diams;5"
+name_long = "ダイヤの5"
+text_color = "ff0000"
+
+[diamond_6]
+name_short = "&diams;6"
+name_long = "ダイヤの6"
+text_color = "ff0000"
+
+[diamond_7]
+name_short = "&diams;7"
+name_long = "ダイヤの7"
+text_color = "ff0000"
+
+[diamond_8]
+name_short = "&diams;8"
+name_long = "ダイヤの8"
+text_color = "ff0000"
+
+[diamond_9]
+name_short = "&diams;9"
+name_long = "ダイヤの9"
+text_color = "ff0000"
+
+[diamond_10]
+name_short = "&diams;10"
+name_long = "ダイヤの10"
+text_color = "ff0000"
+
+[diamond_11]
+name_short = "&diams;J"
+name_long = "ダイヤのJ"
+text_color = "ff0000"
+
+[diamond_12]
+name_short = "&diams;Q"
+name_long = "ダイヤのQ"
+text_color = "ff0000"
+
+[diamond_13]
+name_short = "&diams;K"
+name_long = "ダイヤのK"
+text_color = "ff0000"
index e06c567..73e8d48 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index bcd49d9..c0d4901 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 710b8c0..fa2848f 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index e1f5849..ad72aec 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 55db1bb..5a7f16c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 874358f..6a2d3e5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
@@ -953,7 +953,7 @@ function setCardManageToChat(data) {
                     }
                 });
             } else {
-                window.mainframe.getLog(false);
+                window.mainframe.getLog(false, false);
             }
         }
     });
index bb62635..c3cb020 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index cc76f06..bd37240 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 3aae300..e0eefec 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
@@ -87,7 +87,7 @@ function writeComment(params)
         url: writescript+params,
         success: function(data) {
             // 受信完了イベント
-            window.mainframe.getLog(true);
+            window.mainframe.getLog(true, false);
         }
     });
 }
index e463a96..1235adb 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
@@ -22,10 +22,12 @@ var datetimeFormat = '<?php print DATETIME_FORMAT; ?>';
 var showDatetime = '<?php print SHOW_DATETIME; ?>';
 var showDatetimeYear = '<?php print SHOW_DATETIME_YEAR; ?>';
 var showDatetimeSecond = '<?php print SHOW_DATETIME_SECOND; ?>';
-var showMobileIcon = '<?php print SHOW_MOBILE_COM;?>';
+var showMobileCom = '<?php print SHOW_MOBILE_COM;?>';
+var mobileIcon = '<?php print MOBILE_ICON;?>';
 var statusColor = '<?php print STATUS_COLOR; ?>';
 var logfile = '<?php print RECENT_LOG;?>';
-var mobileMark = '<?php show_mobile_icon(MOBILE_ICON, '', '', '', 'M', '', ''); ?>';
+var logfile = '<?php print RECENT_LOG;?>';
+var flowDesc = '<?php print FLOW_DESC; ?>';
 <?php if (USE_SE): ?>
 var userSeSrc = '<?php print SE_USER; ?>';
 var systemSeSrc = '<?php print SE_SYSTEM; ?>';
@@ -35,12 +37,13 @@ userSeObj.src = userSeSrc;
 systemSeObj.src = systemSeSrc;
 <?php else: ?>
 var useSe = false;
+var userSeSrc = '';
+var systemSeSrc = '';
 <?php endif; ?>
-
 // ログイン・ログオフ
 function login() {
 <?php if (UNPUBLIC_LAST_PASTLOG): ?>
-    getLog(false);
+    getLog(false, false);
 <?php endif; ?>
 <?php 
 if (OFFWINDOW_MSG || (UNPUBLIC_LAST_PASTLOG && NO_LAST_PASTLOG_MSG)) {
@@ -51,11 +54,11 @@ if (OFFWINDOW_MSG || (UNPUBLIC_LAST_PASTLOG && NO_LAST_PASTLOG_MSG)) {
     fontSizeChange("0");
     lineSpaceChange("0");
 
-    Timer = setInterval('getLog(true)', getdata_on);
+    Timer = setInterval('getLog(true, true)', getdata_on);
 }
 function logout() {
     clearInterval(Timer);
-    Timer = setInterval('getLog(true)', getdata_off);
+    Timer = setInterval('getLog(true, true)', getdata_off);
 <?php 
 if (OFFWINDOW_MSG || (UNPUBLIC_LAST_PASTLOG && NO_LAST_PASTLOG_MSG)) {
     print '    window.parent.document.getElementById("offline_win").style.display = "";';
@@ -69,11 +72,9 @@ $(function()
 <?php if (!UNPUBLIC_LAST_PASTLOG): ?>
     //現在ログの取得
     getLog(true);
-    Timer = setInterval('getLog(true)', getdata_off);
-    showMember(true);
+    Timer = setInterval('getLog(true, true)', getdata_off);
 <?php else: ?>
     $("#main_console").after('<?php print NO_LAST_PASTLOG_MSG; ?>');
-    showMember(false);
 <?php endif; ?>
 
     // ウィンドウサイズに合わせる
index 64385ef..f440f29 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
@@ -9,46 +9,56 @@
  *****************/
 
 // ログ取得
-function getLog(isUpdate){
+function getLog(isUpdate, cacheFlg){
     var log = logfile+'?e='+dateD;
     $.ajax({
         type: "get",
         ifModified: true,
+//        cache: cacheFlg,
+        cache: false,
         url: log,
         success: function(data){
         // 最新行番号の取得
-        if (!isNaN(document.getElementById('id'))) {
-            last_id = 0;
-        } else {
-            last_id = document.getElementById('id').firstChild.nodeValue;
+        var last_id = 0;
+        var nowData = $('.row').get();
+        if (nowData) {
+            if (flowDesc) {
+                var latestData = nowData.shift();
+            } else {
+                var latestData = nowData.pop();
+            }
+            if (latestData != undefined) {
+                last_id = latestData.id;
+            }
         }
+
         // ログの成形
         var recent = data.split('\n');
 
         var text = new Array();
+        var seFlg = false;
+        var systemSeSetting = false;
+        var userSetting = false;
+        if (useSe && isUpdate) {
+            var seSetting = $("#seSetting").attr("checked");
+            if (seSetting) {
+                systemSeSetting = $("#systemSeSetting").attr("checked");
+                userSetting = $("#userSetting").attr("checked");
+            }
+        }
         for(var i=0;i<recent.length; i++){
 
-        // 各行を<>で分割して配列に
+            // 各行を<>で分割して配列に
             var unit = recent[i].split('<>');
 
-        // データがなければ終了
+            // データがなければ終了
             // last_idで終点判断
             if(unit[0] && last_id < unit[0]){
-                    text[i] = setLogData(unit);
-            } else {
-                break;
-            }
-        }
-        var text_rev = text.reverse();
+                text[i] = setLogData(unit);
 
-        var seFlg = false;
-            // 発言音
-            if (useSe && isUpdate && !seFlg) {
-                var seSetting = $("#seSetting").attr("checked");
-                if (seSetting) {
-                    var systemSeSetting = $("#systemSeSetting").attr("checked");
-                    var userSetting = $("#userSetting").attr("checked");
-                                               if (systemSeSrc && systemSeSetting && unit[2] == systemName) {
+                // SE
+                if (!seFlg) {
+                    if (systemSeSrc && systemSeSetting && unit[2] == systemName) {
                         document.getElementById('se').src = systemSeObj.src;
                         seFlg = true;
                     } else if (userSeSrc && userSetting && unit[2] != systemName && unit[1] != window.parent.document.getElementById("name_on").value) {
@@ -56,19 +66,62 @@ function getLog(isUpdate){
                         seFlg = true;
                     }
                 }
+
+            } else {
+                break;
             }
-        for(var i=0;i<text_rev.length; i++){
+        }
+
+        if (!text.length) {
+            return false;
+        }
+
         //出力
-            $("#main_console").after(text_rev[i]);
-            // ログを「流す」
-            if (deleteLastPastLog && document.getElementById("chatwindow").childNodes.length > maxNum) {
-                document.getElementById("chatwindow").removeChild(document.getElementById("chatwindow").lastChild);
+        outputLog(text, deleteLastPastLog, isUpdate);
+
+        // 在室表示
+        showMember(true);
+
+        if (!flowDesc) {
+            if ($("#isScrollBottom").attr("checked")) {
+                var windowBottomOffset = $('#isScrollBottom').offset().top;
+                $('html,body').animate({scrollTop: windowBottomOffset}, 100);
             }
         }
+
     }
     });
-    // 在室表示
-    showMember(true);
+}
+
+// ログ出力
+function outputLog(text, deleteLastLogFlg, isUpdate) {
+    if (!text.length) {
+        return false;
+    }
+
+    text = text.reverse();
+    for(var i=0;i<text.length; i++){
+        if (flowDesc) {
+            $("#main_console").after(text[i]);
+        } else {
+            $("#pastlog").before(text[i]);
+        }
+
+        // ログを「流す」
+        if (deleteLastLogFlg) {
+            var rows = $(".row").get();
+            if (rows.length > maxNum) {
+                if (flowDesc) {
+                    var delLine = rows.pop();
+                } else {
+                    var delLine = rows[0];
+                }
+                var id = "#"+delLine.id;
+                $(id).remove();
+            }
+        
+        }
+    }
 }
 
 // 在室表示
@@ -122,26 +175,18 @@ function clearLog(){
     $.ajax({
         type: "get",
         ifModified: false,
+        cache: false,
         url: log,
         success: function(data){
             var recent = data.split('\n');
             var text = new Array();
             for(var i=0;i<recent.length; i++){
                 var unit = recent[i].split('<>');
-                if (deleteLastPastLog && i >= maxNum) {
-                    break;
-                }
-                if (unit[0] && unit[2] && unit[4]) {
-                    text[i] = setLogData(unit);
-                }
-            }
-            var text_rev = text.reverse();
-            for(var i=0;i<text_rev.length; i++){
-            // 出力
-                if(text_rev[i]){
-                    $("#main_console").after(text_rev[i]);
-                }
+                text[i] = setLogData(unit);
             }
+
+            outputLog(text, deleteLastPastLog, false);
+
             fontSizeChange("0");
             lineSpaceChange("0");
         }
@@ -154,8 +199,6 @@ function setLogData(unit) {
     if (!unit[0] || !unit[2] || !unit[4]) {
         return false;
     }
-    //行番号:最新行
-    var last_id_tag = '<span id="id" style="display:none;">'+unit[0]+'</span>';
     //データの成形
     var name = unit[1];
     var pc = unit[2];
@@ -184,10 +227,14 @@ function setLogData(unit) {
         datetime = datetime+':'+sec;
     }
     var whisper = 'n';
-    if(unit[9] || unit[10]) {
-        var whisper = 'y';
-        if ($(window.parent.document.getElementById("my_hash")).attr("value") == unit[8]) whisper = 'to';
-        if ($(window.parent.document.getElementById("my_hash")).attr("value") == unit[10]) var whisper = 'from'
+    if (unit[9] || unit[10]) {
+        whisper = 'y';
+        if (unit[8] && $(window.parent.document.getElementById("my_hash")).attr("value") == unit[8]) {
+            whisper = 'to';
+        }
+        if (unit[10] && $(window.parent.document.getElementById("my_hash")).attr("value") == unit[10]) {
+            whisper = 'from'
+        }
     }
     var whisperFrom = unit[9];
     if(unit[11] == '1' && unit[12]) {
@@ -205,12 +252,12 @@ function setLogData(unit) {
 
     // 行の成形
     if (unit[0]!='0' && whisper!='y') {
-        row = '<div class="row">';
+        row = '<div class="row" id="'+deObfLog(unit[0])+'">';
         var pcname = '【'+pc+'】';
-        if (isMobile=='1'&&showMobileIcon=='1') {
-            pcname += mobileMark;
+        if (isMobile == '1'&& showMobileCom == '1') {
+            pcname += '<img src="'+mobileIcon+'" alt="(M)">';
         }
-        row += last_id_tag+'<span style="font-weight:bold; color:'+color+';" id="'+deObfLog(unit[0])+'" title="'+name+'">'+pcname+'</span>:';
+        row += '<span style="font-weight:bold; color:'+color+';" id="pcname'+deObfLog(unit[0])+'" title="'+name+'">'+pcname+'</span>:';
         if (whisper=='to' || whisper=='from') {
             row += '<span style="color:'+systemColor+';">(';
             if (whisper=='to') row += whisperFrom+'さんへ';
@@ -233,14 +280,14 @@ function setLogData(unit) {
         }
 
         // 改行
-        row += '</div>';
         row += '<div class="break"';
         row += ' style="margin-top:'+document.getElementById("linespace").value+'px; margin-bottom:'+document.getElementById("linespace").value+'px;';
         var hrType = $('select#hr option:selected').val();
         row += ' border-bottom-style: '+hrType+';"';
         row += '></div>';
+        row += '</div>';
     } else {
-        var row = last_id_tag;
+        var row = "";
     }
     return row;
 }
index 06b9e6a..9183362 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 5468bb6..9d07de6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 6e45949..0e313f4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index a30733c..fa9f67c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 62cbed5..d417793 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index c3d2380..cb8da5a 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
@@ -34,24 +34,22 @@ $date_format .= ":s";
         }
         $datetime = date($date_format, $unit[5]);
     }
-    if (!$is_mobile) {
-        $host = (MASTERPASS && $hash == MASTERPASS) ? '<!--' : NULL ;
-        $host .= (MASTERPASS && $hash == MASTERPASS && $unit[6]) ? $unit[6].'<>' : NULL ;
-        $host .= (MASTERPASS && $hash == MASTERPASS) ? $unit[7].' -->' : NULL ;
-        $whisper_from_pass = $unit[8];
-        $whisper_to_name = $unit[9];
-        $whisper_to_pass = $unit[10];
+    $host = (MASTERPASS && $hash == MASTERPASS) ? '<!--' : NULL ;
+    $host .= (MASTERPASS && $hash == MASTERPASS && $unit[6]) ? $unit[6].'<>' : NULL ;
+    $host .= (MASTERPASS && $hash == MASTERPASS) ? $unit[7].' -->' : NULL ;
+    $whisper_from_pass = $unit[8];
+    $whisper_to_name = $unit[9];
+    $whisper_to_pass = $unit[10];
 
-        $w = 'n';
-        if ($unit[9] || $unit[10]) {
-            $w = 'y';
-            if ($hash == MASTERPASS) {
-                $w = 'to';
-            } elseif ($hash == $unit[8]) {
-                $w = 'to';
-            } elseif ($hash == $unit[10]) {
-                $w = 'from';
-            }
+    $w = 'n';
+    if ($unit[9] || $unit[10]) {
+        $w = 'y';
+        if ($hash == MASTERPASS) {
+            $w = 'to';
+        } elseif ($unit[8] && $hash == $unit[8]) {
+            $w = 'to';
+        } elseif ($unit[10] && $hash == $unit[10]) {
+            $w = 'from';
         }
     }
     $status = "";
index 5c52484..9a6d5fb 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 10ff557..44f0ecd 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
@@ -82,8 +82,10 @@ function mobile_read_log($lines_num=10, $read_systemlog=false)
                      continue;
                  }
                 // 行の成形
-                if ($num && $w != 'y') {
-                    // 現状、携帯でささやき表示なし
+                if ($num) {
+                    if ($w == 'y') {
+                        continue;
+                    }
                     $row .= '<font color="#'.$color.'">['.$pc.']';
                     if (SHOW_MOBILE_COM && $isMobile == 1) {
                         $row .= '(M)';
@@ -117,12 +119,12 @@ function mobile_read_log($lines_num=10, $read_systemlog=false)
  * 携帯表示チェック
  * 表示OK:true
  */
-function is_show_mobile_body()
+function is_show_mobile_body($mode)
 {
     $referer = $_SERVER['HTTP_REFERER'];
     $url = get_self_url();
     $pos = strpos($referer, $url);
-    if ($pos === 0) {
+    if ($pos === 0 && $mode != 'logout') {
         return true;
     } else {
         return false;
index b277a22..fddd633 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index d9d680a..226bb31 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index a47a0f8..e6cc44f 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 2e3b58d..f79a01c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 5a25e9b..0596843 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 8ac145e..2a7af1c 100644 (file)
--- a/main.php
+++ b/main.php
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
@@ -105,12 +105,26 @@ if ($GLOBALS['AJAX_CHAT_TRPG']['MAIN_BREAK_STYLE']) {
 }
 ?>
 </select>
-</td></tr></table>
+</td></tr>
+
+<?php if (!FLOW_DESC && !(DELETE_LAST_PASTLOG && !PUBLIC_PASTLOG)): ?>
+<tr><td colspan="3" align="right">
+<a href="./pastlog_index.php" target="pastlog">もっと前のログを見る</a>
+</td></tr>
+<?php endif; ?>
+
+</table>
+
+
+<div align="right" id="pastlog" class="pastlog">
+<?php if (!FLOW_DESC): ?>
+<input id="isScrollBottom" type="checkbox">常に最新の行を表示 
+<?php elseif (!(DELETE_LAST_PASTLOG && !PUBLIC_PASTLOG)): ?>
+<a href="./pastlog_index.php" target="pastlog">もっと前のログを見る</a>
+<?php endif; ?>
 </div>
 
-<?php
-if (!(DELETE_LAST_PASTLOG && !PUBLIC_PASTLOG)) print '<div align="right" id="pastlog" class="pastlog"><a href="./pastlog_index.php" target="pastlog">もっと前のログを見る</a></div>';
-?>
+</div>
 
 <noscript>
 <p><img src="image/blog_jscript.gif" alt="Javascript" width="80" height="15">本チャットは、JavaScript が有効な環境でのみ使用可能です。</p>
index 578c564..f717e35 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
@@ -65,7 +65,7 @@ if ($request['msg']) {
 <table width="100%">
 
 <?php
-if (!UNPUBLIC_LAST_PASTLOG || is_show_mobile_body()) {
+if (!UNPUBLIC_LAST_PASTLOG || is_show_mobile_body($_GET['mode'])) {
     print '<tr>';
     print '<td><font size="'.MOBILE_FONT_SIZE.'">';
     print '<a href="./mindex.php?'.http_build_query($request).'">更新</a>';
@@ -112,7 +112,7 @@ print '<input type="hidden" name="r" value="'.$rows.'">';
 <?php
 // 本文表示モードのチェック
 if (UNPUBLIC_LAST_PASTLOG) {
-    if (is_show_mobile_body()) {
+    if (is_show_mobile_body($_GET['mode'])) {
         // 本文出力
         print mobile_read_log($rows, SHOW_SYSTEM_LOG);
     } else {
index 0547f93..39e957f 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
@@ -141,8 +141,10 @@ fclose($lfp);
 // 遷移
 $params = '/mindex.php';
 $self_url = get_self_url();
+
 if ($request['mode'] == 'logout') {
     $params .= '?msg='.urlencode('ログアウトしました');
+    $params .= '&mode=logout';
     $url = str_replace('/mwrite.php', '', $self_url).$params;
     header('Location: '. $url);
     exit;
index 2491b6d..494c8cb 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 6aa6bed..60dfb79 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index be20002..4d862c7 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index e93b19d..429e043 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index c8fcebc..ca9444d 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index a5dd950..f75ae89 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index e42670f..3fde123 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
@@ -23,6 +23,7 @@ access_block();
 
 // 直近の過去ログを「流す」場合
 if (DELETE_LAST_PASTLOG) {
+    print "現在、直近の過去ログ表示はできません";
     exit;
 }
 
index 3dabf23..ac0ddb4 100644 (file)
--- a/setup.php
+++ b/setup.php
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 0559527..9333973 100644 (file)
@@ -12,3 +12,9 @@ Order Deny,Allow
 Deny from all
 allow from env=ref_ok
 </Files>
+
+<Files ~ "\.ini$">
+Order Deny,Allow
+Deny from all
+allow from env=ref_ok
+</Files>
index c9530d6..9b9c88a 100644 (file)
@@ -7,6 +7,8 @@
 過去ログ表示・保管の設定
 チャット表示行数<>開いた時点で表示する最大行数です。これより以前の発言は「直近の過去ログ」として別画面で表示します。<>MAX_NUM<>0<>0<><>40
 発言者のホスト情報をログに記録する<><>REC_UA<>0<>2<><>1
+新しい発言を上に表示<>現在のチャットログを「下から上」に流します。過去ログは、この設定に関わらず必ず上から下に流れます。<>FLOW_DESC<>0<>2<><>1
+発言欄を画面の上に表示する<>ログイン・発言入力などを上に表示します。<>UPPER_USER_PANEL<>0<>2<><>1
 参加者にのみ表示する<>直近の過去ログは、参加中のメンバーが参加者名とパスワードを入力すれば表示可能です<br>この設定のみならば、参加者名は全員に表示されます。<>UNPUBLIC_LAST_PASTLOG<>0<>2<><>
 ログイン中のメンバー名も参加者のみに表示する<>参加者名もログインしないと非表示(****で表示)します。<br>会話も「参加者にのみ表示する」設定の場合のみ有効。<>UNPUBLIC_LOGIN_MEMBER<>0<>2<><>
 直近の過去ログを表示しない場合、入室前に表示するメッセージ<>HTMLタグは有効です(空欄可) 改行は自動変換します<>NO_LAST_PASTLOG_MSG<>0<>1<><>このチャットの会話は、参加者のみに表示されます
index b6a8dae..f139d0d 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 56331ce..30958f1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index e45c540..450644b 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 5d37a28..495e930 100644 (file)
@@ -1,3 +1,3 @@
 <?php
-define('TRPGCHAT_VERSION', '2.6');
+define('TRPGCHAT_VERSION', '2.6.1');
 ?>
\ No newline at end of file
index 7146e64..fb7204e 100644 (file)
--- a/write.php
+++ b/write.php
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 6695486..d680ac7 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- Ajax Chat for TRPG ver.2.6
+ Ajax Chat for TRPG ver.2.6.1
  (c)2007-2009 Cake All Rights Reserved.
  Mail : cake_67@users.sourceforge.jp
  Home : http://trpgtools-onweb.sourceforge.jp/
index 8c17e39..cdaacac 100644 (file)
@@ -11,7 +11,7 @@
 \r
 <hr>\r
 <pre>\r
-Ajax Chat for TRPG ver.2.6\r
+Ajax Chat for TRPG ver.2.6.1\r
 (c)2007-2009 Cake All Rights Reserved.\r
 Mail : cake_67@users.sourceforge.jp\r
 Home : http://trpgtools-onweb.sourceforge.jp/\r
index c299a75..df247ff 100644 (file)
@@ -1,3 +1,10 @@
+2009/08/20\r
+ver2.6.1\r
+\81E\81u\83\8d\83O\82ð\8fã\82©\82ç\89º\82É\97¬\82·\81v\8b@\94\\92Ç\89Á\81B\83\81\83b\83Z\83\93\83W\83\83\81[\83\89\83C\83N\82È\93®\8dì\82Æ\82È\82è\82Ü\82·\81B\r
+\81E\81u\83J\81[\83h\8b@\94\\81v\83p\83X\83\8f\81[\83h\96¢\93ü\97Í\82Ì\8eQ\89Á\8eÒ\82ª\83J\81[\83h\82ð\88ø\82¢\82½\8fê\8d\87\82Ì\95\\8e¦\8fC\90³\82µ\82Ü\82µ\82½\81B\r
+\81E\81u\94­\8c¾\82ð\89¹\82Å\82¨\92m\82ç\82¹\81v\93®\8dì\8fC\90³\81B\96Â\82Á\82½\82è\96Â\82ç\82È\82©\82Á\82½\82è\82·\82é\95s\8bï\8d\87\92¼\82µ\82Ü\82µ\82½\81B\r
+\81E.htaccess\82É\82æ\82é\92¼\83A\83N\83Z\83X\8bÖ\8e~\82É\81A.ini(\83J\81[\83h\90Ý\92è\83t\83@\83C\83\8b)\92Ç\89Á\82µ\82Ü\82µ\82½\r
+\r
 2009/07/08\r
 ver2.6\r
 \81E\81u\83J\81[\83h\8b@\94\\81v\93±\93ü\82µ\82Ü\82µ\82½\81B\83I\83\8a\83W\83i\83\8b\82Ì\83J\81[\83h\82ð\8dì\82Á\82Ä\8eg\82¦\82Ü\82·\81I\81c\81c\92A\82µ\81A\83J\81[\83h\82Ì\92\98\8dì\8c \82É\82Í\8fd\81X\82²\97¯\88Ó\82­\82¾\82³\82¢\81B\r