Translate application to Korean and convert encodings to UTF-8
This commit is contained in:
Regular → Executable
+287
-305
@@ -1,305 +1,287 @@
|
||||
#-----------------------------------------------------------#
|
||||
# 罪と罰++ 二律背反 #
|
||||
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
|
||||
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
|
||||
# BLANK BOARD [ http://pom.to/ ] #
|
||||
#-----------------------------------------------------------#
|
||||
# 各種掲示板共通設定 Version 1.1
|
||||
#--- [注意事項] --------------------------------------------#
|
||||
# 1.このスクリプトは以下の利用規程に従って配布しています。 #
|
||||
# http://www24.big.or.jp/~obo/game/ore_/gild/ #
|
||||
#-----------------------------------------------------------#
|
||||
|
||||
#===============================================================================
|
||||
# 各種掲示板共通設定項目
|
||||
|
||||
require './jcode.pl'; # jcode.plのパス
|
||||
|
||||
$ore_game = './ore_.cgi'; # 罪と罰++本体のパス
|
||||
$index = './index.cgi'; # 罪と罰++トップページ
|
||||
$usrdata = "./usrdata/"; # キャラデータ格納ディレクトリ。
|
||||
|
||||
$no_window = 1; # 現状維持・拘束時間以外の他窓禁止(0:なし 1:あり)[負荷対策]
|
||||
|
||||
# 各国設定情報
|
||||
@camp_info =( ['無所属', '#eeeeee'],
|
||||
['アルメリア王国', '#ee9999'],
|
||||
['フラリン教国', '#00eeee'],
|
||||
['イギス連合国', '#88ee88'],
|
||||
['ソーディナ帝国', '#ffccff'],
|
||||
['ヤマト神国', '#55bbff']);
|
||||
|
||||
# 称号
|
||||
@sogo_p =('----','覇者','英雄','借金王','鬼畜',' ',' ',' ',' ',' ','管理人');
|
||||
|
||||
# デバックモード
|
||||
# なし:PC・モバイル両対応
|
||||
# pc :PC限定モード(モバイル非対応)
|
||||
# mv :モバイル固定モード(PC上でモバイル画面をエミュレート表示)
|
||||
$mv_mode = '';
|
||||
|
||||
# 機種別設定
|
||||
if( $ENV{'HTTP_USER_AGENT'}=~/DoCoMo/ ||
|
||||
$ENV{'HTTP_USER_AGENT'}=~/UP\.Browser/ ||
|
||||
$ENV{'HTTP_USER_AGENT'}=~/J-PHONE/ ||
|
||||
$ENV{'HTTP_USER_AGENT'}=~/ASTEL/ ||
|
||||
$ENV{'HTTP_X_JPHONE_MSNAME'} || $mv_mode eq 'mv'){
|
||||
|
||||
$mv_mode= 'mv'; # モバイル用フラグ(変更不可)
|
||||
$method = "GET"; # フォームメソッド(モバイル)
|
||||
}else{
|
||||
|
||||
$mv_mode= 'pc'; # PC用フラグ(変更不可)
|
||||
$method = "POST"; # フォームメソッド(PC)
|
||||
|
||||
# スタイルシート
|
||||
$css =<<EOM;
|
||||
<style type="text/css">
|
||||
<!--
|
||||
.button1{
|
||||
font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #bbbbcc;
|
||||
border: 2px #9999cc ridge; cursor: hand; background-color: #333366;
|
||||
}
|
||||
body { font-size: 12pt;}
|
||||
.mem { font-size: 10pt; color:#ddddee}
|
||||
.date { font-size: 10pt; color:#dddddd}
|
||||
.f1{font-size:16pt; font-family:'Symbol','Palatino'; color:#ff99cc;}
|
||||
-->
|
||||
</style>
|
||||
EOM
|
||||
|
||||
}
|
||||
|
||||
# ホスト名取得モード
|
||||
# --> 0 : $ENV{'REMOTE_HOST'} で取得できる場合
|
||||
# --> 1 : gethostbyaddr で取得できる場合
|
||||
$get_remotehost = 1;
|
||||
|
||||
# 他サイトから投稿排除時に指定 (http://から書く)
|
||||
$base_url = "";
|
||||
|
||||
# アクセス制限(ホスト名もしくはIPアドレスを記述)
|
||||
@deny = (
|
||||
"anonymizer.com",
|
||||
"cache*.*.interlog.com",
|
||||
"",
|
||||
""
|
||||
);
|
||||
|
||||
|
||||
#===============================================================================
|
||||
# 以下処理 基本的にこれ以下はいじらないように。
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 参加者データ個別読み込み
|
||||
sub mandata_open{
|
||||
|
||||
open(IN,"$usrdata$id\.cgi") || &error("Open Error : $usrdata$id\.cgi");
|
||||
$dat = <IN>;
|
||||
close(IN);
|
||||
|
||||
%DAT = '';
|
||||
my @prats = split(/,/,$dat);
|
||||
foreach (0 .. $#prats){
|
||||
my($key,$v) = split(/;/,$prats[$_]);
|
||||
$DAT{$key} = $v;
|
||||
}
|
||||
|
||||
if($pw ne $DAT{'pw'}){ &error("パスワードが間違ってます"); }
|
||||
|
||||
if($no_window){
|
||||
&error("現在のイベントを終了してからご利用ください。") if($DAT{'pr'}<=0 && $DAT{'type'});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# デコード処理
|
||||
sub decode {
|
||||
local($buffer, @pairs, $name, $value);
|
||||
$post_flag=0;
|
||||
if($ENV{'REQUEST_METHOD'} eq "POST"){
|
||||
$post_flag=1;
|
||||
&error("投稿量が大きすぎます") if($ENV{'CONTENT_LENGTH'}>8192);
|
||||
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
|
||||
}else{
|
||||
$buffer = $ENV{'QUERY_STRING'};
|
||||
&error("投稿量が大きすぎます") if(length($buffer)>7500)
|
||||
}
|
||||
@pairs = split(/&/, $buffer);
|
||||
foreach (@pairs) {
|
||||
($name,$value) = split(/=/);
|
||||
$value =~ tr/+/ /;
|
||||
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
|
||||
|
||||
# 文字コードをシフトJIS変換
|
||||
&jcode'convert(*value, "sjis", "", "z");
|
||||
|
||||
$value =~ s/\&/&\;/g;
|
||||
$value =~ s/\;/;\;/g;
|
||||
$value =~ s/\,/,\;/g;
|
||||
|
||||
# タグ処理
|
||||
if ($tagkey) {
|
||||
$value =~ s/<!--(.|\n)*-->//g;
|
||||
$value =~ s/<>/<>/g;
|
||||
} else {
|
||||
$value =~ s/</</g;
|
||||
$value =~ s/>/>/g;
|
||||
$value =~ s/\"/"/g;
|
||||
}
|
||||
|
||||
# 改行等処理
|
||||
if ($name eq "comment" && $br_mode) {
|
||||
$value =~ s/\r\n/<br>/g;
|
||||
$value =~ s/\r/<br>/g;
|
||||
$value =~ s/\n/<br>/g;
|
||||
} else {
|
||||
$value =~ s/\r//g;
|
||||
$value =~ s/\n//g;
|
||||
}
|
||||
|
||||
# 荒らし処理 1
|
||||
$value =~ s/(<br>){4,}//g;
|
||||
$value =~ s/( | ){6,}//g;
|
||||
|
||||
# 記号置換え
|
||||
$value =~ s/\///\;/g;
|
||||
$value =~ s/\./.\;/g;
|
||||
$value =~ s/cgi/c\;g\;i\;/g;
|
||||
|
||||
$in{$name} = $value;
|
||||
}
|
||||
|
||||
&no_link($in{'comment'}) if($nolink);
|
||||
|
||||
$com = $in{'comment'}; if(length($in{'comment'})>$com_limit) { &error("文字数エラーです 1"); }
|
||||
$mode = $in{'mode'}; if(length($in{'mode'})>10) { &error("文字数エラーです 2"); }
|
||||
$pw = $in{'pw'}; if(length($in{'pw'})>8 || !$in{'pw'}) { &error("文字数エラーです 3"); }
|
||||
$id = $in{'id'}; if(length($in{'id'})>24 || !$in{'id'}) { &error("文字数エラーです 4"); }
|
||||
$ids = $in{'ids'}; if(length($in{'ids'})>12) { &error("文字数エラーです 5"); }
|
||||
$rd = $in{'rd'}; if(length($in{'rd'})>1) { &error("文字数エラーです 6"); }
|
||||
|
||||
if ($base_url) {
|
||||
$ref_url = $ENV{'HTTP_REFERER'};
|
||||
$ref_url =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
|
||||
if ($ref_url !~ /$base_url/i) { &error("不正なアクセスです"); }
|
||||
}
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# エラー処理
|
||||
sub error {
|
||||
if (-e $lockfile) { unlink($lockfile); }
|
||||
|
||||
&header(1);
|
||||
print "<center><hr width='75%'><P><h3>ERROR !</h3>\n";
|
||||
print "<P><font color=red><B>$_[0]</B></font>\n";
|
||||
print "<P><hr width='75%'></center>\n";
|
||||
©right;
|
||||
exit;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# ロックファイルの生成
|
||||
sub lock {
|
||||
local($lflag) = 0;
|
||||
foreach (1 .. 5) {
|
||||
if (-e $lockfile) { sleep(1); }
|
||||
else {
|
||||
open(LOCK,">$lockfile") || &error("Can't create $lockfile");
|
||||
close(LOCK);
|
||||
$lflag = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
if ($lflag == 0) { &error("LOCK is BUSY"); }
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# アクセスチェック(アクセス拒否)
|
||||
sub axs_check {
|
||||
&get_host;
|
||||
|
||||
local($flag)=0;
|
||||
foreach (@deny) {
|
||||
if (!$_) { next; }
|
||||
$_ =~ s/\*/\.\*/g;
|
||||
if ($host =~ /$_/i || $addr =~ /$_/i) { $flag=1; last; }
|
||||
}
|
||||
if ($flag) { &error("アクセスを許可されていません"); }
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# ホスト情報取得
|
||||
sub get_host {
|
||||
$host = $ENV{'REMOTE_HOST'};
|
||||
$addr = $ENV{'REMOTE_ADDR'};
|
||||
$agent = $ENV{'HTTP_USER_AGENT'};
|
||||
|
||||
if ($get_remotehost) {
|
||||
if ($host eq "" || $host eq "$addr") {
|
||||
$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2);
|
||||
}
|
||||
}
|
||||
if ($host eq "") { $host = $addr; }
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 時間取得
|
||||
sub get_time {
|
||||
$time = time;
|
||||
($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime($time);
|
||||
$hour= "0$hour" if($hour<10);
|
||||
$min = "0$min" if($min<10);
|
||||
$sec = "0$sec" if($sec<10);
|
||||
$month++;
|
||||
$month = "0$month" if(month<10);
|
||||
@week=('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
|
||||
$date = "$month/$mday($week[$wday]) $hour:$min";
|
||||
srand($time);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# プレイ規制
|
||||
sub safetime {
|
||||
foreach (0 .. $#safetime){
|
||||
&error("プレイ規制時間中です。暫くお待ち下さい。") if $hour eq $safetime[$_];
|
||||
}
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# URL排除
|
||||
sub no_link {
|
||||
$_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]+)/$1<!-- $2 -->/g;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 削除変更不可 必ず表示すること
|
||||
#著作権表示(削除・変更不可)
|
||||
sub copyright{
|
||||
if($mv_mode eq 'mv'){
|
||||
print <<"EOM";
|
||||
<br><hr color="white">
|
||||
過去の栄光 $ver<br>
|
||||
<a href="http://pom.to/" target="_blank">BLANK BOARD[ねっと遊園地♪]</a>
|
||||
</body>
|
||||
</html>
|
||||
EOM
|
||||
}else{
|
||||
print <<"EOM";
|
||||
<div align="right" style="font-size:12px">
|
||||
$ver<br>
|
||||
<a href="http://www17.big.or.jp/~obochan/vivid/" target="_blank" style="font-size:13px">Vivid Studio.</a><br>
|
||||
<a href="http://pom.to/" target="_blank" style="font-size:11px">BLANK BOARD[ねっと遊園地♪]</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
EOM
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
1;#削除不可
|
||||
$index = './index.cgi'; # 죄와 벌++ 탑 페이지
|
||||
$usrdata = "./usrdata/"; # 캐릭터 데이터 보관 디렉터리.
|
||||
|
||||
$no_window = 1; # 현상유지·구속시간 이외의 다른 창 금지(0:없음 1:있음)[부하 방지 대책]
|
||||
|
||||
# 각국 설정 정보
|
||||
@camp_info =( ['무소속', '#eeeeee'],
|
||||
['알메리아 왕국', '#ee9999'],
|
||||
['플라린 교국', '#00eeee'],
|
||||
['이기스 연합국', '#88ee88'],
|
||||
['소디나 제국', '#ffccff'],
|
||||
['야마토 신국', '#55bbff']);
|
||||
|
||||
# 칭호
|
||||
@sogo_p =('----','패자','영웅','빚쟁이 왕','귀축',' ',' ',' ',' ',' ','관리자');
|
||||
|
||||
# 디버그 모드
|
||||
# 없음: PC·모바일 양쪽 대응
|
||||
# pc : PC 한정 모드(모바일 미대응)
|
||||
# mv : 모바일 고정 모드(PC상에서 모바일 화면을 에뮬레이트 표시)
|
||||
$mv_mode = '';
|
||||
|
||||
# 기기별 설정
|
||||
if( $ENV{'HTTP_USER_AGENT'}=~/DoCoMo/ ||
|
||||
$ENV{'HTTP_USER_AGENT'}=~/UP\.Browser/ ||
|
||||
$ENV{'HTTP_USER_AGENT'}=~/J-PHONE/ ||
|
||||
$ENV{'HTTP_USER_AGENT'}=~/ASTEL/ ||
|
||||
$ENV{'HTTP_X_JPHONE_MSNAME'} || $mv_mode eq 'mv'){
|
||||
|
||||
$mv_mode= 'mv'; # 모바일용 플래그(변경 불가)
|
||||
$method = "GET"; # 폼 메서드(모바일)
|
||||
}else{
|
||||
|
||||
$mv_mode= 'pc'; # PC용 플래그(변경 불가)
|
||||
$method = "POST"; # 폼 메서드(PC)
|
||||
|
||||
# 스타일 시트
|
||||
$css =<<EOM;
|
||||
<style type="text/css">
|
||||
<!--
|
||||
.button1{
|
||||
font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #bbbbcc;
|
||||
border: 2px #9999cc ridge; cursor: hand; background-color: #333366;
|
||||
}
|
||||
body { font-size: 12pt;}
|
||||
.mem { font-size: 10pt; color:#ddddee}
|
||||
.date { font-size: 10pt; color:#dddddd}
|
||||
.f1{font-size:16pt; font-family:'Symbol','Palatino'; color:#ff99cc;}
|
||||
-->
|
||||
</style>
|
||||
EOM
|
||||
|
||||
}
|
||||
|
||||
# 호スト名取得モード
|
||||
# --> 0 : $ENV{'REMOTE_HOST'} で取得できる場合
|
||||
# --> 1 : gethostbyaddr で取得できる場合
|
||||
$get_remotehost = 1;
|
||||
|
||||
# 다른 사이트로부터의 투고 배제 시에 지정 (http://부터 작성)
|
||||
$base_url = "";
|
||||
|
||||
# 액세스 제한(호스트명 또는 IP 주소 기술)
|
||||
@deny = (
|
||||
"anonymizer.com",
|
||||
"cache*.*.interlog.com",
|
||||
"",
|
||||
""
|
||||
);
|
||||
|
||||
|
||||
#===============================================================================
|
||||
# 이하 처리 기본적으로 이 이하는 수정하지 않도록.
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 참가자 데이터 개별 읽기
|
||||
sub mandata_open{
|
||||
|
||||
open(IN,"$usrdata$id\.cgi") || &error("Open Error : $usrdata$id\.cgi");
|
||||
$dat = <IN>;
|
||||
close(IN);
|
||||
|
||||
%DAT = '';
|
||||
my @prats = split(/,/,$dat);
|
||||
foreach (0 .. $#prats){
|
||||
my($key,$v) = split(/;/,$prats[$_]);
|
||||
$DAT{$key} = $v;
|
||||
}
|
||||
|
||||
if($pw ne $DAT{'pw'}){ &error("비밀번호가 틀렸습니다"); }
|
||||
|
||||
if($no_window){
|
||||
&error("현재 이벤트를 종료한 후에 이용해 주십시오.") if($DAT{'pr'}<=0 && $DAT{'type'});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 디코드 처리
|
||||
sub decode {
|
||||
local($buffer, @pairs, $name, $value);
|
||||
$post_flag=0;
|
||||
if($ENV{'REQUEST_METHOD'} eq "POST"){
|
||||
$post_flag=1;
|
||||
&error("투고량이 너무 많습니다") if($ENV{'CONTENT_LENGTH'}>8192);
|
||||
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
|
||||
}else{
|
||||
$buffer = $ENV{'QUERY_STRING'};
|
||||
&error("투고량이 너무 많습니다") if(length($buffer)>7500)
|
||||
}
|
||||
@pairs = split(/&/, $buffer);
|
||||
foreach (@pairs) {
|
||||
($name,$value) = split(/=/);
|
||||
$value =~ tr/+/ /;
|
||||
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
|
||||
|
||||
# 문자 코드를 Shift_JIS 변환
|
||||
# &jcode'convert(*value, "sjis", "", "z");
|
||||
|
||||
$value =~ s/\&/&\;/g;
|
||||
$value =~ s/\;/;\;/g;
|
||||
$value =~ s/\,/,\;/g;
|
||||
|
||||
# 태그 처리
|
||||
if ($tagkey) {
|
||||
$value =~ s/<!--(.|\n)*-->//g;
|
||||
$value =~ s/<>/<>/g;
|
||||
} else {
|
||||
$value =~ s/</</g;
|
||||
$value =~ s/>/>/g;
|
||||
$value =~ s/\"/"/g;
|
||||
}
|
||||
|
||||
# 개행 등 처리
|
||||
if ($name eq "comment" && $br_mode) {
|
||||
$value =~ s/\r\n/<br>/g;
|
||||
$value =~ s/\r/<br>/g;
|
||||
$value =~ s/\n/<br>/g;
|
||||
} else {
|
||||
$value =~ s/\r//g;
|
||||
$value =~ s/\n//g;
|
||||
}
|
||||
|
||||
# 도배 처리 1
|
||||
$value =~ s/(<br>){4,}//g;
|
||||
$value =~ s/( | ){6,}//g;
|
||||
|
||||
# 기호 교체
|
||||
$value =~ s/\///\;/g;
|
||||
$value =~ s/\./.\;/g;
|
||||
$value =~ s/cgi/c\;g\;i\;/g;
|
||||
|
||||
$in{$name} = $value;
|
||||
}
|
||||
|
||||
&no_link($in{'comment'}) if($nolink);
|
||||
|
||||
$com = $in{'comment'}; if(length($in{'comment'})>$com_limit) { &error("글자 수 에러입니다 1"); }
|
||||
$mode = $in{'mode'}; if(length($in{'mode'})>10) { &error("글자 수 에러입니다 2"); }
|
||||
$pw = $in{'pw'}; if(length($in{'pw'})>8 || !$in{'pw'}) { &error("글자 수 에러입니다 3"); }
|
||||
$id = $in{'id'}; if(length($in{'id'})>24 || !$in{'id'}) { &error("글자 수 에러입니다 4"); }
|
||||
$ids = $in{'ids'}; if(length($in{'ids'})>12) { &error("글자 수 에러입니다 5"); }
|
||||
$rd = $in{'rd'}; if(length($in{'rd'})>1) { &error("글자 수 에러입니다 6"); }
|
||||
|
||||
if ($base_url) {
|
||||
$ref_url = $ENV{'HTTP_REFERER'};
|
||||
$ref_url =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
|
||||
if ($ref_url !~ /$base_url/i) { &error("잘못된 접근입니다"); }
|
||||
}
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 에러 처리
|
||||
sub error {
|
||||
if (-e $lockfile) { unlink($lockfile); }
|
||||
|
||||
&header(1);
|
||||
print "<center><hr width='75%'><P><h3>ERROR !</h3>\n";
|
||||
print "<P><font color=red><B>$_[0]</B></font>\n";
|
||||
print "<P><hr width='75%'></center>\n";
|
||||
©right;
|
||||
exit;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 락 파일 생성
|
||||
sub lock {
|
||||
local($lflag) = 0;
|
||||
foreach (1 .. 5) {
|
||||
if (-e $lockfile) { sleep(1); }
|
||||
else {
|
||||
open(LOCK,">$lockfile") || &error("Can't create $lockfile");
|
||||
close(LOCK);
|
||||
$lflag = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
if ($lflag == 0) { &error("LOCK is BUSY"); }
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 액세스 체크(액세스 거부)
|
||||
sub axs_check {
|
||||
&get_host;
|
||||
|
||||
local($flag)=0;
|
||||
foreach (@deny) {
|
||||
if (!$_) { next; }
|
||||
$_ =~ s/\*/\.\*/g;
|
||||
if ($host =~ /$_/i || $addr =~ /$_/i) { $flag=1; last; }
|
||||
}
|
||||
if ($flag) { &error("액세스가 허용되지 않았습니다"); }
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 호스트 정보 취득
|
||||
sub get_host {
|
||||
$host = $ENV{'REMOTE_HOST'};
|
||||
$addr = $ENV{'REMOTE_ADDR'};
|
||||
$agent = $ENV{'HTTP_USER_AGENT'};
|
||||
|
||||
if ($get_remotehost) {
|
||||
if ($host eq "" || $host eq "$addr") {
|
||||
$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2);
|
||||
}
|
||||
}
|
||||
if ($host eq "") { $host = $addr; }
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 시간 취득
|
||||
sub get_time {
|
||||
$time = time;
|
||||
($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime($time);
|
||||
$hour= "0$hour" if($hour<10);
|
||||
$min = "0$min" if($min<10);
|
||||
$sec = "0$sec" if($sec<10);
|
||||
$month++;
|
||||
$month = "0$month" if(month<10);
|
||||
@week=('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
|
||||
$date = "$month/$mday($week[$wday]) $hour:$min";
|
||||
srand($time);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 플레이 규제
|
||||
sub safetime {
|
||||
foreach (0 .. $#safetime){
|
||||
&error("플레이 규제 시간 중입니다. 잠시만 기다려 주십시오.") if $hour eq $safetime[$_];
|
||||
}
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# URL 배제
|
||||
sub no_link {
|
||||
$_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]+)/$1<!-- $2 -->/g;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 삭제/변경 불가 반드시 표시할 것
|
||||
# 저작권 표시(삭제/변경 불가)
|
||||
sub copyright{
|
||||
if($mv_mode eq 'mv'){
|
||||
print <<"EOM";
|
||||
<br><hr color="white">
|
||||
과거의 영광 $ver<br>
|
||||
<a href="http://pom.to/" target="_blank">BLANK BOARD[인터넷 유원지♪]</a>
|
||||
</body>
|
||||
</html>
|
||||
EOM
|
||||
}else{
|
||||
print <<"EOM";
|
||||
<div align="right" style="font-size:12px">
|
||||
$ver<br>
|
||||
<a href="http://www17.big.or.jp/~obochan/vivid/" target="_blank" style="font-size:13px">Vivid Studio.</a><br>
|
||||
<a href="http://pom.to/" target="_blank" style="font-size:11px">BLANK BOARD[인터넷 유원지♪]</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
EOM
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
1;#삭제 불가
|
||||
|
||||
Reference in New Issue
Block a user