#! /bin/tcsh -f
#
#	メッセージツールをダウンロード
#
#
#	receive.sh [-meABCcsn]
#
#	-m : メッセージ用 (default)
#	-e : エフェクト用
#
#	-A : 6102 用 (default)
#	-B : 6105 用 
#	-C : 6102, 6105 両方用
#
#	-c : convert.sh 実行
#
#	-s : SRD 用 (default)
#	-n : 情報開発用
#

###### Option Flag
@ flag_eff = 0
@ flag_mask = 0
@ flag_conv = 0
@ flag_host = 0

###### 転送元ディレクトリ設定
switch ($1)
case -*n* :
#    set DIR_Msg=/hosts/srd-server/home/mnt01/srd00/srd/FOREST/message_msg
#    set DIR_Tool=/hosts/srd-server/home/mnt01/srd00/srd/FOREST/message_tool
    set DIR_Msg=/hosts/srd-server/home/forest/FOREST/message_msg
    set DIR_Tool=/hosts/srd-server/home/forest/FOREST/message_tool
    breaksw
default :
#    set DIR_Msg=/auto/ikuiku/home/mnt01/srd00/srd/FOREST/message_msg
#    set DIR_Tool=/auto/ikuiku/home/mnt01/srd00/srd/FOREST/message_tool
    set DIR_Msg=/auto/ikuiku/home/forest/FOREST/message_msg
    set DIR_Tool=/auto/ikuiku/home/forest/FOREST/message_tool
    breaksw
endsw

###### ネットワーク接続の確認。
echo ""
echo "ネットワークの接続を確認しています。"

@ flag_net_err = 0

set NET_CHECK="$DIR_Msg $DIR_Tool"

foreach dir ($NET_CHECK)
    if (! -d $dir) then
	echo $dir
	@ flag_net_err = 1
    endif
end
if ($flag_net_err != 0) then
    echo "↑繋がりません！！"
    goto errors
endif


###### 更新中確認
if (-e $DIR_Tool/msg_update_now) then
    echo "只今、メッセージツールをアップデートしています。"
    echo "暫くしてから、実行してください。"
    goto errors
endif


###### 更新日時表示
echo -n "メッセージツールのアップデート日時です。⇒ "
\tail -1 $DIR_Tool/msg_tool_version.log


###### 開始宣言
set FILE_DounLoad_def="msg_download_now_"$USER
\touch $DIR_Tool/$FILE_DounLoad_def
\chmod 666 $DIR_Tool/$FILE_DounLoad_def

echo "メッセージツールのダウンロードを開始します。"


###### オプション設定
if ($# != 0) then
    #### (使用者の種別)
    switch ($1)
    ## メッセージ用 (default)
    case -*m* :
	@ flag_eff = 0
	breaksw
	
    ## エフェクト用
    case -*e* :
	@ flag_eff = 1
	breaksw

    ##
    default :
	breaksw
    endsw
	
    #### (makemask の方法)
    switch ($1)
    ## 6102 用 (default)
    case -*A* :
	@ flag_mask = 0
	breaksw

    ## 6105 用 
    case -*B* :
	@ flag_mask = 1
	breaksw

    ## 6102, 6105 両方用
    case -*C* :
	@ flag_mask = 2
	breaksw

	##
    default :
	breaksw
    endsw

    #### (convert.sh 実行する、しない。)
    switch ($1)
    ## 実行する
    case -*c* :
	@ flag_conv = 1
	breaksw

    ##
    default :
	breaksw
    endsw

    #### (ユーザの環境種別)
    switch ($1)
    ## SRD (default)
    case -*s* :
	@ flag_host = 0
	breaksw

    ## 情報開発
    case -*n* :
	@ flag_host = 1
	breaksw

    ##
    default :
	breaksw
    endsw
##		echo "オプション設定に誤りがあります。"
##		goto errors
endif


###### 各種データコピー
# <load shell>
switch ($flag_mask)
case 1 :
    \cp $DIR_Tool/tool_load6105.sh tool_load.sh
    breaksw
case 2 :
    \cp $DIR_Tool/tool_load6105.sh .
    \cp $DIR_Tool/tool_load6102.sh .
    breaksw
default :
    \cp $DIR_Tool/tool_load6102.sh tool_load.sh
    breaksw
endsw

# <>
echo "p.1"
\cp $DIR_Tool/rom .
echo "p.2"
\cp $DIR_Tool/convert.sh .
\cp $DIR_Tool/convert.decl .
\cp $DIR_Tool/select.decl .
\cp $DIR_Tool/string.decl .
\cp $DIR_Tool/mail.decl .
\cp $DIR_Tool/test.msg .
\cp $DIR_Tool/test.mail .
\cp $DIR_Tool/test.super .
\cp $DIR_Tool/test.ps .
\cp $DIR_Tool/test.string .
\cp $DIR_Tool/tool.ps .
\cp $DIR_Tool/tool.super .
\cp $DIR_Tool/tool.mail .
\cp $DIR_Tool/tool.string .
\cp $DIR_Msg/*.string .
\cp $DIR_Msg/*.super .
\cp $DIR_Msg/*.ps .
\cp $DIR_Msg/*.mail .
echo "p.3"
foreach label ($DIR_Msg/*.msg)
    \cp $label .
end
echo "p.4"

# <情開環境は コンバータを 受信する>
if ($flag_host != 0) then
    \cp $DIR_Tool/forest_m .
    \cp $DIR_Tool/nkf .
endif
echo "p.5"

# <ツール用メッセージ>
if ($flag_eff == 0) then
    \cp $DIR_Tool/tool.msg .
else
    \cp $DIR_Tool/tool_eff.msg .
endif
echo "p.6"

# <コンバータの実行>
if ($flag_conv) then
    echo "convert.sh を実行します。"
    convert.sh
endif
echo "p.7"

###### 終了宣言
\rm -f $DIR_Tool/$FILE_DounLoad_def
echo "終了しました。"
exit 0


###### エラー処置
errors:
echo "メッセージツールのダウンロードを中止します。"
exit 1
