#!/usr/local/bin/perl
# ************** forAU.cgi (2007.9.2)*************
# 着メロ・着歌など、携帯端末にダウンロードさせる時に、
# auの携帯端末用のダウンロードタグを書き出して、au用のダウンロードページを
# 一時的に作成するためのCGIです。
# このCGIを他のHTMLなどから呼び出すためには、
#
# <A HREF="…html等からのパス/forAU.cgi?f=ファイル名&n=曲名&m=戻りリンク">曲名</A>
#
# など、3つの引数を使用します。尚、戻りリンク([戻る])が不要な場合は、'&m=戻りリンク'は
# 使わずに、2つの引数のみ指定してください。
#
# 配布元:とまての実験室内、とまて週報20070728号
# http://www3.kcn.ne.jp/~tomate/shuho2007/20070728.html
#
$me="forAU.cgi";
#*******************設定項目*********************
# すでに入力されている例を参考に設定してください
#************************************************
# jcode.plを組み込む必要があります。PATHは、設置の環境により指定します。
require '../lib/jcode.pl';
# サイト共有の戻りページのディレクトリ等(戻りページパスの左側の共有部分を指定する);
$m_path='../html/';
# サイト共有の着メロ・着歌置き場(cgiからの相対アドレスで)
$path='../data/';
# サイト共有のmmfのdev値を指定(頭の#を外してください)
# $devchi='devm39z';# 40和音
$devchi='devmfan';# 16和音
# $devchi ='devmmf';# 4和音
# サイト共有のmime/typeを指定(.mmf → application/x-smaf )
$type='application/x-smaf';
# サイト共有のページタイトル
$p_title='着声';
# ダウンロード頁の背景色
$bgcolor='#ffffaa';
# ダウンロード頁の文字色
$text='#000088';
# ダウンロード頁のLINK済みの文字色
$link='#880000';
#************************************************
%form = &read_input('sjis');
$f = $form{'f'};
$n = $form{'n'};
$m = $form{'m'};
if($m ne ''){
$modori_link1="<br />\n<a href=\"$m_path$m\" accesskey=\"1\">\&\#xf6fb;[戻る]</a>";
$modori_link2="<BR>\n<a href=\"$m_path$m\">[戻る]</a>";
}else{
$modori_link1="";
$modori_link2="";
}
# ダウンロードファイルサイズのチェック
$fsize = -s "$path$f";
# エージェントの取得
if($agent eq ""){$agent=$ENV{'HTTP_USER_AGENT'}};
# エージェントによって表示の切り替えを行う
if(index($agent,"UP.Browser")>0 ){
$tag = <<"HIA";
<html><head><title>$p_title</title></head>
<body bgcolor="$bgcolor" text="$text" link="$link">
<center>
$n($fsize byte)<br />
をダウンロードしますか?<br /><br />
<object data="$path$f" type="$type" standby=" OK " accesskey="1">
<param name="title" value="$n" valuetype="data" />
<param name="size" value="$fsize" valuetype="data" />
<param name="disposition" value="$devchi" valuetype="data" />
</object>
$modori_link1
</center>
</body></html>
HIA
}else{
$tag = <<"HIA";
<html><head><title>$p_title</title></head>
<body bgcolor="$bgcolor" text="$text" link="$link">
<center>
$n($fsize byte)<br>
をダウンロードしますか?<br>
<A HREF="$path$f">[OK]</A>
$modori_link2
</center>
</body></html>
HIA
}
#--------------------↓ページの表示----------------------
print "Content-type: text/html\n\n";
&downloadpage;
exit();
#===================↓ここからサブルーチン=============================
sub downloadpage{
print <<"HIA1";
$tag
</BODY>
</HTML>
HIA1
}
#********************************************************************************
# “Kamitani Home Page”http://home.interlink.or.jp/~kamitani/index.cgi
# のcgi-bin抜粋を利用させていただいております
#
# read_input : フォームからのデータを分解し $form{'xxxx'} で返す。
# 引数 1: 'euc' or 'jis' or 'sjis'
#********************************************************************************
sub read_input {
$charset = $_[0];
$charset = 'euc' if ( $charset eq '' );
local ($buffer, @pairs, $pair, $name, $value, %FORM);
# Read in text
$ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/;
if($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}else{ $buffer = $ENV{'QUERY_STRING'};}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
&jcode'convert(*value, $charset);
$FORM{$name} = $value;
}
%FORM;
}
__END__