X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=write.php;h=b3e77af66bfedde1b8443447e9c5033248292436;hb=HEAD;hp=3d8549bfea1f7f765450efe69a9a4c3c657f318b;hpb=c1cb4ba8b6bcbffdc776aa2150e699f40d92e1be;p=trpgtools-onweb%2FAjaxChat.git
diff --git a/write.php b/write.php
index 3d8549b..b3e77af 100644
--- a/write.php
+++ b/write.php
@@ -1,64 +1,89 @@
$v) {
+// åä¿¡ãã¼ã¿ã®æå½¢
+foreach($request as $k => $v) {
$data[$k] = htmlspecialchars($v);
}
-
- // PCåããªãå ´åPLå
+// PCåããªãå ´åPLå
if (!$data['c']) $data['c'] = $data['n'];
-$ua = getenv("HTTP_USER_AGENT");
-
- // ã³ã¡ã³ãæ¬æã®å¦çï¼ï¼äºå®ï¼ãã¤ã¹ãã«ã¼ããã¿ã°æå¹[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)) {
- $dice_result = dice_convert($dice[2], $dice[4], $dice[5], $dice_max, $dice_color);
- $data['m'] = $dice[1].$dice_result.$dice[6];
+// ã³ã¡ã³ãæ¬æã®å¦çï¼ï¼äºå®ï¼ãã¤ã¹ãã«ã¼ããã¿ã°æå¹[b,span,i,u]ããªã¼ããªã³ã¯ãç¦æ¢èªå¥å¦çãªã©
+// æ¹è¡
+$data['m'] = convertCr($data['m']);
+
+// ãã¤ã¹å¯¾å¿
+if (DICE_MAX != 0) {
+ // ã³ã¡ã³ãæ¬
+ $data['m'] = convert_dice($data['m']);
+ // ã¹ãã¼ã¿ã¹æ¬
+ if ($data['s'] && $data['t']) {
+ $data['t'] = convert_dice($data['t']);
}
}
+// HTMLã¿ã°
+$data['m'] = convert_html_tag($data['m']);
+if ($data['s'] && $data['t']) {
+ $data['t'] = convert_html_tag($data['t']);
+}
+// ãªã¼ããªã³ã¯
+$data['m'] = convert_autolink($data['m']);
+if ($data['s'] && $data['t']) {
+ $data['t'] = convert_autolink($data['t']);
+}
// æ¢åãã°ã®ãã§ãã¯
if(!is_array($log)){
@@ -80,163 +105,86 @@ if($stopflag==0) {
$last_id = 1;
}
- // æ¸ãè¾¼ã¿æ´å½¢
+ // æ¸ãè¾¼ã¿æå½¢
$write = "";
// ãã°ã¤ã³
if ($data['y'] =='in') {
- $pcname = $system;
- $data['m'] = $data['n'].$online_msg;
- $data['l'] = $color_system;
+ $pcname = SYSTEM;
+ $data['m'] = $data['n'].ONLINE_MSG;
+ $data['l'] = COLOR_SYSTEM;
$data['s'] = 0;
// ãã°ã¢ã¦ã
} elseif ($data['y'] == 'out') {
- $pcname = $system;
- $data['m'] = $data['n'].$offline_msg;
- $data['l'] = $color_system;
+ $pcname = SYSTEM;
+ $data['m'] = $data['n'].OFFLINE_MSG;
+ $data['l'] = COLOR_SYSTEM;
+ $data['s'] = 0;
+ // ã«ã¼ãæä½
+ } elseif ($data['y'] == 'card') {
+ $pcname = SYSTEM;
+ $data['m'] = $data['n'].'ããã'.$data['m'];
+ $data['l'] = COLOR_SYSTEM;
+ $data['s'] = 0;
+ // ã¡ã³ãã¼åé¤
+ } elseif ($data['y'] == 'delMember') {
+ $pcname = SYSTEM;
+ $data['m'] = $data['n'].'ããã'.$data['dn'].'ãããåå è
ä¸è¦§ããåé¤ãã¾ãã';
+ $data['l'] = COLOR_SYSTEM;
$data['s'] = 0;
} else {
$pcname = $data['c'];
}
-
if ($data['n'] && $data['p']) {
- $pwd = create_hash($data['n'],$data['p']);
+ $pwd = create_hash($data['n'], $data['p']);
+ }
+ $dm = $data['m'];
+ $dn = $data['n'];
+ $dw = $data['w'];
+ $dh = $data['h'];
+ $dt = $data['t'];
+
+ // é£èªå
+ if (OBFUSCATION) {
+ $pcname = obf_xor($pcname);
+ $dm = obf_xor($dm);
+ $dn = obf_xor($dn);
+ if ($dw) $dw = obf_xor($dw);
+ if ($dt) $dt = obf_xor($dt);
}
- $write = $last_id."<>".$data['n']."<>".$pcname."<>".$data['l']."<>".$data['m']."<>".time()."<>".$host."<>".$ua."<>".$pwd."<>".$data['w']."<>".$data['h']."<>".$data['s']."<>".$data['t']."<>".$data['a']."\n";
+
+ $write = $last_id."<>".$dn."<>".$pcname."<>".$data['l']."<>".$dm."<>".time()."<>".$host."<>".$ua."<>".$pwd."<>".$dw."<>".$dh."<>".$data['s']."<>".$dt."<>\n";
array_unshift($log[0], $write);
//æ大è¡æ°ãè¶
ãã¦ãããæçµè¡ãåé¤
- if (count($log[0]) >= $max_num) {
+ if (count($log[0]) >= MAX_NUM) {
array_pop($log[0]);
}
// ãã°ãã¡ã¤ã«æ´æ°
- $fp = @fopen($recent_log, "w+") or die("ãã°ãã¡ã¤ã«ãéãã¾ããã");
+ $fp = @fopen(RECENT_LOG, "w+") or error("ãã°ãã¡ã¤ã«ãéãã¾ããã", true);
//$bom = "\xef\xbb\xbf";
//fwrite($fp, $bom);
- foreach($log[0] as $k => $v) {
- fwrite($fp, $v);
- }
+ foreach($log[0] as $k => $v) {
+ fwrite($fp, $v);
+ }
fclose($fp);
}
- //ç´è¿ã®éå»ãã°æ´æ°
- write_recent_past($write, $past_log);
+//ç´è¿ã®éå»ãã°æ´æ°
+write_recent_past($write, PAST_LOG);
- // ããã¯è§£é¤
+// ããã¯è§£é¤
fflush($lfp);
fclose($lfp);
- //åå è
ãã§ãã«ã¼ã«æ¸ãè¾¼ã¿
-member_checker($data['n'], $pwd, $data['y'], $now_member, $getdata_off);
-
-1;
-
-
-/**** ããããé¢æ° ****/
-
-// ç´è¿ã®éå»ãã°
-function write_recent_past($write, $pdata) {
- $pfp = @fopen($pdata, "a+") or die("éå»ãã°ãã¡ã¤ã«ãéãã¾ããã");
-
- fwrite($pfp, $write);
-
- return true;
-}
-
-function dice_convert($dicenum, $dicenumber, $revision, $dice_max, $color) {
-
- // ãã¤ã¹æ¬ä½
- if($dicenum >= 1 && $dicenum <= $dice_max) {
- if ($dicenumber >= 1 && $dicenumber <= 100) {
- mt_srand((double) microtime() * 1000000);
- $dicesum = 0;
- for ($i=0; $i<$dicenum; $i++) {
- $d_result[$i] = mt_rand(1,$dicenumber);
- $dice_sum += $d_result[$i];
- if ($i != 0) {
- $dice_list .= ", ".$d_result[$i];
- } else {
- $dice_list = " (".$d_result[$i];
- }
- }
- $dice_list .= ")";
- } else {
- return $dice.' (d2ï½d100ã®ç¯å²ã§æå®ãã¦ãã ãã)';
- }
- } else {
- return $dice.' (ãã¤ã¹ã®æ°ã¯1ãã'.$dice_max.'ã®éã§æå®ãã¦ãã ãã)';
- }
-
- // ä¿®æ£å¤ãå ããçµæã®è¨ç®
- if(rtrim($revision, "]")) {
- $dice = preg_replace("/\s/","+",$dice);
- $value = calc_value($dice_sum, $revision);
- } else {
- $value = $dice_sum;
- }
-
- if (!is_numeric($value)) {
- return ''.$dice.' ('.$value.')';
- } else {
- $dice = '['.$dicenum.'d'.$dicenumber.$revision.' :'.$dice_list.' = '.$value.'';
- return $dice;
- }
+//åå è
ãã§ãã«ã¼ã«æ¸ãè¾¼ã¿
+if ($data['y'] != 'delMember') {
+ member_checker($dn, $pwd, $request['y'], false);
}
-/* ãã¤ã¹ä¿®æ£å¤ã®è¨ç®
- */
-function calc_value($dice_sum, $revision) {
- $multi = preg_match("/\*/", $revision);
- $dev = preg_match("/\//", $revision);
- $add = preg_match("/\+/", $revision);
- $subtract = preg_match("/\-/", $revision);
-
- // +-*/ã§åå²
- $revision = preg_replace("/\+/","<>+<>",$revision);
- $revision = preg_replace("/\-/","<>-<>",$revision);
- $revision = preg_replace("/\*/","<>*<>",$revision);
- $revision = preg_replace("/\//","<>/<>",$revision);
- $parts = explode("<>",$revision);
- array_splice($parts, 0, 1, $dice_sum);
-
- // ä¹ç®&é¤ç®
- if ($multi || $dev) {
- foreach ($parts as $k => $v) {
- if ($v != '0' && $v == '*') {
- if (!preg_match("/[0-9]{1,}/", $parts[$k+1])) return "æ¼ç®åãé£ç¶ãã¦ã¾ã";
- $flg = $k;
- array_splice($parts, $k+1, 1, $parts[$k-1] * $parts[$k+1]);
- array_splice($parts, $k-1, 1, 0);
- array_splice($parts, $k, 1, $parts[$k-2]);
- array_splice($parts, $k-2, 1, '+');
- }
- if ($v != '0' && $v == '/') {
- if (!preg_match("/[0-9]{1,}/", $parts[$k+1])) return "æ¼ç®åãé£ç¶ãã¦ã¾ã";
- array_splice($parts, $k+1, 1, $parts[$k-1] / $parts[$k+1]);
- array_splice($parts, $k-1, 1, 0);
- array_splice($parts, $k, 1, $parts[$k-2]);
- array_splice($parts, $k-2, 1, '+');
- }
- }
- }
-
- // å æ¸ç®
- foreach ($parts as $k => $v){
- if ($v != '0') {
- if ($v == '+') {
- if (!preg_match("/[0-9]{1,}/", $parts[$k+1])) return "æ¼ç®åãé£ç¶ãã¦ã¾ã";
- array_splice($parts, 0, 1, $parts[0] + $parts[$k+1]);
- } elseif ($v == '-') {
- if (!preg_match("/[0-9]{1,}/", $parts[$k+1])) return "æ¼ç®åãé£ç¶ãã¦ã¾ã";
- array_splice($parts, 0, 1, $parts[0] - $parts[$k+1]);
- }
- }
- }
-
- return round($parts[0], 1);
-}
+exit;
- ?>
\ No newline at end of file
+?>