diff --git a/gazou-v2.0.zip b/gazou-v2.0.zip
deleted file mode 100644
index ab4bf53..0000000
Binary files a/gazou-v2.0.zip and /dev/null differ
diff --git a/gazou-v2.0/gazou.php b/gazou-v2.0/gazou.php
new file mode 100644
index 0000000..3e8df8a
--- /dev/null
+++ b/gazou-v2.0/gazou.php
@@ -0,0 +1,579 @@
+
+/*
+ * 画像ハリコBBS by ToR
+ * http://php.s3.to
+ *
+ * v1.0 10/26 とりあえず完成
+ * v1.1 10/18 URL、メールを表示、他
+ * v1.2 11/28 削除機能
+ * v2.0 11/30 管理機能、画像チェック(ログ項目追加)他
+ */
+//-------------設定ここから-------------
+# 掲示板のタイトル
+$title = '画像BBS〜♪';
+
+# 管理者用パスワード。必ず変更して下さい。
+$admin_pass = '4321';
+
+# ファイルをアップロードするディレクトリ
+# 最後は / にして下さい。
+$up_dir = '/gif/';
+
+# アップロードするディレクトリの絶対パス
+$path = dirname($PATH_TRANSLATED).$up_dir;
+
+# ログ保存ファイル
+$logfile = 'imglog.log';
+
+# 静的HTMLを書き出す場合のHTMLファイル
+$html_file = 'index.html';
+
+# 一ページあたりの表示記事数
+$page_def = 7;
+
+# 最大記録件数 これを越えると古い物から順に削除されます。
+$max = 200;
+
+# 画像ファイルを
タグで直接表示するかどうか 1 で表示 0 で表示しない
+$show_img = 1;
+
+# 同一ホストからの連続投稿を制限
+# --> 秒数を記述するとその時間以上を経過しないと連続投稿できない
+$w_regist = 30;
+
+# 管理者が許可した画像のみ表示(チェックしてから:1,すべて表示:0)
+$ImageCheck = 1;
+
+# 上で1の場合、チェックされてない画像の代替画像
+$IconSoon = './soon.gif';
+
+# 画像ファイルの最大表示の大きさ(単位:ピクセル)
+# --> これを超える画像は縮小表示します
+$MaxW = 250; # 横幅
+$MaxH = 100; # 縦幅
+
+# アップロード可能な最大サイズ(単位 : KB)
+# -->PHP3.iniまたはphp3_upload_max_filesizeによりますが、
+# デフォルト値である2メガ以上は設定できません。
+$maxbyte = 150;
+
+# 時差(hour)
+$jisa = 0;
+//---------設定ここまで--------------
+
+$maxsize = $maxbyte * 1024; //バイトに変換
+function head(&$dat){ //ヘッダー表示部
+ global $mode,$no,$PHP_SELF,$logfile,$maxsize,$MaxW,$MaxH,$title;
+
+ if($mode == "resmsg"){ //レスの場合
+ $res = file($logfile);
+ $flag = 0;
+ while (list($key, $value) = each ($res)) {
+ list($rno,$date,$name,$mail,$sub,$com,$url) = explode("<>", $value);
+ if ($no == "$rno"){ $flag=1; break; }
+ }
+ if ($flag == 0) error("該当記事が見つかりません");
+
+ $sub = ereg_replace("^Re", "", $sub);
+ $r_sub = "Re:[$no] $sub";
+ $r_com = "> $com";
+ $r_com = eregi_replace("
","\r> ",$r_com);
+ }
+ $dat='
+
+
+
+'.$title.'
+
+
+'.$title.'
+
+[トップに戻る]
+[ワード検索]
+[管理用]
+
+
+
+
+
';
+}
+function foot(&$dat){ //フッター表示部
+ global $PHP_SELF;
+$dat.='
+
+- GazouBBS -
+
+';
+}
+function Main(&$dat){ //記事表示部
+ global $logfile,$page_def,$up_dir,$page,$PHP_SELF,$path,$IconSoon,$ImageCheck;
+
+ $view = file($logfile);
+ $logsize = sizeof($view);
+
+ if(isset($page)) $start = $page;
+ else $start = $logsize - 1;
+
+ $end = $start - $page_def + 1;
+ if($end < 0) $end = 0;
+
+ for($s = $start;$s >= $end;$s--){
+ list($no,$date,$name,$mail,$sub,$com,$url,
+ $host,$pw,$tail,$W,$H,$time2,$chk) = explode("<>", $view[$s]);
+
+ if($url) { $url = "HOME"; }
+ if($mail){ $name = "$name"; }
+
+ $dat.="[$no] $sub ";
+ $dat.="投稿者:$name 投稿日:$date ";
+ $dat.="[Res] $url
";
+ $dat.="$com\n";
+
+ if (file_exists("$path$time2$tail")) {
+ if ($ImageCheck && $chk != 1) {
+ $dat.="
";
+ } elseif ($W && $H) {
+ $dat.="
";
+ } else {
+ $dat.= "
";
+ }
+ }
+ $dat.="
\n";
+ $p++;
+ } //end for
+
+ if(($logsize > $page_def) && ($p >= $page_def)){
+ $dat.="\n";
+ }
+}
+function regist(){ //ログ書き込み
+ global $name,$email,$sub,$com,$url,$MaxW,$MaxH,$REMOTE_HOST,$REMOTE_ADDR;
+ global $pwd,$upfile,$html_url,$logfile,$jisa,$max,$w_regist,$path;
+
+ # フォーム内容をチェック
+ if(empty($com)){ error("本文が書き込まれていません"); }
+ if(empty($sub)){ error("タイトルが記入されていません"); }
+ $times = time();
+
+ $check = file($logfile);
+ $tail = sizeof($check);
+ $last = $tail - 1;
+ list($tno,$tdate,$tname,$tmail,$tsub,$tcom,
+ $turl,$thost,$tpw,$ttail,$tw,$th,$ttime) = explode("<>", $check[$last]);
+ if($name == $tname && $com == $tcom) error("二重投稿は禁止です");
+
+ if ($w_regist && $times - $ttime < $w_regist)
+ error("連続投稿はもうしばらく時間を置いてからお願い致します");
+
+ # 記事Noを採番
+ $no = $tno + 1;
+
+ # ホスト名を取得
+ $host = $REMOTE_HOST;
+ $addr = $REMOTE_ADDR;
+ if($host == "" || $host == $addr) $host=gethostbyaddr($addr);
+
+ # 削除キーを暗号化
+ if ($pwd) { $PW = crypt(($pwd),aa); }
+
+ # URL自動リンク
+// if ($autolink) { auto_link($com); }
+
+ # 最大記事数処理
+ if ($max < $tail) {
+ $del = file($logfile);
+ $top = $tail - $max;
+ for($j=$top; $j<=$tail; $j++){
+ list($no,$date,$name,$mail,$sub,$com,
+ $url,$host,$pw,$ex,$w,$h,$tim)= explode("<>", $del[$j]);
+ if (file_exists("$path$tim$ex")){ unlink("$path$tim$ex"); }
+ $dp = fopen ($logfile,"w");flock($dp,2);
+ fputs($dp, $del[$j]);flock($dp,3);
+ fclose($dp);
+ }
+ }
+ $now = date( "Y/m/d(D) H:i",mktime()+$jisa*60*60);
+ $url = ereg_replace( "^http://", "",$url);
+ $sub = htmlspecialchars($sub);
+ $sub = stripslashes($sub);
+ $name = htmlspecialchars($name);
+ $name = stripslashes($name);
+ $com = htmlspecialchars($com);
+ $com = stripslashes($com);
+ $com = str_replace( "\r\n", "\r", $com); //改行文字の統一。
+ $com = str_replace( "\r", "\n", $com);
+ $com = ereg_replace("\n(( | |\t)*\n){3,}","\n",$com);//連続する空行を一行
+ $com = nl2br($com); //改行文字の前に
を代入する。
+ $com = ereg_replace( "\n", "", $com); //\nを文字列から消す。
+
+ if ($upfile) {
+ $size=UpFile();
+ $W=$size[0];$H=$size[1];
+ switch($size[2]) {
+ case 1:
+ $ext = ".gif";
+ break;
+ case 2:
+ $ext = ".jpg";
+ break;
+ case 3:
+ $ext = ".png";
+ break;
+ }
+
+ # 画像表示縮小
+ if ($W > $MaxW || $H > $MaxH) {
+ $W2 = $MaxW / $W;
+ $H2 = $MaxH / $H;
+
+ if ($W2 < $H2) { $key = $W2; }
+ else { $key = $H2; }
+
+ $W = (int) $W * $key;
+ $H = (int) $H * $key;
+ }
+ }
+ $new_msg="$no<>$now<>$name<>$email<>$sub<>$com<>$url<>$host<>$PW<>$ext<>$W<>$H<>$times<><>\n";
+
+ $fp = fopen($logfile,"a");
+ flock($fp,2);
+ fputs($fp, $new_msg);
+ flock($fp,3);
+ fclose($fp);
+
+ # メール通知処理
+// if ($mailing == 1) { mail_to(); }
+}
+function UpFile(){ //アップロード処理
+ global $up_dir,$upfile,$upfile_name,$path;
+
+ $source = $upfile;
+ $source_name = $upfile_name;
+
+ if(($source <> "none")&&($source <> "")){
+ if($uperror <> 1){
+ $dest = $path.$source_name;
+ if(copy($source,$dest)){
+ echo "成功";
+ $imagesize = getimagesize($dest);
+
+ switch($imagesize[2]) {
+ case 0:
+ error("画像以外はアップロードできません");
+ unlink($dest);
+ exit;
+ case 1:
+ echo " $imagesize[0] x $imagesize[1]
";
+ $newname = $path;
+ $newname .=time() . ".gif";
+ if(copy($dest,$newname)) {
+ echo "GIF アップ成功
$newname";
+ } else {
+ error("GIF リネームに失敗");
+ }
+ unlink ($dest);
+ break;
+ case 2:
+ echo "$imagesize[0] x $imagesize[1]
";
+ $newname = $path;
+ $newname .=time() . ".jpg";
+ if(copy($dest,$newname)) {
+ echo "JPG アップ成功
$newname";
+ } else {
+ error("JPG リネームに失敗");
+ }
+ unlink ($dest);
+ break;
+ case 3:
+ echo "$imagesize[0] x $imagesize[1]
";
+ $newname = $path;
+ $newname .=time() . ".png";
+ if(copy($dest,$newname)) {
+ echo "PNG アップ成功
$newname";
+ } else {
+ error(" PNG リネームに失敗");
+ }
+ unlink ($dest);
+ break;
+ }
+ }
+ else {
+ error("Upload ディレクトリに書きこみ失敗\n");
+ $uperror = 1;
+ }
+ }
+ unlink($source);
+ }
+ return $imagesize;
+}
+function usrdel(){ //ユーザー削除
+ global $pwd,$no,$logfile,$path;
+ if ($no == "" || $pwd == "")
+ { error("削除Noまたは削除キーが入力モレです"); }
+
+ $logall = file($logfile);
+ $flag=0;
+
+ while(list(,$lines)=each($logall)){
+ list($o_no,$date,$name,$mail,$sub,$com,$url,$host,$pw,$tail,$w,$h,$o_tim) = explode("<>",$lines);
+ if ($no == "$o_no") { $flag=1; $PWD=$pw; $upfile="$o_tim$tail"; }
+ else { $pushlog[]=$lines; }
+ }
+
+ if ($flag == 0) { error("該当記事が見当たりません"); }
+ if ($PWD == "") { error("該当記事には削除キーが設定されていません"); }
+
+ # 削除キーを照合
+ $match = crypt(($pwd),aa);
+ if ($match != $PWD) { error("削除キーが違います"); }
+
+ # ログを更新
+ $fp = fopen($logfile,"w");
+ flock($fp,2);
+ while(list(,$val)=each($pushlog)){
+ fputs($fp,$val);
+ }
+ flock($fp,3);
+ fclose($fp);
+
+ if(file_exists("$path$upfile")){ unlink("$path$upfile"); }
+}
+function admin(){ //管理機能
+ global $admin_pass,$PHP_SELF,$logfile,$path,$ImageCheck,$up_dir;
+ global $del,$pass,$chk;
+ if ($pass && $pass != "$pass")
+ { error("パスワードが違います"); }
+?>
+
+
+
+
+
+ echo "$title";
+ echo "";
+ echo "[掲示板に戻る]\n";
+ echo "| \n";
+ echo "管理モード\n";
+ echo " |
|---|
\n";
+
+ if (!$pass) {
+ echo "パスワードを入力して下さい
\n";
+ echo "\n";
+ }else {
+ # 画像許可
+ if ($chk) {
+
+ # 画像情報をマッチングし更新
+ $logall = file($logfile);
+
+ while(list(,$lines)=each($logall)){
+ list($no,$date,$name,$mail,$sub,$com,$url,$host,$pw,$tail,$w,$h,$o_tim,$check) = explode("<>",$lines);
+ if ($chk == "$no") { $lines="$no<>$date<>$name<>$mail<>$sub<>$com<>$url<>$host<>$pw<>$tail<>$w<>$h<>$o_tim<>1<>"; }
+
+ $pushlog[]=$lines;
+ }
+
+ # ログを更新
+ $fp = fopen($logfile,"w");
+ flock($fp,2);
+ while(list(,$val)=each($pushlog)){
+ fputs($fp,$val);
+ }
+ flock($fp,3);
+ fclose($fp);
+ }
+
+ # 削除処理
+ if ($del) {
+
+ # 削除情報をマッチングし更新
+ $delall = file($logfile);
+
+
+ while(list(,$delline)=each($delall)){
+ $flag = 0;
+ list($no,$date,$name,$mail,$sub,$com,$url,$host,$pw,$tail,$w,$h,$time) = explode("<>",$delline);
+ if ($del == "$no") {
+ $flag = 1;
+ if (file_exists("$path$time$tail")){
+ unlink("$path$time$tail");}
+ }
+ if($flag == 0){ $dellog[]=$delline; }
+ }
+
+ # ログを更新
+ $fp = fopen($logfile,"w");
+ flock($fp,2);
+ while(list(,$val)=each($dellog)){
+ fputs($fp, $val);
+ }
+ flock($fp,3);
+ fclose($fp);
+ }
+
+ # 削除画面を表示
+ echo "\n";
+
+ $all = (int)($all / 1024);
+ echo "【添付デ?[タ総数 : $all KB】\n";
+ }
+ echo "\n";
+ echo "\n";
+ exit;
+}
+function MakeHtml(){ //HTML生成
+ global $html_file;
+
+ head($buf);
+ Main($buf);
+ foot($buf);
+
+ $hp = fopen ($html_file,"w");
+ flock($hp,2);
+ fputs($hp, $buf);
+ flock($hp,3);
+ fclose($hp);
+
+ include("$html_file");
+ exit;
+}
+function error($mes){ //エラーフォーマット
+ ?>
+
+
+
+
+ echo $mes; ?>
+
+
+ exit;
+}
+?>
\ No newline at end of file
diff --git a/gazou-v2.1.zip b/gazou-v2.1.zip
deleted file mode 100644
index c1f4394..0000000
Binary files a/gazou-v2.1.zip and /dev/null differ
diff --git a/gazou-v2.1/gazou.php b/gazou-v2.1/gazou.php
new file mode 100644
index 0000000..3a7106b
--- /dev/null
+++ b/gazou-v2.1/gazou.php
@@ -0,0 +1,563 @@
+
+/*
+ * �ソス鞫廝BS by ToR
+ * http://php.s3.to
+ *
+ * �ソス鞫懶ソスn�ソス�ソス�ソスR�ソスf�ソス�ソス�ソスツでゑソス�ソスBJPG�ソスAGIF�ソスAPNG�ソスフみア�ソス�ソス�ソスロー�ソズ可能
+ *
+ * �ソスロ托ソス�ソスp�ソスf�ソスB�ソス�ソス�ソスN�ソスg�ソス�ソス�ソスuimg�ソスv�ソス�ソス�ソス�成�ソス�ソス�ソスト擾ソス�ソス�ソス�ソス�ソス�ソスン托ソス�ソス�ソス�ソスi717�ソス�ソス�ソスj�ソス�ソスン定し�ソストゑソス�ソス�ソス�ソス�ソス�ソス�ソス
+ * �ソスナ近の厄ソス�ソス�ソス�ソスT�ソス[�ソスo�ソス�ソスSAFE MODE�ソス�ソス�ソスン定さ�ソス�ソストゑソス�ソス髀奇ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス゚使�ソス�ソス�ソス�ソス齒奇ソスヘ鯉ソス�ソス�ソス�ソスワゑソス�ソスB
+ * OK->http://www.coolfreehost.com http://www.saxen.net
+ *
+ *2000/10/26 v1.0 �ソスニりあ�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス
+ *2000/10/18 v1.1 URL�ソスA�ソス�ソス�ソス[�ソス�ソス�ソス�ソス\�ソス�ソス�ソスA�ソス�ソス
+ *2000/11/28 v1.2 �ソス�除�ソス@�ソス\
+ *2000/11/30 v2.0 �ソスヌ暦ソス�ソス@�ソス\�ソスA�ソス鞫懶ソス`�ソスF�ソスb�ソスN�ソスi�ソス�ソス�ソスO�ソス�ソス�ソスレ追会ソス�ソスj�ソス�ソス
+ *2001/03/17 v2.1 �ソス�ソス�ソス�ソス�ソスト茨ソスツに、�ソス鞫懶ソスロ托ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソスヤ��ソス�ソス�ソス�ソス[�ソスJ�ソス�ソス�ソス�ソス
+ */
+//-------------�ソスン定こ�ソス�ソス�ソス�ソス�ソス�ソス-------------
+# �ソスf�ソス�ソス�ソスツのタ�ソスC�ソスg�ソス�ソス
+$title = '�ソス鞫廝BS�ソス`�ソス�ソス';
+
+# �ソスヌ暦ソス�ソスメ用�ソスp�ソスX�ソス�ソス�ソス[�ソスh�ソスB�ソスK�ソス�ソス�ソスマ更�ソス�ソス�ソスト会ソス�ソス�ソス�ソス�ソス�ソスB
+$admin_pass = '0123';
+
+# �ソスt�ソス@�ソスC�ソス�ソス�ソス�ソス�ソスA�ソスb�ソスv�ソス�ソス�ソス[�ソスh�ソス�ソス�ソス�ソスf�ソスB�ソス�ソス�ソスN�ソスg�ソス�ソス
+# �ソスナ鯉ソス�ソス / �ソスノゑソス�ソスト会ソス�ソス�ソス�ソス�ソス�ソスB
+$up_dir = '/img/';
+
+# �ソスA�ソスb�ソスv�ソス�ソス�ソス[�ソスh�ソス�ソス�ソス�ソスf�ソスB�ソス�ソス�ソスN�ソスg�ソス�ソス�ソスフ撰ソスホパ�ソスX
+$path = dirname($PATH_TRANSLATED).$up_dir;
+
+# �ソス�ソス�ソスO�ソスロ托ソス�ソスt�ソス@�ソスC�ソス�ソス
+$logfile = 'imglog.log';
+
+# �ソステ的HTML�ソス�ソス�ソス�ソス�ソス�ソス�ソスo�ソス�ソス�ソス鼾��ソス�ソスHTML�ソスt�ソス@�ソスC�ソス�ソス
+$html_file = '';
+
+# �ソス�ソスy�ソス[�ソスW�ソス�ソス�ソス�ソス�ソス�ソスフ表�ソス�ソス�ソスL�ソス�ソス�ソス�ソス
+$page_def = 7;
+
+# �ソスナ托ソスL�ソス^�ソス�ソス�ソス�ソス �ソス�ソス�ソス�ソス�ソス�ソスz�ソス�ソス�ソス�ソスニ古ゑソス�ソス�ソス�ソス�ソス�ソス迴��ソスノ削除�ソス�ソス�ソス�ソスワゑソス�ソスB
+$max = 200;
+
+# �ソス鞫懶ソスt�ソス@�ソスC�ソス�ソス�ソス�ソス
�ソス^�ソスO�ソスナ抵ソス�ソスレ表�ソス�ソス�ソス�ソス�ソス驍ゥ�ソスヌゑソス�ソス�ソス 1 �ソスナ表�ソス�ソス 0 �ソスナ表�ソス�ソス�ソス�ソス�ソスネゑソス
+$show_img = 1;
+
+# �ソス�ソス�ソス�ソスz�ソスX�ソスg�ソス�ソス�ソス�ソスフ連�ソス�ソス�ソス�ソス�ソスe�ソス�制鯉ソス
+# --> �ソスb�ソス�ソス�ソス�ソス�ソスL�ソスq�ソス�ソス�ソス�ソスニゑソス�ソスフ趣ソス�ソスヤ以擾ソス�ソス�ソスo�ソス゚ゑソス�ソスネゑソス�ソスニ連�ソス�ソス�ソス�ソス�ソスe�ソスナゑソス�ソスネゑソス
+$w_regist = 0;
+
+# �ソスヌ暦ソス�ソスメゑソス�ソス�ソス�ソスツゑソス�ソス�ソス�ソス鞫懶ソスフみ表�ソス�ソス�ソスi�ソス`�ソスF�ソスb�ソスN�ソス�ソス�ソストゑソス�ソス�ソスF1,�ソス�ソス�ソスラて表�ソス�ソス�ソスF0�ソスj
+$ImageCheck = 0;
+
+# �ソス�ソス�ソス1�ソスフ場合�ソスA�ソス`�ソスF�ソスb�ソスN�ソス�ソス�ソス�ソストなゑソス�ソス鞫懶ソスフ托ソスヨ画像
+$IconSoon = './soon.gif';
+
+# �ソス鞫懶ソスt�ソス@�ソスC�ソス�ソス�ソスフ最托ソス\�ソス�ソス�ソスフ大き�ソス�ソス�ソスi�ソスP�ソスハ:�ソスs�ソスN�ソスZ�ソス�ソス�ソスj
+# --> �ソス�ソス�ソス�ソス�超ゑソス�ソス�ソス鞫懶ソスヘ縮�ソス�ソス�ソス\�ソス�ソス�ソス�ソス�ソスワゑソス
+$MaxW = 300; # �ソス�ソス�ソス�ソス
+$MaxH = 300; # �ソスc�ソス�ソス
+
+# �ソスA�ソスb�ソスv�ソス�ソス�ソス[�ソスh�ソスツ能�ソスネ最托ソスT�ソスC�ソスY�ソスi�ソスP�ソス�ソス : KB�ソスj
+# -->php.ini�ソスワゑソス�ソス�ソスphp_upload_max_filesize�ソスノゑソス�ソスワゑソス�ソス�ソス�ソスA
+# �ソスf�ソスt�ソスH�ソス�ソス�ソスg�ソスl�ソスナゑソス�ソス�ソスQ�ソス�ソス�ソスK�ソスネ擾ソスヘ設抵ソスナゑソス�ソスワゑソス�ソス�ソスB
+$maxbyte = 150;
+$HTML = 0;
+//---------�ソスン定こ�ソス�ソス�ソスワゑソス--------------
+$maxsize = $maxbyte * 1024; //�ソスo�ソスC�ソスg�ソスノ変奇ソス
+function head(&$dat){ //�ソスw�ソスb�ソス_�ソス[�ソス\�ソス�ソス�ソス�ソス
+ global $mode,$no,$PHP_SELF,$logfile,$maxsize,$maxbyte,$MaxW,$MaxH,$title;
+
+ if($mode == "resmsg"){ //�ソス�ソス�ソスX�ソスフ場合
+ $res = file($logfile);
+ $flag = 0;
+ while (list($key, $value) = each ($res)) {
+ list($rno,$date,$name,$mail,$sub,$com,$url) = explode("<>", $value);
+ if ($no == "$rno"){ $flag=1; break; }
+ }
+ if ($flag == 0) error("�ソスY�ソス�ソス�ソスL�ソス�ソス�ソス�ソス�ソス�ソス�ソスツゑソス�ソス�ソスワゑソス�ソス�ソス");
+
+ $r_sub = "Re:$sub";
+ $r_com = ">$com";
+ $r_com = eregi_replace("
","\r>",$r_com);
+ }
+ $dat='
+
+
+'.$title.'
+
+
+[�ソスg�ソスb�ソスv�ソスノ戻ゑソス]
+[�ソス�ソス�ソス[�ソスh�ソス�ソス�ソス�ソス]
+[�ソスヌ暦ソス�ソスp]
+
+
+'.$title.'
+
+
+
';
+}
+function foot(&$dat){ //�ソスt�ソスb�ソス^�ソス[�ソス\�ソス�ソス�ソス�ソス
+ global $PHP_SELF;
+$dat.='
+
+- GazouBBS -
+
+';
+}
+function Main(&$dat){ //�ソスL�ソス�ソス�ソス\�ソス�ソス�ソス�ソス
+ global $logfile,$page_def,$up_dir,$page,$PHP_SELF,
+ $path,$IconSoon,$ImageCheck;
+
+ $view = file($logfile);
+ $logsize = sizeof($view);
+
+ if(isset($page)) $start = $page;
+ else $start = $logsize - 1;
+
+ $end = $start - $page_def + 1;
+ if($end < 0) $end = 0;
+
+ for($s = $start;$s >= $end;$s--){
+ list($no,$date,$name,$mail,$sub,$com,$url,
+ $host,$pw,$imgfile,$W,$H,$time2,$chk) = explode("<>", $view[$s]);
+
+ if($url) { $url = "HOME"; }
+ if($mail){ $name = "$name"; }
+ $com = eregi_replace("(>)([^<]*)", "\\1\\2", $com);
+
+ if ($imgfile && file_exists("$path$imgfile")) {
+ if ($ImageCheck && $chk != 1) {
+ $dat.="
";
+ } elseif ($W && $H) {
+ $dat.="
";
+ } else {
+ $dat.= "
";
+ }
+ }
+
+ $dat.="No.$no $sub
";
+ $dat.="Name $name Date $date ";
+ $dat.="[RES] $url
";
+ $dat.="
\n";
+ $dat.="$com
\n";
+ $p++;
+ } //end for
+
+ if(($logsize > $page_def) && ($p >= $page_def)){
+ $dat.="\n";
+ }
+}
+function regist(){ //�ソス�ソス�ソスO�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス
+ global $name,$email,$sub,$com,$url,$MaxW,$MaxH,$source_name;
+ global $pwd,$upfile,$html_url,$logfile,$jisa,$max,$w_regist,$path;
+
+ // �ソスt�ソスH�ソス[�ソス�ソス�ソス�ソス�ソスe�ソス�ソス�ソス`�ソスF�ソスb�ソスN
+ if(empty($com)){ error("�ソス{�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソスワゑソストゑソス�ソスワゑソス�ソス�ソス"); }
+ if(empty($name)){ error("�ソス�ソス�ソスO�ソス�ソス�ソスL�ソス�ソス�ソス�ソス�ソス�ソストゑソス�ソスワゑソス�ソス�ソス"); }
+ if(empty($sub)){ $sub="�ソスi�ソス�ソス�ソス�ソスj"; }
+
+ $check = file($logfile);
+ $tail = sizeof($check);
+ $last = $tail - 1;
+ list($tno,$tdate,$tname,$tmail,$tsub,$tcom,
+ $turl,$thost,$tpw,$ttail,$tw,$th,$ttime) = explode("<>", $check[$last]);
+ if($name == $tname && $com == $tcom) error("�ソス�ソスd�ソス�ソス�ソスe�ソスヘ禁止�ソスナゑソス");
+ if ($w_regist && $times - $ttime < $w_regist)
+ error("�ソスA�ソス�ソス�ソス�ソス�ソスe�ソスヘゑソス�ソス�ソス�ソス�ソス�ソスホらく�ソス�ソス�ソスヤゑソスu�ソス�ソス�ソストゑソス�ソス轤ィ�ソス閧「�ソスv�ソス�ソス�ソスワゑソス");
+
+ // �ソスL�ソス�ソスNo�ソス�ソス�ソスフ費ソス
+ $no = $tno + 1;
+
+ // �ソスz�ソスX�ソスg�ソス�ソス�ソス�ソス�ソス謫セ
+ $host = getenv("REMOTE_HOST");
+ $addr = getenv("REMOTE_ADDR");
+ if($host == "" || $host == $addr) $host=@gethostbyaddr($addr);
+
+ // �ソス�除�ソスL�ソス[�ソス�ソス�ソステ搾ソス�ソス�ソス
+ if ($pwd) { $PW = crypt(($pwd),aa); }
+
+ // URL�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソスN
+ if ($autolink) { auto_link($com); }
+
+ // �ソスナ托ソスL�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス
+ if ($max < $tail) {
+ $del = file($logfile);
+ $top = $tail - $max;
+ for($j=$top; $j<=$tail; $j++){
+ list($no,$date,$name,$mail,$sub,$com,
+ $url,$host,$pw,$ex,$w,$h,$tim)= explode("<>", $del[$j]);
+ if (file_exists("$path$tim$ex")){ unlink("$path$tim$ex"); }
+ $dp = fopen ($logfile,"w");flock($dp,2);
+ fputs($dp, $del[$j]);flock($dp,3);
+ fclose($dp);
+ }
+ }
+ $now = gmdate( "Y/m/d(D) H:i",time()+9*60*60);
+ $url = ereg_replace( "^http://", "",$url);
+ $sub = htmlspecialchars($sub);
+ $sub = stripslashes($sub);
+ $name = htmlspecialchars($name);
+ $name = stripslashes($name);
+ $com = htmlspecialchars($com);
+ $com = stripslashes($com);
+ $com = str_replace( "\r\n", "\r", $com); //�ソス�ソス�ソスs�ソス�ソス�ソス�ソス�ソスフ難ソス�ソス�ソスB
+ $com = str_replace( "\r", "\n", $com);
+ $com = ereg_replace("\n((�ソス@| |\t)*\n){3,}","\n",$com);//�ソスA�ソス�ソス�ソス�ソス�ソス�ソス�ソスs�ソス�ソス�ソス�ソスs
+ $com = nl2br($com); //�ソス�ソス�ソスs�ソス�ソス�ソス�ソス�ソスフ前�ソス�ソス
�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソスB
+ $com = ereg_replace( "\n", "", $com); //\n�ソス�文趣ソス�ソス�かゑソス�ソス�ソス�ソス�ソスB
+ $times = time();
+ if ($upfile) {
+ $fname=UpFile();
+ $size = @getimagesize("$path$fname");
+ $W=$size[0];$H=$size[1];
+
+
+ // �ソス鞫懶ソス\�ソス�ソス�ソスk�ソス�ソス
+ if ($W > $MaxW || $H > $MaxH) {
+ $W2 = $MaxW / $W;
+ $H2 = $MaxH / $H;
+
+ ($W2 < $H2) ? $key = $W2 : $key = $H2;
+
+ $W = (int) $W * $key;
+ $H = (int) $H * $key;
+ }
+ }
+ $new_msg="$no<>$now<>$name<>$email<>$sub<>$com<>$url<>$host<>$PW<>$fname<>$W<>$H<>$times<><>\n";
+
+ $fp = fopen($logfile,"a");
+ flock($fp,2);
+ fputs($fp, $new_msg);
+ flock($fp,3);
+ fclose($fp);
+
+// �ソス�ソス�ソス[�ソス�ソス�ソスハ知�ソス�ソス�ソス�ソス
+// if ($mailing == 1) { mail_to(); }
+}
+function UpFile(){ //�ソスA�ソスb�ソスv�ソス�ソス�ソス[�ソスh�ソス�ソス�ソス�ソス
+ global $up_dir,$upfile,$upfile_name,$path;
+
+ $source = $upfile;
+ $source_name = $upfile_name;
+
+ if(($source != "none")&&($source != "")){
+ $dest = $path.$source_name;
+ if(copy($source,$dest)){
+ echo "�ソス�ソス�ソス�ソス";
+ $imagesize = getimagesize($dest);
+
+ switch($imagesize[2]) {
+ case 0:
+ error("�ソス鞫懶ソスネ外�ソスヘア�ソスb�ソスv�ソス�ソス�ソス[�ソスh�ソスナゑソス�ソスワゑソス�ソス�ソス");
+ unlink($dest);
+ exit;
+ case 1:
+ echo " $imagesize[0] x $imagesize[1]
";
+ echo "GIF�ソス鞫� �ソスA�ソスb�ソスv�ソス�ソス�ソス�ソス �ソス| $dest";
+ break;
+ case 2:
+ echo " $imagesize[0] x $imagesize[1]
";
+ echo "JPG�ソス鞫� �ソスA�ソスb�ソスv�ソス�ソス�ソス�ソス �ソス| $dest";
+ break;
+ case 3:
+ echo " $imagesize[0] x $imagesize[1]
";
+ echo "PNG�ソス鞫� �ソスA�ソスb�ソスv�ソス�ソス�ソス�ソス �ソス| $dest";
+ break;
+ }
+ } else {
+ error("Upload �ソスf�ソスB�ソス�ソス�ソスN�ソスg�ソス�ソス�ソスノ擾ソス�ソス�ソス�ソス�ソス�ソスン趣ソス�ソスs\n");
+ }
+ unlink($source);
+}
+ return $source_name;
+}
+function usrdel(){ //�ソス�ソス�ソス[�ソスU�ソス[�ソス�除
+ global $pwd,$no,$logfile,$path;
+ if ($no == "" || $pwd == "")
+ { error("�ソス�除No�ソスワゑソス�ソスヘ削除�ソスL�ソス[�ソス�ソス�ソス�ソス�ソスヘ��ソス�ソス�ソス�ソスナゑソス"); }
+
+ $logall = file($logfile);
+ $flag=0;
+
+ while(list(,$lines)=each($logall)){
+ list($o_no,$date,$name,$mail,$sub,$com,$url,$host,$pw,$tail,$w,$h,$o_tim) = explode("<>",$lines);
+ if ($no == "$o_no") { $flag=1; $PWD=$pw; $upfile="$tail"; }
+ else { $pushlog[]=$lines; }
+ }
+
+ if ($flag == 0) { error("�ソスY�ソス�ソス�ソスL�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソスワゑソス�ソス�ソス"); }
+ if ($PWD == "") { error("�ソスY�ソス�ソス�ソスL�ソス�ソス�ソスノは削除�ソスL�ソス[�ソス�ソス�ソスン定さ�ソス�ソストゑソス�ソスワゑソス�ソス�ソス"); }
+
+ // �ソス�除�ソスL�ソス[�ソス�ソス�ソスニ搾ソス
+ $match = crypt(($pwd),aa);
+ if ($match != $PWD) { error("�ソス�除�ソスL�ソス[�ソス�ソス�ソス痰「�ソスワゑソス"); }
+
+ // �ソス�ソス�ソスO�ソス�ソス�ソスX�ソスV
+ $fp = fopen($logfile,"w");
+ flock($fp,2);
+ while(list(,$val)=each($pushlog)){
+ fputs($fp,$val);
+ }
+ flock($fp,3);
+ fclose($fp);
+
+ if(file_exists("$path$upfile")){ unlink("$path$upfile"); }
+}
+function admin(){ //�ソスヌ暦ソス�ソス@�ソス\
+ global $admin_pass,$PHP_SELF,$logfile,$path,$ImageCheck;
+ global $del,$pass,$chk;
+ if ($pass && $pass != "$pass")
+ { error("�ソスp�ソスX�ソス�ソス�ソス[�ソスh�ソス�ソス�ソス痰「�ソスワゑソス"); }
+?>
+
+
+
+
+ echo "$title";
+ echo "";
+ echo "[�ソスf�ソス�ソス�ソスツに戻ゑソス]\n";
+ echo "| \n";
+ echo "�ソスヌ暦ソス�ソス�ソス�ソス[�ソスh\n";
+ echo " |
|---|
\n";
+
+ if (!$pass) {
+ echo "�ソスp�ソスX�ソス�ソス�ソス[�ソスh�ソス�ソス�ソス�ソスヘゑソス�ソスト会ソス�ソス�ソス�ソス�ソス
\n";
+ echo "\n";
+ }else {
+ // �ソス鞫懶ソス�ソス�ソス�ソス
+ if ($chk) {
+
+ // �ソス鞫懶ソス�ソス�ソス�ソス�ソス}�ソスb�ソス`�ソス�ソス�ソスO�ソス�ソス�ソスX�ソスV
+ $logall = file($logfile);
+
+ while(list(,$lines)=each($logall)){
+ list($no,$date,$name,$mail,$sub,$com,$url,$host,$pw,$tail,$w,$h,$o_tim,$check) = explode("<>",$lines);
+ if ($chk == "$no") { $lines="$no<>$date<>$name<>$mail<>$sub<>$com<>$url<>$host<>$pw<>$tail<>$w<>$h<>$o_tim<>1<>"; }
+
+ $pushlog[]=$lines;
+ }
+
+ // �ソス�ソス�ソスO�ソス�ソス�ソスX�ソスV
+ $fp = fopen($logfile,"w");
+ flock($fp,2);
+ while(list(,$val)=each($pushlog)){
+ fputs($fp,$val);
+ }
+ flock($fp,3);
+ fclose($fp);
+ }
+
+ // �ソス�除�ソス�ソス�ソス�ソス
+ if ($del) {
+
+ // �ソス�除�ソス�ソス�ソス�ソス�ソス}�ソスb�ソス`�ソス�ソス�ソスO�ソス�ソス�ソスX�ソスV
+ $delall = file($logfile);
+ $flag = 0;
+
+ while(list(,$delline)=each($delall)){
+ list($no,$date,$name,$mail,$sub,$com,$url,$host,$pw,$tail,$w,$h,$time) = explode("<>",$delline);
+ if ($del == "$no") {
+ $flag = 1;
+ if (file_exists("$path$tail")){
+ unlink("$path$tail"); }
+ continue;
+ }
+ if($flag == 0){ $dellog[]=$delline; }
+ }
+
+ // �ソス�ソス�ソスO�ソス�ソス�ソスX�ソスV
+ $fp = fopen($logfile,"w");
+ flock($fp,2);
+ while(list(,$val)=each($dellog)){
+ fputs($fp,$val);
+ }
+ flock($fp,3);
+ fclose($fp);
+ }
+
+ // �ソス�除�ソス�ソスハゑソス\�ソス�ソス
+ echo "\n";
+
+ $all = (int)($all / 1024);
+ echo "�ソスy�ソスY�ソスt�ソスf�ソス[�ソス^�ソス�ソス�ソス�ソス �ソスF $all KB�ソスz\n";
+ }
+ echo "\n";
+ die ("");
+}
+function MakeHtml(){ //HTML�ソス�ソス�ソス�ソス
+ global $html_file;
+
+ head($buf);
+ Main($buf);
+ foot($buf);
+
+ $hp = fopen ($html_file,"w");
+ flock($hp,2);
+ fputs($hp, $buf);
+ fclose($hp);
+
+ include("$html_file");
+ exit;
+}
+function error($mes){ //�ソスG�ソス�ソス�ソス[�ソスt�ソスH�ソス[�ソス}�ソスb�ソスg
+ ?>
+
+
+
+
+ echo $mes; ?>
+
+
+ exit;
+}
+/*======Main======*/
+ switch($mode):
+ case 'regist':
+ regist();
+ if($HTML) MakeHtml();
+ echo '';
+ break;
+ case 'admin':
+ admin();
+ break;
+ case 'usrdel':
+ usrdel();
+ if($HTML) MakeHtml();
+ break;
+ default:
+ head($buf);
+ Main($buf);
+ foot($buf);
+ echo $buf;
+ break;
+ endswitch;
+?>
\ No newline at end of file
diff --git a/gazou-v2.3.zip b/gazou-v2.3.zip
deleted file mode 100644
index f43ecf4..0000000
Binary files a/gazou-v2.3.zip and /dev/null differ
diff --git a/gazou-v2.3/gazou.php b/gazou-v2.3/gazou.php
new file mode 100644
index 0000000..c8795e8
--- /dev/null
+++ b/gazou-v2.3/gazou.php
@@ -0,0 +1,571 @@
+
+/*
+ * �ソス鞫廝BS by ToR
+ * http://php.s3.to
+ *
+ * �ソス鞫懶ソスn�ソス�ソス�ソスR�ソスf�ソス�ソス�ソスツでゑソス�ソスBJPG�ソスAGIF�ソスAPNG�ソスフみア�ソス�ソス�ソスロー�ソズ可能
+ *
+ * �ソスロ托ソス�ソスp�ソスf�ソスB�ソス�ソス�ソスN�ソスg�ソス�ソス�ソスuimg�ソスv�ソス�ソス�ソス�成�ソス�ソス�ソスト擾ソス�ソス�ソス�ソス�ソス�ソスン托ソス�ソス�ソス�ソスi717�ソス�ソス�ソスj�ソス�ソスン定し�ソストゑソス�ソス�ソス�ソス�ソス�ソス�ソス
+ * �ソスナ近の厄ソス�ソス�ソス�ソスT�ソス[�ソスo�ソス�ソスSAFE MODE�ソス�ソス�ソスン定さ�ソス�ソストゑソス�ソス髀奇ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス゚使�ソス�ソス�ソス�ソス齒奇ソスヘ鯉ソス�ソス�ソス�ソスワゑソス�ソスB
+ * OK->http://www.coolfreehost.com http://www.saxen.net
+ *
+ *2000/10/26 v1.0 �ソスニりあ�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス
+ *2000/10/18 v1.1 URL�ソスA�ソス�ソス�ソス[�ソス�ソス�ソス�ソス\�ソス�ソス�ソスA�ソス�ソス
+ *2000/11/28 v1.2 �ソス�除�ソス@�ソス\
+ *2000/11/30 v2.0 �ソスヌ暦ソス�ソス@�ソス\�ソスA�ソス鞫懶ソス`�ソスF�ソスb�ソスN�ソスi�ソス�ソス�ソスO�ソス�ソス�ソスレ追会ソス�ソスj�ソス�ソス
+ *2001/03/17 v2.1 �ソス�ソス�ソス�ソス�ソスト茨ソスツに、�ソス鞫懶ソスロ托ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソスヤ��ソス�ソス�ソス�ソス[�ソスJ�ソス�ソス�ソス�ソス
+ *2001/06/30 v2.2 Win�ソスt�ソス@�ソスC�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソスp�ソスX\\�ソス�ソス�ソス�ソス�ソス�ソス
+ *2001/07/17 v2.3 �ソスヌ暦ソス�ソスp�ソスX�ソス�ソス�ソズグ修�ソス�ソス�ソスA�ソス�ソス
+ */
+//-------------�ソスン定こ�ソス�ソス�ソス�ソス�ソス�ソス-------------
+# �ソスf�ソス�ソス�ソスツのタ�ソスC�ソスg�ソス�ソス
+$title = '�ソス鞫廝BS�ソス`�ソス�ソス';
+
+# �ソスヌ暦ソス�ソスメ用�ソスp�ソスX�ソス�ソス�ソス[�ソスh�ソスB�ソスK�ソス�ソス�ソスマ更�ソス�ソス�ソスト会ソス�ソス�ソス�ソス�ソス�ソスB
+$admin_pass = 'asdfg';
+
+# �ソスt�ソス@�ソスC�ソス�ソス�ソス�ソス�ソスA�ソスb�ソスv�ソス�ソス�ソス[�ソスh�ソス�ソス�ソス�ソスf�ソスB�ソス�ソス�ソスN�ソスg�ソス�ソス
+# �ソスナ鯉ソス�ソス / �ソスノゑソス�ソスト会ソス�ソス�ソス�ソス�ソス�ソスB
+$up_dir = '/img/';
+
+# �ソスA�ソスb�ソスv�ソス�ソス�ソス[�ソスh�ソス�ソス�ソス�ソスf�ソスB�ソス�ソス�ソスN�ソスg�ソス�ソス�ソスフ撰ソスホパ�ソスX
+$path = dirname($PATH_TRANSLATED).$up_dir;
+
+# �ソス�ソス�ソスO�ソスロ托ソス�ソスt�ソス@�ソスC�ソス�ソス
+$logfile = 'imglog.log';
+
+# html�ソスノ擾ソス�ソス�ソス�ソスo�ソス�ソス�ソス�ソス�ソスヌゑソス�ソス�ソス
+$HTML = 0;
+# �ソステ的HTML�ソス�ソス�ソス�ソス�ソス�ソス�ソスo�ソス�ソス�ソス鼾��ソス�ソスHTML�ソスt�ソス@�ソスC�ソス�ソス
+$html_file = '';
+
+# �ソス�ソスy�ソス[�ソスW�ソス�ソス�ソス�ソス�ソス�ソスフ表�ソス�ソス�ソスL�ソス�ソス�ソス�ソス
+$page_def = 7;
+
+# �ソスナ托ソスL�ソス^�ソス�ソス�ソス�ソス �ソス�ソス�ソス�ソス�ソス�ソスz�ソス�ソス�ソス�ソスニ古ゑソス�ソス�ソス�ソス�ソス�ソス迴��ソスノ削除�ソス�ソス�ソス�ソスワゑソス�ソスB
+$max = 200;
+
+# �ソス鞫懶ソスt�ソス@�ソスC�ソス�ソス�ソス�ソス
�ソス^�ソスO�ソスナ抵ソス�ソスレ表�ソス�ソス�ソス�ソス�ソス驍ゥ�ソスヌゑソス�ソス�ソス 1 �ソスナ表�ソス�ソス 0 �ソスナ表�ソス�ソス�ソス�ソス�ソスネゑソス
+$show_img = 1;
+
+# �ソス�ソス�ソス�ソスz�ソスX�ソスg�ソス�ソス�ソス�ソスフ連�ソス�ソス�ソス�ソス�ソスe�ソス�制鯉ソス
+# --> �ソスb�ソス�ソス�ソス�ソス�ソスL�ソスq�ソス�ソス�ソス�ソスニゑソス�ソスフ趣ソス�ソスヤ以擾ソス�ソス�ソスo�ソス゚ゑソス�ソスネゑソス�ソスニ連�ソス�ソス�ソス�ソス�ソスe�ソスナゑソス�ソスネゑソス
+$w_regist = 0;
+
+# �ソスヌ暦ソス�ソスメゑソス�ソス�ソス�ソスツゑソス�ソス�ソス�ソス鞫懶ソスフみ表�ソス�ソス�ソスi�ソス`�ソスF�ソスb�ソスN�ソス�ソス�ソストゑソス�ソス�ソスF1,�ソス�ソス�ソスラて表�ソス�ソス�ソスF0�ソスj
+$ImageCheck = 0;
+
+# �ソス�ソス�ソス1�ソスフ場合�ソスA�ソス`�ソスF�ソスb�ソスN�ソス�ソス�ソス�ソストなゑソス�ソス鞫懶ソスフ托ソスヨ画像
+$IconSoon = './soon.gif';
+
+# �ソス鞫懶ソスt�ソス@�ソスC�ソス�ソス�ソスフ最托ソス\�ソス�ソス�ソスフ大き�ソス�ソス�ソスi�ソスP�ソスハ:�ソスs�ソスN�ソスZ�ソス�ソス�ソスj
+# --> �ソス�ソス�ソス�ソス�超ゑソス�ソス�ソス鞫懶ソスヘ縮�ソス�ソス�ソス\�ソス�ソス�ソス�ソス�ソスワゑソス
+$MaxW = 300; # �ソス�ソス�ソス�ソス
+$MaxH = 300; # �ソスc�ソス�ソス
+
+# �ソスA�ソスb�ソスv�ソス�ソス�ソス[�ソスh�ソスツ能�ソスネ最托ソスT�ソスC�ソスY�ソスi�ソスP�ソス�ソス : KB�ソスj
+# -->php.ini�ソスワゑソス�ソス�ソスphp_upload_max_filesize�ソスノゑソス�ソスワゑソス�ソス�ソス�ソスA
+# �ソスf�ソスt�ソスH�ソス�ソス�ソスg�ソスl�ソスナゑソス�ソス�ソスQ�ソス�ソス�ソスK�ソスネ擾ソスヘ設抵ソスナゑソス�ソスワゑソス�ソス�ソスB
+$maxbyte = 150;
+
+// �ソス�ソス�ソス�ソス�ソス�ソスHP�ソスi�ソス�ソス�ソス�ソス�ソスN�ソスj
+$HOME = "http://php.s3.to/";
+//---------�ソスン定こ�ソス�ソス�ソスワゑソス--------------
+$maxsize = $maxbyte * 1024; //�ソスo�ソスC�ソスg�ソスノ変奇ソス
+function head(&$dat){ //�ソスw�ソスb�ソス_�ソス[�ソス\�ソス�ソス�ソス�ソス
+ global $mode,$no,$PHP_SELF,$logfile,$maxsize,$maxbyte,$MaxW,$MaxH,$title,$HOME;
+
+ if($mode == "resmsg"){ //�ソス�ソス�ソスX�ソスフ場合
+ $res = file($logfile);
+ $flag = 0;
+ while (list($key, $value) = each ($res)) {
+ list($rno,$date,$name,$mail,$sub,$com,$url) = explode("<>", $value);
+ if ($no == "$rno"){ $flag=1; break; }
+ }
+ if ($flag == 0) error("�ソスY�ソス�ソス�ソスL�ソス�ソス�ソス�ソス�ソス�ソス�ソスツゑソス�ソス�ソスワゑソス�ソス�ソス");
+
+ $r_sub = "Re:$sub";
+ $r_com = ">$com";
+ $r_com = eregi_replace("
","\r>",$r_com);
+ }
+ $dat='
+
+
+'.$title.'
+
+
+[�ソスg�ソスb�ソスv�ソスノ戻ゑソス]
+[�ソスヌ暦ソス�ソスp]
+
+
+'.$title.'
+
+
+
';
+}
+function foot(&$dat){ //�ソスt�ソスb�ソス^�ソス[�ソス\�ソス�ソス�ソス�ソス
+ global $PHP_SELF;
+$dat.='
+
+- GazouBBS -
+
+';
+}
+function Main(&$dat){ //�ソスL�ソス�ソス�ソス\�ソス�ソス�ソス�ソス
+ global $logfile,$page_def,$up_dir,$page,$PHP_SELF,
+ $path,$IconSoon,$ImageCheck;
+
+ $view = file($logfile);
+ $logsize = sizeof($view);
+
+ if(isset($page)) $start = $page;
+ else $start = $logsize - 1;
+
+ $end = $start - $page_def + 1;
+ if($end < 0) $end = 0;
+
+ for($s = $start;$s >= $end;$s--){
+ list($no,$date,$name,$mail,$sub,$com,$url,
+ $host,$pw,$imgfile,$W,$H,$time2,$chk) = explode("<>", $view[$s]);
+
+ if($url) { $url = "HOME"; }
+ if($mail){ $name = "$name"; }
+ $com = eregi_replace("(^|/>)(>[^<]*)", "\\1\\2", $com);
+
+ if ($imgfile && file_exists("$path$imgfile")) {
+ if ($ImageCheck && $chk != 1) {
+ $dat.="
";
+ } elseif ($W && $H) {
+ $dat.="
";
+ } else {
+ $dat.= "
";
+ }
+ }
+
+ $dat.="No.$no $sub
";
+ $dat.="Name $name Date $date ";
+ $dat.="[RES] $url
";
+ $dat.="
\n";
+ $dat.="$com
\n";
+ $p++;
+ } //end for
+
+ if(($logsize > $page_def) && ($p >= $page_def)){
+ $dat.="\n";
+ }
+}
+function regist(){ //�ソス�ソス�ソスO�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス
+ global $name,$email,$sub,$com,$url,$MaxW,$MaxH,$source_name;
+ global $pwd,$upfile,$html_url,$logfile,$jisa,$max,$w_regist,$path;
+
+ // �ソスt�ソスH�ソス[�ソス�ソス�ソス�ソス�ソスe�ソス�ソス�ソス`�ソスF�ソスb�ソスN
+ if(empty($com)){ error("�ソス{�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソスワゑソストゑソス�ソスワゑソス�ソス�ソス"); }
+ if(empty($name)){ error("�ソス�ソス�ソスO�ソス�ソス�ソスL�ソス�ソス�ソス�ソス�ソス�ソストゑソス�ソスワゑソス�ソス�ソス"); }
+ if(empty($sub)){ $sub="�ソスi�ソス�ソス�ソス�ソスj"; }
+
+ $check = file($logfile);
+ $tail = sizeof($check);
+ $last = $tail - 1;
+ list($tno,$tdate,$tname,$tmail,$tsub,$tcom,
+ $turl,$thost,$tpw,$ttail,$tw,$th,$ttime) = explode("<>", $check[$last]);
+ if($name == $tname && $com == $tcom) error("�ソス�ソスd�ソス�ソス�ソスe�ソスヘ禁止�ソスナゑソス");
+ if ($w_regist && $times - $ttime < $w_regist)
+ error("�ソスA�ソス�ソス�ソス�ソス�ソスe�ソスヘゑソス�ソス�ソス�ソス�ソス�ソスホらく�ソス�ソス�ソスヤゑソスu�ソス�ソス�ソストゑソス�ソス轤ィ�ソス閧「�ソスv�ソス�ソス�ソスワゑソス");
+
+ // �ソスL�ソス�ソスNo�ソス�ソス�ソスフ費ソス
+ $no = $tno + 1;
+
+ // �ソスz�ソスX�ソスg�ソス�ソス�ソス�ソス�ソス謫セ
+ $host = getenv("REMOTE_HOST");
+ $addr = getenv("REMOTE_ADDR");
+ if($host == "" || $host == $addr) $host=@gethostbyaddr($addr);
+
+
+ // �ソス�除�ソスL�ソス[�ソス�ソス�ソステ搾ソス�ソス�ソス
+ if ($pwd) { $PW = crypt(($pwd),aa); }
+
+ // URL�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソスN
+ if ($autolink) { auto_link($com); }
+
+ // �ソスナ托ソスL�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス
+ if ($max < $tail) {
+ $del = file($logfile);
+ $top = $tail - $max;
+ for($j=$top; $j<=$tail; $j++){
+ list($no,$date,$name,$mail,$sub,$com,
+ $url,$host,$pw,$ex,$w,$h,$tim)= explode("<>", $del[$j]);
+ if (file_exists("$path$tim$ex")){ unlink("$path$tim$ex"); }
+ $dp = fopen ($logfile,"w");flock($dp,2);
+ fputs($dp, $del[$j]);flock($dp,3);
+ fclose($dp);
+ }
+ }
+ $now = gmdate( "Y/m/d(D) H:i",time()+9*60*60);
+ $url = ereg_replace( "^http://", "",$url);
+ $sub = htmlspecialchars($sub);
+ $sub = stripslashes($sub);
+ $name = htmlspecialchars($name);
+ $name = stripslashes($name);
+ $com = htmlspecialchars($com);
+ $com = stripslashes($com);
+ $com = str_replace( "\r\n", "\r", $com); //�ソス�ソス�ソスs�ソス�ソス�ソス�ソス�ソスフ難ソス�ソス�ソスB
+ $com = str_replace( "\r", "\n", $com);
+ $com = ereg_replace("\n((�ソス@| |\t)*\n){3,}","\n",$com);//�ソスA�ソス�ソス�ソス�ソス�ソス�ソス�ソスs�ソス�ソス�ソス�ソスs
+ $com = nl2br($com); //�ソス�ソス�ソスs�ソス�ソス�ソス�ソス�ソスフ前�ソス�ソス
�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソスB
+ $com = ereg_replace( "\n", "", $com); //\n�ソス�文趣ソス�ソス�かゑソス�ソス�ソス�ソス�ソスB
+ $times = time();
+ if ($upfile) {
+ $fname=UpFile();
+ $size = @getimagesize("$path$fname");
+ $W=$size[0];$H=$size[1];
+
+
+ // �ソス鞫懶ソス\�ソス�ソス�ソスk�ソス�ソス
+ if ($W > $MaxW || $H > $MaxH) {
+ $W2 = $MaxW / $W;
+ $H2 = $MaxH / $H;
+
+ ($W2 < $H2) ? $key = $W2 : $key = $H2;
+
+ $W = (int) $W * $key;
+ $H = (int) $H * $key;
+ }
+ }
+ $new_msg="$no<>$now<>$name<>$email<>$sub<>$com<>$url<>$host<>$PW<>$fname<>$W<>$H<>$times<><>\n";
+
+ $fp = fopen($logfile,"a");
+ flock($fp,2);
+ fputs($fp, $new_msg);
+ flock($fp,3);
+ fclose($fp);
+
+// �ソス�ソス�ソス[�ソス�ソス�ソスハ知�ソス�ソス�ソス�ソス
+// if ($mailing == 1) { mail_to(); }
+}
+function UpFile(){ //�ソスA�ソスb�ソスv�ソス�ソス�ソス[�ソスh�ソス�ソス�ソス�ソス
+ global $up_dir,$upfile,$upfile_name,$path;
+
+ $source = $upfile;
+ $source_name = $upfile_name;
+ //6/30
+ $source_name = ereg_replace("^(.:.*\\\\)?(.*)", "\\2", $source_name);
+
+ if(($source != "none")&&($source != "")){
+ $dest = $path.$source_name;
+ if(copy($source,$dest)){
+ echo "�ソス�ソス�ソス�ソス";
+ $imagesize = getimagesize($dest);
+
+ switch($imagesize[2]) {
+ case 0:
+ error("�ソス鞫懶ソスネ外�ソスヘア�ソスb�ソスv�ソス�ソス�ソス[�ソスh�ソスナゑソス�ソスワゑソス�ソス�ソス");
+ unlink($dest);
+ exit;
+ case 1:
+ echo " $imagesize[0] x $imagesize[1]
";
+ echo "GIF�ソス鞫� �ソスA�ソスb�ソスv�ソス�ソス�ソス�ソス �ソス| $dest";
+ break;
+ case 2:
+ echo " $imagesize[0] x $imagesize[1]
";
+ echo "JPG�ソス鞫� �ソスA�ソスb�ソスv�ソス�ソス�ソス�ソス �ソス| $dest";
+ break;
+ case 3:
+ echo " $imagesize[0] x $imagesize[1]
";
+ echo "PNG�ソス鞫� �ソスA�ソスb�ソスv�ソス�ソス�ソス�ソス �ソス| $dest";
+ break;
+ }
+ } else {
+ error("Upload �ソスf�ソスB�ソス�ソス�ソスN�ソスg�ソス�ソス�ソスノ擾ソス�ソス�ソス�ソス�ソス�ソスン趣ソス�ソスs\n");
+ }
+ unlink($source);
+}
+ return $source_name;
+}
+function usrdel(){ //�ソス�ソス�ソス[�ソスU�ソス[�ソス�除
+ global $pwd,$no,$logfile,$path;
+ if ($no == "" || $pwd == "")
+ { error("�ソス�除No�ソスワゑソス�ソスヘ削除�ソスL�ソス[�ソス�ソス�ソス�ソス�ソスヘ��ソス�ソス�ソス�ソスナゑソス"); }
+
+ $logall = file($logfile);
+ $flag=0;
+
+ while(list(,$lines)=each($logall)){
+ list($o_no,$date,$name,$mail,$sub,$com,$url,$host,$pw,$tail,$w,$h,$o_tim) = explode("<>",$lines);
+ if ($no == "$o_no") { $flag=1; $PWD=$pw; $upfile="$tail"; }
+ else { $pushlog[]=$lines; }
+ }
+
+ if ($flag == 0) { error("�ソスY�ソス�ソス�ソスL�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソス�ソスワゑソス�ソス�ソス"); }
+ if ($PWD == "") { error("�ソスY�ソス�ソス�ソスL�ソス�ソス�ソスノは削除�ソスL�ソス[�ソス�ソス�ソスン定さ�ソス�ソストゑソス�ソスワゑソス�ソス�ソス"); }
+
+ // �ソス�除�ソスL�ソス[�ソス�ソス�ソスニ搾ソス
+ $match = crypt(($pwd),aa);
+ if ($match != $PWD) { error("�ソス�除�ソスL�ソス[�ソス�ソス�ソス痰「�ソスワゑソス"); }
+
+ // �ソス�ソス�ソスO�ソス�ソス�ソスX�ソスV
+ $fp = fopen($logfile,"w");
+ flock($fp,2);
+ while(list(,$val)=each($pushlog)){
+ fputs($fp,$val);
+ }
+ flock($fp,3);
+ fclose($fp);
+
+ if(file_exists("$path$upfile")){ unlink("$path$upfile"); }
+}
+function admin(){ //�ソスヌ暦ソス�ソス@�ソス\
+ global $admin_pass,$PHP_SELF,$logfile,$path,$ImageCheck;
+ global $del,$pass,$chk;
+ if ($pass && $admin_pass != "$pass")
+ { error("�ソスp�ソスX�ソス�ソス�ソス[�ソスh�ソス�ソス�ソス痰「�ソスワゑソス"); }
+?>
+
+
+
+
+ echo "$title";
+ echo "";
+ echo "[�ソスf�ソス�ソス�ソスツに戻ゑソス]\n";
+ echo "| \n";
+ echo "�ソスヌ暦ソス�ソス�ソス�ソス[�ソスh\n";
+ echo " |
|---|
\n";
+
+ if (!$pass) {
+ echo "�ソスp�ソスX�ソス�ソス�ソス[�ソスh�ソス�ソス�ソス�ソスヘゑソス�ソスト会ソス�ソス�ソス�ソス�ソス
\n";
+ echo "\n";
+ }else {
+ // �ソス鞫懶ソス�ソス�ソス�ソス
+ if ($chk) {
+
+ // �ソス鞫懶ソス�ソス�ソス�ソス�ソス}�ソスb�ソス`�ソス�ソス�ソスO�ソス�ソス�ソスX�ソスV
+ $logall = file($logfile);
+
+ while(list(,$lines)=each($logall)){
+ list($no,$date,$name,$mail,$sub,$com,$url,$host,$pw,$tail,$w,$h,$o_tim,$check) = explode("<>",$lines);
+ if ($chk == "$no") { $lines="$no<>$date<>$name<>$mail<>$sub<>$com<>$url<>$host<>$pw<>$tail<>$w<>$h<>$o_tim<>1<>"; }
+
+ $pushlog[]=$lines;
+ }
+
+ // �ソス�ソス�ソスO�ソス�ソス�ソスX�ソスV
+ $fp = fopen($logfile,"w");
+ flock($fp,2);
+ while(list(,$val)=each($pushlog)){
+ fputs($fp,$val);
+ }
+ flock($fp,3);
+ fclose($fp);
+ }
+
+ // �ソス�除�ソス�ソス�ソス�ソス
+ if ($del) {
+
+ // �ソス�除�ソス�ソス�ソス�ソス�ソス}�ソスb�ソス`�ソス�ソス�ソスO�ソス�ソス�ソスX�ソスV
+ $delall = file($logfile);
+ $flag = 0;
+
+ while(list(,$delline)=each($delall)){
+ list($no,$date,$name,$mail,$sub,$com,$url,$host,$pw,$tail,$w,$h,$time) = explode("<>",$delline);
+ if ($del == "$no") {
+ $flag = 1;
+ if (file_exists("$path$tail")){
+ unlink("$path$tail"); }
+ continue;
+ }
+ if($flag == 0){ $dellog[]=$delline; }
+ }
+
+ // �ソス�ソス�ソスO�ソス�ソス�ソスX�ソスV
+ $fp = fopen($logfile,"w");
+ flock($fp,2);
+ while(list(,$val)=each($dellog)){
+ fputs($fp,$val);
+ }
+ flock($fp,3);
+ fclose($fp);
+ }
+
+ // �ソス�除�ソス�ソスハゑソス\�ソス�ソス
+ echo "\n";
+
+ $all = (int)($all / 1024);
+ echo "�ソスy�ソスY�ソスt�ソスf�ソス[�ソス^�ソス�ソス�ソス�ソス �ソスF $all KB�ソスz\n";
+ }
+ echo "\n";
+ die ("");
+}
+function MakeHtml(){ //HTML�ソス�ソス�ソス�ソス
+ global $html_file;
+
+ head($buf);
+ Main($buf);
+ foot($buf);
+
+ $hp = fopen ($html_file,"w");
+ flock($hp,2);
+ fputs($hp, $buf);
+ fclose($hp);
+
+ include("$html_file");
+ exit;
+}
+function error($mes){ //�ソスG�ソス�ソス�ソス[�ソスt�ソスH�ソス[�ソス}�ソスb�ソスg
+ ?>
+
+
+
+
+ echo $mes; ?>
+
+
+ exit;
+}
+/*======Main======*/
+ switch($mode):
+ case 'regist':
+ regist();
+ if($HTML) MakeHtml();
+ echo '';
+ break;
+ case 'admin':
+ admin();
+ break;
+ case 'usrdel':
+ usrdel();
+ if($HTML) MakeHtml();
+ break;
+ default:
+ head($buf);
+ Main($buf);
+ foot($buf);
+ echo $buf;
+ break;
+ endswitch;
+?>
\ No newline at end of file
diff --git a/gazou-v3.0.zip b/gazou-v3.0.zip
deleted file mode 100644
index 44e0686..0000000
Binary files a/gazou-v3.0.zip and /dev/null differ
diff --git a/gazou-v3.0/gazou.php b/gazou-v3.0/gazou.php
new file mode 100644
index 0000000..5c954e0
--- /dev/null
+++ b/gazou-v3.0/gazou.php
@@ -0,0 +1,464 @@
+とTOP)
+define(HOME, 'http://php.s3.to'); //「ホーム」へのリンク
+
+define(MAX_KB, '100'); //投稿容量制限 KB(phpの設定により2Mまで
+define(MAX_W, '250'); //投稿サイズ幅(これ以上はwidthを縮小
+define(MAX_H, '250'); //投稿サイズ高さ
+
+define(PAGE_DEF, '7'); //一ページに表示する記事
+define(LOG_MAX, '200'); //ログ最大行数
+
+define(ADMIN_PASS, '0123'); //管理者パス
+define(CHECK, 1); //管理者がチェックしてから画像表示?yes=1
+define(SOON_ICON, 'soon.jpg'); //チェック中の時の代替画像
+
+define(BUNRI, 0); //投稿フォームを分離する?
+
+define(PHP_SELF, $PHP_SELF); //このスクリプト名
+
+/* ヘッダ */
+function head(&$dat){
+ $dat.='
+
+
+
+'.TITLE.'
+
+
+[ホーム]
+[管理用]
+
+
+'.TITLE.'
+
+';
+}
+/* 投稿フォーム */
+function form(&$dat,$admin=""){
+ $maxbyte = MAX_KB * 1024;
+ if($admin){
+ $hidden = "";
+ $msg = "タグがつかえます
";
+ }
+ $dat.='
+'.$msg.'
+
+
+ ';
+}
+/* 記事部分 */
+function main(&$dat, $page){
+ $line = file(LOGFILE);
+ $st = ($page) ? $page : 0;
+
+ for($i = $st; $i < $st+PAGE_DEF; $i++){
+ if($line[$i]=="") continue;
+ list($no,$now,$name,$email,$sub,$com,$url,
+ $host,$pwd,$ext,$w,$h,$time,$chk) = explode(",", $line[$i]);
+ // URLとメールにリンク
+ if($url) $url = "Link";
+ if($email) $name = "$name";
+ $com = eregi_replace("(^|/>)(>[^<]*)", "\\1\\2", $com);
+ // 画像ファイル名
+ $img = PATH.$time.$ext;
+/* 自由に変更してください["]=[\"]に */
+ //
";
+ }elseif($w && $h){//サイズがある時
+ $imgsrc = "
";
+ }else{//それ以外
+ $imgsrc = "
";
+ }
+ }
+ // メイン作成
+ $dat.="No.$no $sub
";
+ $dat.="Name $name Date $now $url";
+ $dat.="$imgsrc $com
\n";
+
+ $p++;
+ clearstatcache();//ファイルのstatをクリア
+ }
+ $prev = $st - PAGE_DEF;
+ $next = $st + PAGE_DEF;
+ // 改ページ処理
+ $dat.="\n";
+}
+/* フッタ */
+function foot(&$dat){
+ $dat.='
+
+
+- GazouBBS -
+
+
+ ';
+}
+/* 記事書き込み */
+function regist($name,$email,$sub,$com,$url,$pwd,$upfile,$upfile_name){
+ global $REQUEST_METHOD;
+
+ if($REQUEST_METHOD != "POST") error("不正な投稿をしないで下さい");
+ // フォーム内容をチェック
+ if(!$name||ereg("^[ | |]*$",$name)) error("名前が書き込まれていません");
+ if(!$com||ereg("^[ | |\t]*$",$com)) error("本文が書き込まれていません");
+ if(!$sub||ereg("^[ | |]*$",$sub)) $sub="(無題)";
+ if(strlen($com) > 1000) error("本文が長すぎますっ!");
+
+ $line = file(LOGFILE);
+ // 時間とホスト取得
+ $tim = time();
+ $host = gethostbyaddr(getenv("REMOTE_ADDR"));
+ // 連続投稿チェック
+ list($lastno,,$lname,,,$lcom,,$lhost,,,,,$ltime,) = explode(",", $line[0]);
+ if(RENZOKU && $host == $lhost && $tim - $ltime < RENZOKU)
+ error("連続投稿はもうしばらく時間を置いてからお願い致します");
+ // No.とパスと時間とURLフォーマット
+ $no = $lastno + 1;
+ $pass = ($pwd) ? substr(md5($pwd),2,8) : "*";
+ $now = gmdate("Y/m/d(D) H:i",$tim+9*60*60);
+ $url = ereg_replace("^http://", "", $url);
+ //テキスト整形
+ $name = CleanStr($name);
+ $email= CleanStr($email);
+ $sub = CleanStr($sub);
+ $url = CleanStr($url);
+ $com = CleanStr($com);
+ // 改行文字の統一。
+ $com = str_replace( "\r\n", "\n", $com);
+ $com = str_replace( "\r", "\n", $com);
+ // 連続する空行を一行
+ $com = ereg_replace("\n(( | )*\n){3,}","\n",$com);
+ $com = nl2br($com); //改行文字の前に
を代入する
+ $com = str_replace("\n", "", $com); //\nを文字列から消す。
+ // 二重投稿チェック
+ if($name == $lname && $com == $lcom)
+ error("二重投稿は禁止です
リロード");
+ // ログ行数オーバー
+ if(count($line) >= LOG_MAX){
+ for($d = count($line)-1; $d >= LOG_MAX-1; $d--){
+ list($dno,,,,,,,,,$ext,,,$dtime,) = explode(",", $line[$d]);
+ if(is_file(PATH.$dtime.$ext)) unlink(PATH.$dtime.$ext);
+ $line[$d] = "";
+ }
+ }
+ // アップロード処理
+ if($upfile != "none"){
+ $dest = PATH.$upfile_name;
+ copy($upfile, $dest);
+ if(!is_file($dest)) error("アップロードに失敗しました。サーバがサポートしていない可能性があります");
+ $size = getimagesize($dest);
+ $W = $size[0];
+ $H = $size[1];
+ rename($dest,$tim.$size[2]);
+ // 画像表示縮小
+ if($W > Max_W || $H > Max_H){
+ $W2 = Max_W / $W;
+ $H2 = Max_H / $H;
+
+ ($W2 < $H2) ? $key = $W2 : $key = $H2;
+
+ $W = $W * $key;
+ $H = $H * $key;
+ }
+ $mes = "画像 $upfile_name のアップロードが成功しました
";
+ }
+ $chk = (CHECK) ? 0 : 1;//未チェックは0
+
+ $newline = "$no,$now,$name,$email,$sub,$com,$url,$host,$pass,.$size[2],$W,$H,$tim,$chk,\n";
+
+ $fp = fopen(LOGFILE, "w");
+ flock($fp, 2);
+ fputs($fp, $newline);
+ fputs($fp, implode('', $line));
+ fclose($fp);
+
+ echo "$msg 画面を切り替えます";
+ echo "";
+}
+/* テキスト整形 */
+function CleanStr($str){
+ global $admin;
+
+ $str = trim($str);//先頭と末尾の空白除去
+ if (get_magic_quotes_gpc()) {//¥を削除
+ $str = stripslashes($str);
+ }
+ if($admin!=ADMIN_PASS){//管理者はタグ可能
+ $str = htmlspecialchars($str, ENT_QUOTES, 'Shift_JIS');//タグっ禁止
+ $str = str_replace("&", "&", $str);//特殊文字
+ }
+ return str_replace(",", ",", $str);//カンマを変換
+}
+/* ユーザー削除 */
+function usrdel($no,$pwd){
+ if($no == "" || $pwd == "") error("削除Noまたはパスワードが入力漏れです");
+
+ $line = file(LOGFILE);
+ $flag = FALSE;
+
+ for($i = 0; $i掲示板に戻る]\n";
+ echo "| \n";
+ echo "管理モード\n";
+ echo " |
|---|
\n";
+ echo "\n";
+ die("