\r
body {\r
background: #EDEDED;\r
- padding-top: 5px;\r
+ padding-top: 0px;\r
padding-left: 10px;\r
padding-right: 10px;\r
- padding-bottom: 5px;\r
+ padding-bottom: 0px;\r
}\r
\r
/* \83^\83O\95Ê */\r
padding: 0px;\r
}\r
\r
-.online, nodisplay, online1, online2 {\r
+.online, .nodisplay, .online1, .online2 {\r
display: none;\r
}\r
\r
<?php
/*
- * Ajax Chat for TRPG ver.1.1
+ * Ajax Chat for TRPG ver.1.2
* (c)2007 Cake All righ1ts reserved.
* Mail : cake_67@users.sourceforge.jp
* Home : http://trpgtools-onweb.sourceforge.jp/
* BSDライセンス概要&使用上の注意
* 1. このスクリプトはフリーソフトです。以下の条件を満たす限りにおいて、使用・改造・再配布(オリジナルおよび改造版の両方とも)は自由です。
* 再配布する場合、上記著作権表示、本条件書きおよび第2項・第3項の責任限定規定を必ず含めてください。
- * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81¯Petite Prier様(http://snow.if.tv/)の素材です。
+ * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81®å¤§é\83¨å\88\86ã\81¯ã\80\81Petite Prier様(http://snow.if.tv/)の素材です。
本スクリプトの使用および再配布時にアイコンをそのまま用いる場合は、配布元の規定も遵守してください。
* 3. 本スクリプトは無保証です。自己責任で使用してください。このスクリプトを使用したいかなる損害に対しても、作者は一切の責任を負いません。
* 4. 設置および使用方法に関する質問は、配布サイトの掲示板にお願いします。ただし、必ず回答できるとは限りません。
$(".show_status").each(function(){
this.checked = false;
});
-// for(i=1;i<=pc_num;i++) {
-// document.getElementById("show_status").checked = false;
-// }
document.getElementById("whisper_to").value = "全員";
document.getElementById("whisper_to_hash").value = "";
document.getElementById("pwd_on").value = "";
}
// ダイスボタン
-function insertDice(Obj) {
+function insertDice(Obj, columnId) {
var dice = $("#dice").attr("value");
var revision = $("#revision").attr("value");
if (typeof(revision) != 'string') {
return false;
}
- var input = Obj.pc_input.value;
-
if (revision == '0') revision = "";
-
if (revision && !revision.match(/^[-+\*\/]/)) {
revision = '+'+revision;
}
- Obj.pc_input.value = input+'['+dice+revision+']';
+
+ document.getElementById(columnId).value = document.getElementById(columnId).value+'['+dice+revision+']';
return false;
}
-//セレクトボックスで選んだ画像色を取得
-function changeColor (Obj) {
- Obj.style.color = Obj.value;
+// 名前文字色を反映
+function changeColor(Obj1, Obj2) {
+ Obj2.pc_color.style.color = Obj1.value;
+ Obj2.pc_color.value = Obj1.value;
+ Obj2.pc_color_select.style.color = Obj1.value;
+ Obj2.pc_name.style.color = Obj1.value;
}
-// 状態欄ON/OFF
-function toggleStatus(target) {
+// 表示ON/OFF
+function toggleColumn(target) {
dispStatus = document.getElementById(target).style.display;
if (dispStatus == 'none') {
document.getElementById(target).style.display = '';
}
}
-// PC欄ON
-function showPCcolumn(target) {
- if (document.getElementById(target).style.display == 'none') {
- document.getElementById(target).style.display = '';
- }
+// タグ挿入
+function insertTag(tag, columnId) {
+ document.getElementById(columnId).value = document.getElementById(columnId).value+'<'+tag+'></'+tag+'>' ;
}
-// PC欄OFF
-function hidePCcolumn(target, status) {
- if (document.getElementById(target).style.display != 'none') {
- document.getElementById(target).style.display = 'none';
- if (document.getElementById(status).style.display != 'none') {
- document.getElementById(status).style.display = 'none'
+// フォントタグ挿入
+function insertFontTag(columnId) {
+ var size = prompt("フォントサイズを指定してください(1~7または-4~+4)", "");
+ var color = prompt("フォント色を指定してください", "");
+
+ if (!size && !color) {
+ return false;
+ } else {
+ var tag = "<font";
+ if (size) {
+ tag= tag+" size="+size;
}
+ if (color) {
+ tag= tag+" color="+color;
+ }
+ tag = tag+"></font>";
+ document.getElementById(columnId).value = document.getElementById(columnId).value+tag;
}
}
+// 直前に選択していた欄のIDを記録
+function selectedColumnId(Obj1, Obj2) {
+ columnId = Obj1.id;
+ pcColorId = Obj2.pc_color.id;
+}
+
// 入室中にリロード・ページ遷移で自動退室
function UnLoad() {
var name = $("#name_on").attr("value");
// ウインドウサイズ変更でフォームサイズ変更
function changeSize() {
var winWidth = document.body.clientWidth;
- var winHeight = document.body.clientHeight - 105;
- $(".input_comment").css({width: winWidth-300});
- $(".status").css({width: winWidth-165});
+ var winHeight = document.body.clientHeight - 130;
+ $(".input_comment").css({width: winWidth-225});
+ $(".status").css({width: winWidth-313});
$("#mainframe").css({height: winHeight});
+ $("#logoutBt").css({width: winWidth-390});
}
// ホーム
<body onresize="changeSize()" onunload="return UnLoad()">
<table border="0" cellspacing="3" cellpadding="0" id="online1" class="online">
<tr>
-<td class="nodisplay"><form id="chat_on" name="chat_on" onsubmit="return false;" action="" class="chatform"></td>
-<td><input type="text" name="name_on" value="" size="10" class="inputname" id="name_on"></td>
-<td><input type="password" name="pwd_on" size="4" class="inputpwd" id="pwd_on">
-<input type="hidden" name="my_hash" value="" id="my_hash"></td>
+<td class="nodisplay">
+<form id="chat_on" name="chat_on" onsubmit="return false;" action="" class="chatform">
+<input type="text" name="name_on" value="" size="10" id="name_on">
+<input type="password" name="pwd_on" size="4" id="pwd_on">
+<input type="hidden" name="my_hash" value="" id="my_hash">
+</td>
<?php
-if ($preset_dice) {
- print '<td align="right">';
+if ($dice_max && $preset_dice[0]) {
+ print '<td>';
print '<select name="dice" id="dice">'."\n";
foreach ($preset_dice as $v) {
print '<option value="'.$v.'">'.$v.'</option>'."\n";
}
print '</select></td>'."\n";
- print '<td align="right"> + </td>'."\n";
- print '<td align="right">';
+ print '<td> + </td>'."\n";
+ print '<td>';
print '<input type="text" size="6" value="" name="revision" id="revision" />';
print '</td>'."\n";
+ if ($dice_max && $preset_dice[0]) {
+ print '<td>';
+ print '<input type="image" id="dice" class="btn sub" src="'.$dice_icon.'" alt="ダイス" title="ダイスを入力します。" onclick="insertDice(this.form, columnId);">';
+ print '</td>'."\n";
+ }
+}
+
+if ($allow_tag && $tags && $show_tag_icon) {
+ foreach ($tags as $v) {
+ if ($v['show_icon']) {
+ print '<td>';
+ print '<input type="image" class="btn sub" src="./image/word_font_'.$v['tag'].'" alt="'.$v['name'].'" title="'.$v['name'].'タグ" onclick=\'insertTag("'.$v['tag'].'", columnId);\'>'."\n";
+ print '</td>'."\n";
+ }
+ }
+ print '<td>';
+ print '<input type="image" class="btn sub" src="'.$word_font_f.'" alt="F" title="フォントタグ" onclick=\'insertFontTag(columnId);\'>'."\n";
+ print '</td>'."\n";
}
?>
+
<td><span id="whisper_to_msg" style="display:inline;"> <img name="whisper" title="クリックで「ささやき」を解除します。" src="<?php print $whisper; ?>" alt="ささやき解除" align="bottom" hspace="1" vspace="0" border="0" onclick='document.getElementById("whisper_to").value="全員", document.getElementById("whisper_to_hash").value="", document.getElementById("whisper_mark").src="<?php print $whisper_off; ?>"'></td>
<td><img id="whisper_mark" title="「ささやき」状態" src="<?php print $whisper_off; ?>" align="bottom" hspace="1" vspace="0" border="0"></span></td>
<td><input type="text" name="whisper_to" value="全員" size="10" class="inputname" id="whisper_to" style="display:inline;">
<input type="hidden" name="whisper_to_hash" value="" id="whisper_to_hash"></td>
<td><input type="image" id="refresh" class="btn sub" src="<?php print $reload_icon; ?>" alt="リフレッシュ" title="リフレッシュ" onclick="window.mainframe.clearLog()"></td>
-<td align="right"><input type="button" value="退室" name="logout" class="btn logout" id="logout" /></td>
+<td align="right" id="logoutBt"><input type="button" value="退室" name="logout" class="btn logout" id="logout" /></td>
<td class="nodisplay"></form></td>
</tr>
</table>
<table border="0" cellspacing="3" cellpadding="0" id="online2" class="online">
<tr>
<td class="nodisplay"><form onsubmit="return false;" class="chatform"></td>
-<td align="left" nowrap><input type="text" name="pc_name" value="" size="10" class="inputname" id="pc_name_0">
-<select name="pc_color" class="color" onChange="changeColor(this)" style="font-weight: bold;">
-<?php colorbox($color_list, "pc_color", ""); ?>
-</select>
-<input type="text" name="pc_input" class="input_comment" id="pc_input_0" size="75%" /></td>
+<td align="left" nowrap><input type="text" name="pc_name" value="" size="8" class="pc_name" id="pc_name_0" style="font-weight: bold;" onblur="selectedColumnId(this, this.form)"></td>
+<td><input type="text" name="pc_input" class="input_comment" id="pc_input_0" size="75%" onblur="selectedColumnId(this, this.form)"></td>
<td><input type="submit" value="発言" class="btn sub" id="submit" style="display:inline" name="submit" onclick="comment(this.form)"></td>
-<?php
- if ($dice_max) {
- print '<td>';
- print '<input type="image" id="dice" class="btn sub" src="'.$dice_icon.'" alt="ダイス" title="コメント欄にダイスを追加します。" onclick="insertDice(this.form);">';
- print '</td>'."\n";
- }
-?>
-<td><input type="image" class="btn sub" src="<?php print $status_icon; ?>" alt="状態" title="ステータス欄をON/OFFします。" onclick="toggleStatus('status_0');"></td>
+<td><input type="image" class="btn sub" src="<?php print $pc_status_icon; ?>" alt="状態" title="設定欄をON/OFFします。" onclick="toggleColumn('status_0');"></td>
<?php
if ($pc_num > 1) {
- print '<td><input type="image" id="PC_btn_0" class="btn sub" src="'.$pc_show.'" alt="PC追加" title="PC欄を追加します。" onclick="showPCcolumn(\'pc_1\');"></td><td> </td>';
+ print '<td><input type="image" id="PC_btn_0" class="btn sub" src="'.$pc_show.'" alt="PC追加" title="PC欄を追加します。" onclick="toggleColumn(\'pc_1\');"></td><td> </td>';
}
?>
</tr>
</table>
-<table border="0" cellspacing="3" cellpadding="0" id="status_0" class="status_column" style="display:none;">
+<table border="0" cellspacing="3" cellpadding="0" class="status_column" id="status_0" style="display:none;">
<tr>
-<td nowrap>ステータス:<input type="text" name="status" class="status" value="<?php print $status; ?>"></td>
+<td nowrap>名前色</td>
+<td id="select_color_0">
+<select onChange='changeColor(this, this.form)' style="font-weight: bold;" id="pc_color_select">
+<?php colorbox($color_list, "pc_color", ""); ?>
+</select>
+</td>
+<td id="free_color_0" style="display:none;"><input type="text" value="000000" size="12" name="pc_color" id="pc_color_0" style="font-weight: bold;" onChange='changeColor(this, this.form)'></td>
+<td><input type="image" class="btn sub" src="<?php echo $pc_font_icon; ?>" alt="F" title="クリックで文字色入力方法を変更できます" onclick='toggleColumn("free_color_0");toggleColumn("select_color_0");'></td>
+<td nowrap>ステータス:<input type="text" name="status" class="status" value="<?php print $status; ?>" id="pc_status_0" onblur="selectedColumnId(this, this.form)"></td>
<td><input type="checkbox" name="show_status" class="show_status"></td>
<td nowrap> 表示</td>
<td class="nodisplay"></form></td>
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;" class="chatform"></td>'."\n";
- print '<td align="left" nowrap><input type="text" name="pc_name" value="" size="10" class="inputname">'."\n";
- print '<select name="pc_color" class="color" onChange="changeColor(this)" style="font-weight: bold;">';
-colorbox($color_list, "pc_color", "");
- print '</select>'."\n";
- print '<input type="text" name="pc_input" class="input_comment" size="75%" />';
+ print '<td align="left" nowrap><input type="text" name="pc_name" value="" size="8" class="pc_name" id="pc_name_'.$i.'" style="font-weight:bold;" onblur="selectedColumnId(this, this.form)"></td>'."\n";
+ print '<td><input type="text" name="pc_input" class="input_comment" size="75%" id="pc_input_'.$i.'" onblur="selectedColumnId(this, this.form)">';
print '</td>'."\n";
print '<td><input type="submit" value="発言" class="btn sub" id="submit" style="display:inline" name="submit" onclick="comment(this.form)"></td>'."\n";
- if ($dice_max) {
- print '<td><input type="image" id="dice" class="btn sub" src="'.$dice_icon.'" alt="ダイス" title="コメント欄にダイスを追加します。" onclick="insertDice(this.form);"></td>'."\n";
- }
- print '<td><input type="image" class="btn sub" src="'.$status_icon.'" alt="状態" title="ステータス欄をON/OFFします。" onclick="toggleStatus(\'status_';
+ print '<td><input type="image" class="btn sub" src="'.$pc_status_icon.'" alt="状態" title="ステータス欄をON/OFFします。" onclick="toggleColumn(\'status_';
print $i;
print '\');"></td>'."\n";
print '<td width="20">';
if ($i != $pc_num-1) {
- print '<input type="image" id="PC_btn_'.$i.'" class="btn sub" src="'.$pc_show.'" alt="PC欄" title="PC欄を追加します。" onclick="showPCcolumn(\'pc_';
+ print '<input type="image" id="PC_btn_'.$i.'" class="btn sub" src="'.$pc_show.'" alt="PC欄" title="PC欄を追加します。" onclick="toggleColumn(\'pc_';
print $i+1;
print '\');">';
} else {
print " ";
}
print '</td>'."\n";
- print '<td><input type="image" id="PC_btn_'.$i.'" class="btn sub" src="'.$pc_hide.'" alt="PC欄" title="PC欄を削除します。" onclick="hidePCcolumn(\'pc_';
+ print '<td><input type="image" id="PC_btn_'.$i.'" class="btn sub" src="'.$pc_hide.'" alt="PC欄" title="PC欄を削除します。" onclick="toggleColumn(\'pc_';
+ print $i;
+ print '\', \'status_';
print $i;
- print '\', \'status_';
- print $i;
print '\');"></td>'."\n";
print '</tr>'."\n";
print '</table>'."\n";
- print '<table border="0" cellspacing="3" cellpadding="0" id="status_'.$i.'" class="status_column" style="display:none;">'."\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>ステータス:<input type="text" name="status" class="status" value="'.$status.'"></td>'."\n";
+ print '<td nowrap>名前色</td>'."\n";
+ print '<td id="select_color_'.$i.'">';
+ print '<select onChange=\'changeColor(this, this.form)\' style="font-weight: bold;" id="pc_color_select">';
+ colorbox($color_list, "pc_color", "");
+ print '</select></td>'."\n";
+ print '<td id="free_color_'.$i.'" style="display:none;"><input type="text" value="000000" size="12" name="pc_color" id="pc_color_'.$i.'" style="font-weight: bold;" onChange="changeColor(this, this.form)"></td>'."\n";
+ print '<td><input type="image" class="btn sub" src="'.$pc_font_icon.'" alt="F" title="クリックで文字色入力方法を変更できます" onclick=\'toggleColumn("free_color_'.$i.'");toggleColumn("select_color_'.$i.'");\'></td>'."\n";
+ print '<td nowrap>ステータス:<input type="text" name="status" class="status" value="'.$status.'" id="pc_status_".$i." onblur="selectedColumnId(this, this.form)"></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";
foreach ($colorlist as $k => $v) {
print'<option value="'.$v.'" style="color: #'.$v.'; font-weight:bold;" id="'.$id.'_'.$v.'"';
if ($select == $v) { print ' selected';}
- print ' >★</option>'."\n";
+ print ' >#'.$v.'</option>'."\n";
}
}
line-height: 2em;\r
}\r
\r
+.help, .online, .indi, .pastlog {\r
+ font-size: 12px;\r
+}\r
+\r
.status {\r
color:#6D749C;\r
}\r
<?php
/*
- * Ajax Chat for TRPG ver.1.1.1
+ * Ajax Chat for TRPG ver.1.2
* (c)2007 Cake All righ1ts reserved.
* Mail : cake_67@users.sourceforge.jp
* Home : http://trpgtools-onweb.sourceforge.jp/
* BSDライセンス概要&使用上の注意
* 1. このスクリプトはフリーソフトです。以下の条件を満たす限りにおいて、使用・改造・再配布(オリジナルおよび改造版の両方とも)は自由です。
* 再配布する場合、上記著作権表示、本条件書きおよび第2項・第3項の責任限定規定を必ず含めてください。
- * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81¯Petite Prier様(http://snow.if.tv/)の素材です。
+ * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81®å¤§é\83¨å\88\86ã\81¯ã\80\81Petite Prier様(http://snow.if.tv/)の素材です。
本スクリプトの使用および再配布時にアイコンをそのまま用いる場合は、配布元の規定も遵守してください。
* 3. 本スクリプトは無保証です。自己責任で使用してください。このスクリプトを使用したいかなる損害に対しても、作者は一切の責任を負いません。
* 4. 設置および使用方法に関する質問は、配布サイトの掲示板にお願いします。ただし、必ず回答できるとは限りません。
<?php
/*
- * Ajax Chat for TRPG ver.1.1
+ * Ajax Chat for TRPG ver.1.2
* (c)2007 Cake All righ1ts reserved.
* Mail : cake_67@users.sourceforge.jp
* Home : http://trpgtools-onweb.sourceforge.jp/
* BSDライセンス概要&使用上の注意
* 1. このスクリプトはフリーソフトです。以下の条件を満たす限りにおいて、使用・改造・再配布(オリジナルおよび改造版の両方とも)は自由です。
* 再配布する場合、上記著作権表示、本条件書きおよび第2項・第3項の責任限定規定を必ず含めてください。
- * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81¯Petite Prier様(http://snow.if.tv/)の素材です。
+ * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81®å¤§é\83¨å\88\86ã\81¯ã\80\81Petite Prier様(http://snow.if.tv/)の素材です。
本スクリプトの使用および再配布時にアイコンをそのまま用いる場合は、配布元の規定も遵守してください。
* 3. 本スクリプトは無保証です。自己責任で使用してください。このスクリプトを使用したいかなる損害に対しても、作者は一切の責任を負いません。
* 4. 設置および使用方法に関する質問は、配布サイトの掲示板にお願いします。ただし、必ず回答できるとは限りません。
<?php
/*
- * Ajax Chat for TRPG ver.1.0
+ * Ajax Chat for TRPG ver.1.2
* (c)2007 Cake All righ1ts reserved.
* Mail : cake_67@users.sourceforge.jp
* Home : http://trpgtools-onweb.sourceforge.jp/
* BSDライセンス概要&使用上の注意
* 1. このスクリプトはフリーソフトです。以下の条件を満たす限りにおいて、使用・改造・再配布(オリジナルおよび改造版の両方とも)は自由です。
* 再配布する場合、上記著作権表示、本条件書きおよび第2項・第3項の責任限定規定を必ず含めてください。
- * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81¯Petite Prier様(http://snow.if.tv/)の素材です。
+ * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81®å¤§é\83¨å\88\86ã\81¯ã\80\81Petite Prier様(http://snow.if.tv/)の素材です。
本スクリプトの使用および再配布時にアイコンをそのまま用いる場合は、配布元の規定も遵守してください。
* 3. 本スクリプトは無保証です。自己責任で使用してください。このスクリプトを使用したいかなる損害に対しても、作者は一切の責任を負いません。
* 4. 設置および使用方法に関する質問は、配布サイトの掲示板にお願いします。ただし、必ず回答できるとは限りません。
* メールによる質問は、ご遠慮ください。
*/
+
function read_log ($logfile, $hash, $masterpass, $d, $color_system) {
// ログの読み込み
<?php
/*
- * Ajax Chat for TRPG ver.1.1
+ * Ajax Chat for TRPG ver.1.2
* (c)2007 Cake All righ1ts reserved.
* Mail : cake_67@users.sourceforge.jp
* Home : http://trpgtools-onweb.sourceforge.jp/
* BSDライセンス概要&使用上の注意
* 1. このスクリプトはフリーソフトです。以下の条件を満たす限りにおいて、使用・改造・再配布(オリジナルおよび改造版の両方とも)は自由です。
* 再配布する場合、上記著作権表示、本条件書きおよび第2項・第3項の責任限定規定を必ず含めてください。
- * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81¯Petite Prier様(http://snow.if.tv/)の素材です。
+ * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81®å¤§é\83¨å\88\86ã\81¯ã\80\81Petite Prier様(http://snow.if.tv/)の素材です。
本スクリプトの使用および再配布時にアイコンをそのまま用いる場合は、配布元の規定も遵守してください。
* 3. 本スクリプトは無保証です。自己責任で使用してください。このスクリプトを使用したいかなる損害に対しても、作者は一切の責任を負いません。
* 4. 設置および使用方法に関する質問は、配布サイトの掲示板にお願いします。ただし、必ず回答できるとは限りません。
<?php
/*
- * Ajax Chat for TRPG ver.1.0
+ * Ajax Chat for TRPG ver.1.2
* (c)2007 Cake All righ1ts reserved.
* Mail : cake_67@users.sourceforge.jp
* Home : http://trpgtools-onweb.sourceforge.jp/
* BSDライセンス概要&使用上の注意
* 1. このスクリプトはフリーソフトです。以下の条件を満たす限りにおいて、使用・改造・再配布(オリジナルおよび改造版の両方とも)は自由です。
* 再配布する場合、上記著作権表示、本条件書きおよび第2項・第3項の責任限定規定を必ず含めてください。
- * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81¯Petite Prier様(http://snow.if.tv/)の素材です。
+ * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81®å¤§é\83¨å\88\86ã\81¯ã\80\81Petite Prier様(http://snow.if.tv/)の素材です。
本スクリプトの使用および再配布時にアイコンをそのまま用いる場合は、配布元の規定も遵守してください。
* 3. 本スクリプトは無保証です。自己責任で使用してください。このスクリプトを使用したいかなる損害に対しても、作者は一切の責任を負いません。
* 4. 設置および使用方法に関する質問は、配布サイトの掲示板にお願いします。ただし、必ず回答できるとは限りません。
<?php
/*
- * Ajax Chat for TRPG ver.1.0
+ * Ajax Chat for TRPG ver.1.2
* (c)2007 Cake All righ1ts reserved.
* Mail : cake_67@users.sourceforge.jp
* Home : http://trpgtools-onweb.sourceforge.jp/
* BSDライセンス概要&使用上の注意
* 1. このスクリプトはフリーソフトです。以下の条件を満たす限りにおいて、使用・改造・再配布(オリジナルおよび改造版の両方とも)は自由です。
* 再配布する場合、上記著作権表示、本条件書きおよび第2項・第3項の責任限定規定を必ず含めてください。
- * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81¯Petite Prier様(http://snow.if.tv/)の素材です。
+ * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81®å¤§é\83¨å\88\86ã\81¯ã\80\81Petite Prier様(http://snow.if.tv/)の素材です。
本スクリプトの使用および再配布時にアイコンをそのまま用いる場合は、配布元の規定も遵守してください。
* 3. 本スクリプトは無保証です。自己責任で使用してください。このスクリプトを使用したいかなる損害に対しても、作者は一切の責任を負いません。
* 4. 設置および使用方法に関する質問は、配布サイトの掲示板にお願いします。ただし、必ず回答できるとは限りません。
<?php
/*
- * Ajax Chat for TRPG ver.1.1
+ * Ajax Chat for TRPG ver.1.2
* (c)2007 Cake All righ1ts reserved.
* Mail : cake_67@users.sourceforge.jp
* Home : http://trpgtools-onweb.sourceforge.jp/
* BSDライセンス概要&使用上の注意
* 1. このスクリプトはフリーソフトです。以下の条件を満たす限りにおいて、使用・改造・再配布(オリジナルおよび改造版の両方とも)は自由です。
* 再配布する場合、上記著作権表示、本条件書きおよび第2項・第3項の責任限定規定を必ず含めてください。
- * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81¯Petite Prier様(http://snow.if.tv/)の素材です。
+ * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81®å¤§é\83¨å\88\86ã\81¯ã\80\81Petite Prier様(http://snow.if.tv/)の素材です。
本スクリプトの使用および再配布時にアイコンをそのまま用いる場合は、配布元の規定も遵守してください。
* 3. 本スクリプトは無保証です。自己責任で使用してください。このスクリプトを使用したいかなる損害に対しても、作者は一切の責任を負いません。
* 4. 設置および使用方法に関する質問は、配布サイトの掲示板にお願いします。ただし、必ず回答できるとは限りません。
ふきだしアイコンをクリックすると「ささやき」が終了します。
パスワードを入力していないと、「ささやき」は使えません。
-HTMLタグは無効です。
-
-動作確認:IE6.0、LunaScape4.1、Opera9.0、Netscape 7.1、(FireFox2.0)
+動作確認:IE6.0、FireFox2.0、LunaScape4.1、Opera9.0、Netscape 7.1
';
// メソッド(通常POST。一部レンタルサーバなど、POSTが使えない環境ではGETにしてください。
- $method = 'POST';
+$method = 'POST';
// 書きこみ禁止IP
$block_ip = array(
-'66.180.82.','18.241.20.','66.35.255.','128.241.20.',//トレンドマイクロ社ロボットのIPです。ウィルスバスターユーザ二重発言の防止用なので、削除しないでください。
+'66.180.82.','18.241.20.','66.35.255.','128.241.20.', //トレンドマイクロ社ロボットのIPです。ウィルスバスターユーザ二重発言の防止用なので、削除しないでください。
'192.168.1.1', // 禁止IPはこちらに追加
);
$dice_color = '7793BF';
+// タグの許可
+ // タグを使用可能にする // (0:しない、1:する)
+ // 下記で指定のタグと、フォントタグ(sizeとcolor)のみ可能です
+$allow_tag = 1;
+ // 許可するタグ(同じタグで閉じられる、パラメータ指定のないタグのみ可能です)
+$tags = array(
+ array('tag' => 'b', 'name' => '太字', 'show_icon' => true), //
+ array('tag' => 'i', 'name' => '斜体', 'show_icon' => true),
+ array('tag' => 'u', 'name' => '下線', 'show_icon' => false),
+ array('tag' => 's', 'name' => '打ち消し線', 'show_icon' => false),
+);
+ // タグアイコンを表示する
+ //(image/ディレクトリ以下に、word_font_[タグ名].gif のアイコン画像設置が必須です)
+ // $tagの設定で、show_iconの値がtrueのタグのみ表示します
+$show_tag_icon = 1; //(0:しない、1:する)
+ // 本文中のURLを自動リンクする
+$autolink = 1; // (0:しない、1:する)
+
+
//表示メッセージなどの設定
// ステータス欄デフォルト入力
$status = '';
$noname = 'お名前';
-// 画像関連設定
- // ささやきマーク
-$whisper ='./image/comment_r_b.gif';
- // ささやき中
-$whisper_off ='./image/key_open.gif';
- // ささやき解除
-$whisper_on ='./image/key_normal.gif';
- // ステータス欄表示
-$status_icon ='./image/file_pen_b.gif';
- // PC欄追加
-$pc_show ='./image/item_move_left.gif';
- // PC欄削除
-$pc_hide ='./image/item_move_right.gif';
+// アイコン設定
+ // ダイスアイコン
+$dice_icon = './image/d6.gif';
// ホームアイコン
-$home_icon ='./image/home_b.gif';
+$home_icon = './image/home_b.gif';
// ヘルプアイコン
-$help_icon ='./image/help_b.gif';
- // ã\83ªã\83ã\83¼ã\83\89アイコン
-$reload_icon ='./image/reload_b.gif';
+$help_icon = './image/help_b.gif';
+ // ã\83ªã\83\95ã\83¬ã\83\83ã\82·ã\83¥アイコン
+$reload_icon = './image/reload_b.gif';
// 管理画面アイコン
-$admin_icon ='./image/property_b.gif';
- // ダイスアイコン
-$dice_icon ='./image/d6.gif';
+$admin_icon = './image/property_b.gif';
+ // フォントタグ挿入アイコン
+$word_font_f = './image/file_font_T_b.gif';
+ // ささやき関連
+ // ささやきマーク
+$whisper = './image/comment_r_b.gif';
+ // ささやき中
+$whisper_off = './image/key_open.gif';
+ // ささやき解除
+$whisper_on = './image/key_normal.gif';
+ // PC関連
+ // PC欄追加
+$pc_show = './image/item_move_left.gif';
+ // PC欄削除
+$pc_hide = './image/item_move_right.gif';
+ // PC色・ステータス欄表示
+$pc_status_icon = './image/file_pen_b.gif';
+ // PC色変更アイコン
+$pc_font_icon = './image/font_f_b.gif';
+ // クッキー関連
+ // クッキー登録アイコン
+$cookie_write_icon ='./image/bookmark_bl_b.gif';
+ // クッキー削除アイコン
+$cookie_delete_icon ='./image/bookmark_del_b.gif';
+
// データ取得間隔
// オンライン中
ini_set('mbstring.output_buffering','On');
ini_set('mbstring.output_hanler','mb_output_handler');
ini_set('session.use_cookies', '0');
+ini_set('session.use_cookies', '0');
// 著作権とバージョン表示(改変しないでください)
-$copyright = '<a href="http://trpgtools-onweb.sourceforge.jp/" target="_blank">Ajax Chat for TRPG</a> ver.1.1.1 Copyright(c) Cake 2007 All Rights Reserved.<br>
+$copyright = '<a href="http://trpgtools-onweb.sourceforge.jp/" target="_blank">Ajax Chat for TRPG</a> ver.1.2 Copyright(c) Cake 2007 All Rights Reserved.<br>
* icons:<a href="http://snow.if.tv/" target="_blank">Petite Prier</a> Thanks!';
html {\r
font-weight: normal;\r
}\r
-* {\r
+td {\r
font-size: 12px;\r
}\r
body{\r
<?php
/*
- * Ajax Chat for TRPG ver.1.1
+ * Ajax Chat for TRPG ver.1.2
* (c)2007 Cake All righ1ts reserved.
* Mail : cake_67@users.sourceforge.jp
* Home : http://trpgtools-onweb.sourceforge.jp/
* BSDライセンス概要&使用上の注意
* 1. このスクリプトはフリーソフトです。以下の条件を満たす限りにおいて、使用・改造・再配布(オリジナルおよび改造版の両方とも)は自由です。
* 再配布する場合、上記著作権表示、本条件書きおよび第2項・第3項の責任限定規定を必ず含めてください。
- * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81¯Petite Prier様(http://snow.if.tv/)の素材です。
+ * 2. å\90\8c梱ã\81®ã\82¢ã\82¤ã\82³ã\83³ã\81®å¤§é\83¨å\88\86ã\81¯ã\80\81Petite Prier様(http://snow.if.tv/)の素材です。
本スクリプトの使用および再配布時にアイコンをそのまま用いる場合は、配布元の規定も遵守してください。
* 3. 本スクリプトは無保証です。自己責任で使用してください。このスクリプトを使用したいかなる損害に対しても、作者は一切の責任を負いません。
* 4. 設置および使用方法に関する質問は、配布サイトの掲示板にお願いします。ただし、必ず回答できるとは限りません。
foreach($_REQUEST as $k => $v) {
if ($k != 'ajaxchat' && $k != 'sboard_settings') { $data[$k] = htmlspecialchars($v); }
}
-print_r($data);
// PC名がない場合PL名
if (!$data['c']) $data['c'] = $data['n'];
// コメント本文の処理:(予定)ダイス、カード、タグ有効[b,span,i,u]、オートリンク、禁止語句処理など
// ダイス
if ($dice_max) {
- if(preg_match("/(.*)[[]\({0,}([0-9]{1,3})([dD])([0-9]{1,3})([-\+\*\/0-9\s]{0,}[\]])(.*$)/i", $data['m'], $dice)) {
+ if(preg_match("/(.*)[[]\({0,}([0-9]{1,3})([dD])([0-9]{1,})([-\+\*\/]{0,}[0-9-\+\*\/]{0,}[\]])(.*$)/i", $data['m'], $dice)) {
$dice_result = dice_convert($dice[2], $dice[4], $dice[5], $dice_max, $dice_color);
$data['m'] = $dice[1].$dice_result.$dice[6];
}
}
+ // オートリンク
+if ($autolink) {
+ $data['m'] = preg_replace("/((http)|(https)):\/\/[0-9a-zA-Z\+\-\$\;\?\/\.,!#%&=~@*:_]+/", "<a href=\"$0\" target=\"_blank\">$0</a>", $data['m']);
+}
+
+ // HTMLタグ
+if($allow_tag) {
+ // fontタグ
+ $data['m'] = preg_replace("/<font(\s{1,}size=[1-7\+\-][0-4]{0,}||\s{1,}color=[#]{0,}[0-9a-z]{1,7}||\s{1,}size=[1-7\+\-][0-4]{0,}\s{1,}color=[#]{0,}[0-9a-z]{1,7}||\s{1,}color=[#]{0,}[0-9a-z]{1,7}\s{1,}size=[1-7\+\-][0-4]{0,})>(.*?)<\/font>/i", "<font$1>$2</font>", $data['m']);
+ $data['t'] = preg_replace("/<font(\s{1,}size=[1-7\+\-][0-4]{0,}||\s{1,}color=[#]{0,}[0-9a-z]{1,7}||\s{1,}size=[1-7\+\-][0-4]{0,}\s{1,}color=[#]{0,}[0-9a-z]{1,7}||\s{1,}color=[#]{0,}[0-9a-z]{1,7}\s{1,}size=[1-7\+\-][0-4]{0,})>(.*?)<\/font>/i", "<font$1>$2</font>", $data['t']);
+
+ // iniで指定のタグ
+ foreach($tags as $t) {
+ $data['m'] = preg_replace("/<($t[tag])>(.*?)<\/$t[tag]>/i", "<$1>$2</$1>", $data['m']);
+ $data['t'] = preg_replace("/<($t[tag])>(.*?)<\/$t[tag]>/i", "<$1>$2</$1>", $data['t']);
+ }
+}
// 既存ログのチェック
if(!is_array($log)){
// ダイス本体
if($dicenum >= 1 && $dicenum <= $dice_max) {
- if ($dicenumber >= 1 && $dicenumber <= 100) {
+ if ($dicenumber >= 2 && $dicenumber <= 100) {
mt_srand((double) microtime() * 1000000);
$dicesum = 0;
for ($i=0; $i<$dicenum; $i++) {
}
$dice_list .= ")";
} else {
- return $dice.' (d2~d100の範囲で指定してください)';
+ return '['.$dicenum.'d'.$dicenumber.$revision.' (d2~d100の範囲で指定してください)';
}
} else {
- return $dice.' (ダイスの数は1から'.$dice_max.'の間で指定してください)';
+ return '['.$dicenum.'d'.$dicenumber.$revision.' (ダイスの数は1から'.$dice_max.'の間で指定してください)';
}
// 修正値を加えた結果の計算
=======================================================================================\r
-Ajax Chat for TRPG ver.1.1\r
+Ajax Chat for TRPG ver.1.2\r
(c)2007 Cake All rights reserved.\r
Mail : cake_67@users.sourceforge.jp\r
Home : http://trpgtools-onweb.sourceforge.jp/\r
1. \82±\82Ì\83X\83N\83\8a\83v\83g\82Í\83t\83\8a\81[\83\\83t\83g\82Å\82·\81B\88È\89º\82Ì\8fð\8c\8f\82ð\96\9e\82½\82·\8cÀ\82è\82É\82¨\82¢\82Ä\81A\8eg\97p\81E\89ü\91¢\81E\8dÄ\94z\95z\81i\83I\83\8a\83W\83i\83\8b\82¨\82æ\82Ñ\89ü\91¢\94Å\82Ì\97¼\95û\82Æ\82à\81j\82Í\8e©\97R\82Å\82·\81B\r
\81@\8dÄ\94z\95z\82·\82é\8fê\8d\87\81A\8fã\8bL\92\98\8dì\8c \95\\8e¦\81A\96{\8fð\8c\8f\8f\91\82«\82¨\82æ\82Ñ\91æ2\8d\80\81E\91æ3\8d\80\82Ì\90Ó\94C\8cÀ\92è\8bK\92è\82ð\95K\82¸\8aÜ\82ß\82Ä\82\82¾\82³\82¢\81B\r
2. \96{\83X\83N\83\8a\83v\83g\82ÍjQuery(http://www.jquery.com/)\82ð\97p\82¢\82Ä\82¢\82Ü\82·\81B\r
- \93¯\8d«\82Ì\83A\83C\83R\83\93\82ÍPetite Prier\97l(http://snow.if.tv/)\82Ì\91f\8dÞ\82Å\82·\81B\r
+ \93¯\8d«\82Ì\83A\83C\83R\83\93\82Ì\91å\95\94\95ª\82ÍPetite Prier\97l(http://snow.if.tv/)\82Ì\91f\8dÞ\82Å\82·\81B\r
\96{\83X\83N\83\8a\83v\83g\82Ì\8eg\97p\82¨\82æ\82Ñ\8dÄ\94z\95z\8e\9e\82ÉjQuery\81A\83A\83C\83R\83\93\82ð\82»\82Ì\82Ü\82Ü\97p\82¢\82é\8fê\8d\87\82Í\81A\94z\95z\8c³\82Ì\8bK\92è\82à\8f\85\8eç\82µ\82Ä\82\82¾\82³\82¢\81B\r
3. \96{\83X\83N\83\8a\83v\83g\82Í\96³\95Û\8fØ\82Å\82·\81B\8e©\8cÈ\90Ó\94C\82Å\8eg\97p\82µ\82Ä\82\82¾\82³\82¢\81B\82±\82Ì\83X\83N\83\8a\83v\83g\82ð\8eg\97p\82µ\82½\82¢\82©\82È\82é\91¹\8aQ\82É\91Î\82µ\82Ä\82à\81A\8dì\8eÒ\82Í\88ê\90Ø\82Ì\90Ó\94C\82ð\95\89\82¢\82Ü\82¹\82ñ\81B\r
4. \90Ý\92u\82¨\82æ\82Ñ\8eg\97p\95û\96@\82É\8aÖ\82·\82é\8e¿\96â\82Í\81A\94z\95z\83T\83C\83g\82Ì\8cf\8e¦\94Â\82É\82¨\8aè\82¢\82µ\82Ü\82·\81B\82½\82¾\82µ\81A\95K\82¸\89ñ\93\9a\82Å\82«\82é\82Æ\82Í\8cÀ\82è\82Ü\82¹\82ñ\81B\r
\81@\90Ý\92è\82Í\81A\8e©\8cÈ\90Ó\94C\82Å\8ds\82Á\82Ä\82\82¾\82³\82¢\81B\r
\r
---------------------------------------------------------------------------------\r
-[\8dX\90V\97\9a\97ð]\r
-2007/06/16 ver.1.1 \8cö\8aJ\r
-\95Ï\8dX¥\92Ç\89Á\93_\r
-\81E\8c\9f\8dõ\83\8d\83{\83b\83g\82É\82æ\82é\95s\90³\8f\91\8d\9e\82Ý\96h\8e~\r
-\81E\83\8d\83O\8dí\8f\9c\8e\9e\81A\83`\83\83\83b\83g\89æ\96Ê\82É\92¼\8bß\82Ì\89ï\98b\95\\8e¦\82ª\8ec\82é\r
-\81E\83\8a\83t\83\8c\83b\83V\83\85\83{\83^\83\93\82Ì\93®\8dì\95s\97Ç\82É\82Â\82¢\82Ä\8fî\95ñ\92Ç\89Á(README.txt\8eQ\8fÆ\81j\r
-\81E\83\\81[\83X\83N\83\8a\81[\83j\83\93\83O\r
-\r
-\r
-2007/06/01 ver.1.0\8cö\8aJ\8aJ\8en\r
----------------------------------------------------------------------------------\r
-2007.06.15\r
+2007.07.27\r
Written by Cake\r
+2007/07/27\r
+\81@ver1.2\r
+\81E\83^\83O\91Î\89\9e\81F\94\8c¾\97\93\82Æ\83X\83e\81[\83^\83X\95\\8e¦\82Å\81A\83^\83O\8eg\97p\89Â\94\\90Ý\92è\82ð\92Ç\89Á\82µ\82Ü\82µ\82½\81B\83f\83t\83H\83\8b\83g\82Å\82Í\81A\83t\83H\83\93\83g\83T\83C\83Y\81E\83t\83H\83\93\83g\83J\83\89\81[\81E\91¾\8e\9a\81E\89º\90ü\81E\8eÎ\91Ì\81E\8eæ\82è\8fÁ\82µ\90ü\82É\82Ì\82Ý\91Î\89\9e\82µ\82Ä\82Ü\82·\81B\r
+\81E\94\8c¾\83t\83H\83\93\83g\83^\83O\8eg\97p\89Â\94\\82É\94º\82¢\81A\83X\83^\83C\83\8b\83V\81[\83g\82ð\88ê\95\94\8fC\90³\82µ\82Ü\82µ\82½\81B\r
+\81E\96¼\91O\95¶\8e\9a\90F\82ð\81A\91I\91ð\83v\83\8b\83_\83E\83\93\88È\8aO\82É\83t\83\8a\81[\93ü\97Í\82à\89Â\94\\82Æ\82µ\82Ü\82µ\82½\81B\82¨\8dD\82«\82È\90F\82ð\82¨\8eg\82¢\82\82¾\82³\82¢\82\97\r
+\81E\91Þ\8eº\83{\83^\83\93\82ð\81u\8aÔ\88á\82Á\82Ä\89\9f\82·\81v\8e\96\82ð\96h\82®\82½\82ß\81A\8fê\8f\8a\82ð\82¸\82ç\82µ\82Ü\82µ\82½\81B\r
+\81ED100\88È\8fã\82Ì\83_\83C\83X\82Í\90U\82ê\82Ü\82¹\82ñ\81B\8d¡\82Ü\82Å\90U\82ê\82Ä\82¢\82½\83o\83O\82ð\92ù\90³\81B\r
+\81Eini\82Ì\95Ï\90\94\96¼\81A\88ê\95\94\8fC\90³\r
+\r
2007/06/17\r
\81@ver.1.1.1\r
\81@\8fd\97v\82È\83o\83O\82ª\82 \82Á\82½\82½\82ß\81A\8e\8a\8b}\8fC\90³\81E\8cö\8aJ\82µ\82Ü\82µ\82½\81B\r